VB.Net影响对表格的更改
我正在使用datagridview来显示表格数据并更改特定单元格的值。根据需要,我可能需要将这些值更改为多行。VB.Net影响对表格的更改
我想使用datagridview1.CellValueChanged来填充数据集(即创建所做的更改的集合),然后通过单击命令按钮保存更改。
我的问题是,尽管对于每次更改,只有最后一次更改被保存才被调用。我正在考虑使用数据集来存储更改值的多个记录,然后保存数据库表中数据集中的所有行(使用更新)。
难道有一些解决方案来解决我的困境。
PS。在尝试这个(ADO.net数据集)之前,我正在更新一个临时表,然后使用它来更新数据库。
感谢您的解决方案。
代码:::
私人小组dGridVwCreaCode_CellValueChanged(BYVAL发件人为对象,BYVALË作为System.Windows.Forms.DataGridViewCellEventArgs)把手dGridVwCreaCode.CellValueChanged
Dim qryStr_CodeShtText_Changed As String
Dim var_CodeID_Changed As Long
var_CodeID_Changed = dGridVwCreaCode(e.ColumnIndex - 2, e.RowIndex).Value
qryStr_CodeShtText_Changed = "SELECT Code_ID, Code, Code_Descrip FROM Code_SAP " & _
"WHERE (Code_SAP.Code_ID = " & var_CodeID_Changed & ")"
var_CodeShtText_Changed = dGridVwCreaCode(e.ColumnIndex, e.RowIndex).Value.ToString
If Not CatGenieConnPublic.State = ConnectionState.Open Then
CatGenieConnPublic.Open()
End If
da_CodeShtText_Changed = New OleDb.OleDbDataAdapter(qryStr_CodeShtText_Changed, CatGenieConnPublic)
da_CodeShtText_Changed.Fill(ds_CodeShtText_Changed, "Code_SAP")
cb_CodeShtText_changed = New OleDb.OleDbCommandBuilder(da_CodeShtText_Changed)
ds_CodeShtText_Changed.Tables( “Code_SAP”)。行(1).Item( “Code_Descrip”)= var_CodeShtText_Changed
要保存(从Button_Click被称为以下子)的变化: 私人小组Save_Changed_CodeShtText() da_CodeShtText_Changed.Update (ds_CodeShtText_Changed, “Code_SAP”) MSGBOX( “保存到数据库的变化......”,vbOKOnly + vbInformation)
If CatGenieConnPublic.State = ConnectionState.Open Then
CatGenieConnPublic.Close()
End If
'SET BOOLEAN TO FALSE AS CHANGED VALUES HAVE BEEN SAVED
bool_CellVal_HasChanged = False
End Sub
PS。不知何故,我无法将所有的代码行放在一起,请原谅我。
什么,我就被递增 “行” 错过计数的代码行:
ds_CodeShtText_Changed.Tables( “Code_SAP”)行(rowNum_Increment - 1).Item( “Code_Descrip”)= var_CodeShtText_Changed。
因此,每当用户更改特定单元格中的数据时,行数以“1”递增并收集到数据集中。
你可以发布你的代码吗? – Saragis