我在使用库存更新数据库时遇到问题。我想将库存添加到库存中可用的先前库存,但是错误说在WHERE之前检查您的mysql语法。这是我的疑问。
"UPDATE tblproducts SET Quantity=Quantity+'"+txtAddQty.Text+"' WHERE ProductId='"+txtProductId.Text+"' "
我哪里错了。帮助
答案 0 :(得分:1)
imho,Quantity=Quantity+'"+txtAddQty.Text+"'
无效。
您需要删除'
,因为您要将varchar添加到int
编辑:您还可以使用调试器来检查字符串的输出。
答案 1 :(得分:1)
我猜Quantity
是数字,因此您应该删除字符串中的撇号'
。
请不要使用字符串连接生成SQL查询。
使用参数化查询:How do I create a parameterized SQL query? Why Should I?
答案 2 :(得分:1)
您正在连接数量和字符串(txtAddQty.Text)
"UPDATE tblproducts SET Quantity = Quantity + " + Convert.ToInt32(txtAddQty.Text) +
" WHERE ProductId='" + txtProductId.Text + "'"
<强>注意强>
不是通过字符串连接制作sql语句,而应使用参数化sql查询。这样做会阻止一些sql注入问题。
答案 3 :(得分:-1)
尝试删除单引号,因为您尝试将其添加为数字。仅对字符串使用引号。
示例:
UPDATE tblproducts SET Quantity=Quantity+"+txtAddQty.Text+" WHERE ProductId='"+txtProductId.Text+"' "