插入语句显示错误“;“=”附近的语法不正确;

本文关键字:不正确 语法 语句 显示 错误 插入 | 更新日期: 2023-09-27 17:57:59

我正试图将checkboxlist的值插入到事务表中,但它向我显示了的错误

'=''附近语法不正确。

if (cblAmenity.SelectedIndex >= 0)
{
    for (int i = 0; i < cblAmenity.Items.Count; i++)
    {
        if (cblAmenity.Items[i].Selected)
        {
            ds = obj.sel("Select MAX(PropertyId) AS PrptId from tblPropertyMaster");
            string a = ds.Tables[0].Rows[0]["PrptId"].ToString();
            string nature = "Sell";
            obj.insert("insert into tblAmenityToPropertyTransaction Values (AmenityName=" + i + " , PropertyId=" + a + " , Nature='" + nature + "')");
        }
    }
}

感谢您的帮助。

插入语句显示错误“;“=”附近的语法不正确;

在sql server中插入INTO不会以这种方式工作

 INSERT INTO table VALUES(value1, value2, value3)

不是

 INSERT INTO table VALUES(field=value, field1=value1....)

但是,除此之外,请尝试始终使用参数化查询
在错误的语法中,您使用字符串串联来构建命令,但当字符串中串联的值包含无效字符(例如字符串中的单引号)时,这是Sql注入和冲突的一扇敞开的大门。

您使用了错误的INSERT语句语法,

示例插入语句

insert into table1(col1, col2)
values (val1,val2);

您的声明应该是

"insert into tblAmenityToPropertyTransaction (AmenityName,PropertyId, Nature)
Values (" + i + " ," + a + " , '" + nature + "')"

请使用参数化SQL语句

您可以使用以下代码:

Insert into tblAmenityToPropertyTransaction (AmenityName,PropertyId, Nature) Values (" + i + " ," + a + " , '" + nature + "')"