2013-10-23 240 views
0

当我运行它提供了以下错误SQL UPDATE语句OleDbException

语法错误在UPDATE语句的程序。

在大胆

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

回答

0

使用parmeterized查询,如

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

根据OleDbCommand不支持命名的参数

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

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)