0
我希望更新值从datagridview到sql后进入单元格。但它不起作用。如何在进入后更新datagridview中的单元格? vb.net
验证码:
Private Sub dgvShow_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles dgvShow.KeyPress
Dim sb3 As New StringBuilder
Dim da2 As New SqlDataAdapter
For i As Integer = 0 To dgvShow.Rows.Count - 2
If dgvShow.Rows(i).Cells(0).Value IsNot Nothing Then
sb3.Remove(0, sb3.Length())
sb3.Append("UPDATE PositionLevelWelfare ")
sb3.Append("SET [email protected],[email protected],[email protected],[email protected]")
sb3.Append(" FROM PositionLevelWelfare pw")
sb3.Append(" WHERE [email protected]")
Dim SqlEdit As String = ""
SqlEdit = sb3.ToString()
da2.SelectCommand.CommandText = SqlEdit
da2.SelectCommand.Parameters.Add("@Run", SqlDbType.NVarChar).Value = dgvShow.Rows(i).Cells(0).Value
da2.SelectCommand.Parameters.Add("@wfDivision", SqlDbType.NVarChar).Value = dgvShow.Rows(i).Cells(1).Value
da2.SelectCommand.Parameters.Add("@wfSection", SqlDbType.NVarChar).Value = dgvShow.Rows(i).Cells(2).Value
da2.SelectCommand.Parameters.Add("@wfPosition", SqlDbType.NVarChar).Value = dgvShow.Rows(i).Cells(3).Value
da2.SelectCommand.Parameters.Add("@wfBaht", SqlDbType.NVarChar).Value = dgvShow.Rows(i).Cells(4).Value
da2.SelectCommand.ExecuteNonQuery()
da2.SelectCommand.Parameters.Clear()
End If
Next
End Sub
感谢游览时间。 :)
哪里错误
CellValidating
发生?你有什么尝试? – Jaxedin 2013-03-14 15:37:20没有错误,没有任何事情发生。我使用代码与按钮它的工作。但我尝试改变按键它不工作。我不知道为什么它不起作用。 – nettoon493 2013-03-14 15:43:39
您应该将更改保存到AfterEdit()或EndUpdate()(我不记得确切的名称)。 AFAIK单元格上的文本不会更新,直到您结束编辑为止,因此dgvShow.Rows(i).Cells(X).Value绑定到“旧”值。 – Jaxedin 2013-03-14 15:58:08