我有更新我的数据库与股票问题。我想将库存添加到清单中可用的以前的库存中,但错误说在WHERE之前检查您的mysql语法。这是我的查询。更新库存数量与上一个数量保持一致
"UPDATE tblproducts SET Quantity=Quantity+'"+txtAddQty.Text+"' WHERE ProductId='"+txtProductId.Text+"' "
我在哪里错了。帮助
我有更新我的数据库与股票问题。我想将库存添加到清单中可用的以前的库存中,但错误说在WHERE之前检查您的mysql语法。这是我的查询。更新库存数量与上一个数量保持一致
"UPDATE tblproducts SET Quantity=Quantity+'"+txtAddQty.Text+"' WHERE ProductId='"+txtProductId.Text+"' "
我在哪里错了。帮助
您串联数量和字符串(txtAddQty.Text)
"UPDATE tblproducts SET Quantity = Quantity + " + Convert.ToInt32(txtAddQty.Text) +
" WHERE ProductId='" + txtProductId.Text + "'"
注意
而不是通过字符串连接生成sql语句您应该使用parametrized sql查询。这样做可以防止一些sql注入问题。
谢谢这个为我工作.. –
恕我直言,Quantity=Quantity+'"+txtAddQty.Text+"'
将无法正常工作。
您需要删除这些'
,因为你将一个varchar添加到一个int
编辑:您还可以使用调试器来检查您的字符串的输出。
我猜“数量”是数字,所以你应该删除字符串中的撇号'
。
请不要像这样使用字符串连接生成SQL查询。使用paremeterized查询:How do I create a parameterized SQL query? Why Should I?
尝试删除单引号,因为您试图将其添加为数字。仅对字符串使用引号。
例子:
UPDATE tblproducts SET Quantity=Quantity+"+txtAddQty.Text+" WHERE ProductId='"+txtProductId.Text+"' "
你想一个'string'添加量?这似乎是错误的。我希望'数量'是某种数值。 - 另外:*请*阅读关于SQL注入攻击。你的代码是开放的。改用SQL参数。 – Corak