我正在尝试通过 a 按钮根据数据网格视图中的多选更新数据库中的值。我通过一个名为SQLControl的类执行所有SQL命令,以保持代码干净。
我的问题是最后一个选定的行没有更新到数据库,即使我可以看到所有选定的行值都在数据网格视图中更新。
Private Sub UpdateData()
Dim rowcount As Integer = dgvData.SelectedRows.Count - 1
For Each row As DataGridViewRow In dgvData.SelectedRows
dgvData.Rows(row.Index).Cells(9).Value = 1
dgvData.Rows(row.Index).Cells(10).Value = System.DateTime.Now
Next
SQL.DBDA.UpdateCommand = New SqlClient.SqlCommandBuilder(SQL.DBDA).GetUpdateCommand
SQL.DBDA.Update(SQL.DBDT)
End Sub
你能用 djv 提到的row
替换dgvData.Rows(row.Index)
吗?
Private Sub UpdateData()
For Each row As DataGridViewRow In dgvData.SelectedRows
row.Cells(9).Value = 1
row.Cells(10).Value = System.DateTime.Now
Next
SQL.DBDA.UpdateCommand = New SqlClient.SqlCommandBuilder(SQL.DBDA).GetUpdateCommand
SQL.DBDA.Update(SQL.DBDT)
End Sub
除此之外,您可能还想考虑它是否无法在SQL中更新?
您的
SQL.DBDA.Update
是否为最后一行返回了任何错误?您知道
SQL.DBDA.Update
更新的 SQL 语句是什么吗?