我正在尝试使用datagridview列中的数据更新数据库列。我将MySQL用于数据库,将vb.net用于程序。
这是我的代码:
cmd = New MySqlCommand("UPDATE tb_poinjalan
SET Bobot ='" & DataGridView2.Item(4, i).Value
& "' WHERE Kriteria='" & DataGridView2.Item(1, i).Value
& "';", Connector)
问题是,此代码仅更改数据库列的第一行。
答案 0 :(得分:1)
我想您的数据只会更新满足“ Kriteria”的行。并且您需要确保正在读取的DataGridView2单元中有数据。 但是,为了避免注射的危险,正确的操作方法如下:
If Not(DataGridView2.Item(4, i).value is Nothing) Then
sql = "UPDATE tb_poinjalan
SET Bobot = @Bobot WHERE Kriteria= @Criteria;"
Try
With conn
.Connection = connector
.CommandText = sql
.Parameters.AddWithValue("@Bobot", DataGridView2.Item(4, i).Value)
.Parameters.AddWithValue("@Criteria", DataGridView2.Item(1, i).Value)
End With
conn.ExecuteNonQuery()
Catch ex as exception
..
End Try
End If