我的代码遇到了问题。我找不到解决方案。当我运行我的程序时,它总是给我一个错误
UPDATE语句中的语法错误
这是代码。
Try
cmd.Connection = conn
cmd.CommandText = "UPDATE BC_Inventory SET [Price]='" + PriceU.Text + "',[Addition]='" + AddU.Text + "'," + _
"[Date_Updated]='" + DateU.Text + "',[Time_Updated]='" + TimeU.Text + "',[Updated_By]='" + UpdatedBy.Text + "'," + _
"WHERE [Item]='" + com_ItemU.Text + "'"
cmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message, "Error")
Finally
conn.Close()
End Try
MsgBox("Inventory updated!")
答案 0 :(得分:0)
请尝试此代码
cmd.CommandText = "UPDATE BC_Inventory SET [Price]='" + PriceU.Text + "',[Addition]='" + AddU.Text + "'," + _
"[Date_Updated]='" + DateU.Text + "',[Time_Updated]='" + TimeU.Text + "',[Updated_By]='" + UpdatedBy.Text + "' " + _
"WHERE [Item]='" + com_ItemU.Text + "'"
答案 1 :(得分:0)
您在","
([Updated_By]
< - extra [Updated_By]='" + UpdatedBy.Text + "',"
)之后添加了额外的","
,这会产生语法错误
答案 2 :(得分:0)
在执行之前以某种方式打印您的查询,即标准调试101.
这往往会解决所有 SQL语句问题的97.2%(a)。
由此,我的意思是:
cmd.CommandText = "some hideously long and complex statement"
MessageBox (cmd.CommandText) ' Add this debug line temporarily'
cmd.ExecuteNonQuery()
在这种特殊情况下,它是where
子句之前的逗号。
(a)我刚把这个数字从以太中拉出来。 实际结果可能会有所不同,但我打赌它会修复比不更多的问题: - )