0

当我运行程序时,它给出了以下错误

UPDATE 语句中的语法错误。

以粗体显示的错误说明

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

2 回答 2

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)
于 2013-10-23T07:53:00.960 回答
0

使用参数化查询,例如

olCommand = New OleDbCommand("UPDATE Stock SET Product Name= ? WHERE Price =?", olDataConnection)
olCommand.Parameters.AddWithValue("?", itemName);
olCommand.Parameters.AddWithValue("?", itemprice);

根据OleDbCommand不支持命名参数

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

于 2013-10-23T07:56:51.733 回答