【问题标题】:How to update data in table datagridview in vb.net如何在 vb.net 中更新表 datagridview 中的数据
【发布时间】:2014-09-30 16:10:24
【问题描述】:

我在我的更新按钮上使用了这个编码来更新我在 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

【问题讨论】:

  • 查看 UPDATE 语句的语法

标签: vb.net datagridview


【解决方案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开放。

【讨论】:

    猜你喜欢
    • 2013-01-28
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-16
    • 2012-04-25
    • 1970-01-01
    相关资源
    最近更新 更多