SQL UPDATE语句OleDbException

时间:2013-10-23 07:48:33

标签: vb.net ms-access-2010

当我运行程序时,它会出现以下错误

UPDATE语句中的语法错误。

以粗体显示的错误语句

If (foundItem = True) Then
    olDataConnection.Open()
olCommand = New OleDbCommand("UPDATE Stock SET Product Name=" & itemName &   "WHERE Price =" & itemprice & "'", olDataConnection)
olCommand.ExecuteNonQuery()

2 个答案:

答案 0 :(得分:0)

尝试更改

olCommand = New OleDbCommand("UPDATE Stock SET Product Name=" & itemName &   "WHERE Price =" & itemprice & "'", olDataConnection)

olCommand = New OleDbCommand("UPDATE Stock SET Product Name='" & itemName & "' WHERE Price =" & itemprice, olDataConnection)

答案 1 :(得分:0)

使用像

这样的参数化查询
olCommand = New OleDbCommand("UPDATE Stock SET Product Name= ? WHERE Price =?", olDataConnection)
olCommand.Parameters.AddWithValue("?", itemName);
olCommand.Parameters.AddWithValue("?", itemprice);

根据OleDbCommand不支持命名参数

  

因此,OleDbParameter对象添加到OleDbParameterCollection的顺序必须直接对应于命令文本中参数的问号占位符的位置。