我正试图将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 + "')"