2014-09-30 54 views
0

我用这个编码用于更新按钮来更新datagridview中的表中的数据,但它仍然显示错误。我需要一些帮助来解决这个问题如何更新vb.net表datagridview中的数据

Dim MyItems As Integer 
    Dim MyItemNo As Integer 
     Dim ItemDescription As String 


     MyItems = GridViewItems.CurrentRow.Index 
     MyItemNo = GridViewItems.Item(0, MyItems).Value 
     ItemDescription = GridViewItems.Item(1, MyItems).Value 

    Dim SqlQuery As String = " UPDATE ITEMS = '" & MyItems & "'WHERE Item_No = " & MyItemNo & "" 
     Dim SqlCommand As OleDbCommand 


    With SqlCommand 
     .CommandText = SqlQuery 
     .Connection = conn 
     .ExecuteNonQuery() 


    End With 
+0

查看UPDATE语句的语法 – Steve 2014-09-30 07:46:11

回答

1

您使用UPDATE sql statement是错误的。正确的语法是

UPDATE <tablename> SET <field1> = <value>, <field2> = <value> WHERE <field3> = <value> 

但也存在应解决的字符串拼接问题。
所以,你可以重写代码为

Dim SqlQuery As String = "UPDATE yourTableName SET ITEMS = ? WHERE Item_No = ?" 
Dim SqlCommand As OleDbCommand 
With SqlCommand 
    .CommandText = SqlQuery 
    .Connection = conn 
    .Parameters.AddWithValue("@p1", MyItems) 
    .Parameters.AddWithValue("@p2", MyItemNo) 
    .ExecuteNonQuery() 
End With 

这是一个参数化查询的例子。当您需要将用户提交的值传递到数据库时,您应始终使用此方法。没有这个,你的代码开放SQL Injection and other parsing problems

相关问题