Nadhirah Yaakop
Nadhirah Yaakop

Reputation: 1

How to update data in table datagridview in vb.net

i used this coding for my update button to update data in my table in datagridview but it is still shows error. i need some help to solve this problem

   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

Upvotes: 0

Views: 682

Answers (1)

Steve
Steve

Reputation: 216363

Your use of the UPDATE sql statement is wrong. The correct syntax is

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

but there is also the problem of string concatenation that should be addressed.
So you could rewrite your code as

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

This is an example of a parameterized query. You should always use this approach when you need to pass values submitted by your user to your database. Without this your code is open to SQL Injection and other parsing problems

Upvotes: 1

Related Questions