我刚刚发现了关于CommandBuilder的内容,并认为它听起来很直接且易于使用。很明显,我仍然错过了一些东西。我有一个成功更新名为Customers的dbSet表的DataGridView。但它没有更新到实际的数据库文件:使用CommandBuilder验证DataGridView中的OleDb
...
Dim ConMain As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\dummy_data.accdb")
...
Private Sub CustomerDataGridView_RowValidated(ByVal sender As Object, _
ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) _
Handles CustomerDataGridView.RowValidated
Me.CustomersTableAdapter.Update(Me.Dummy_dataDataSet.Customers)
Dim CustomerAdapter As New OleDbDataAdapter("Select * From Customers", ConMain)
Dim ObjComander As New OleDbCommandBuilder(CustomerAdapter)
CustomerAdapter.Update(Dummy_dataDataSet, "Customers")
End Sub
它不会抛出一个错误,我做了保存在内存中的所有变化(我可以打开和关闭形式和变化将保持),但它们实际上并未写入数据库。我错过了什么?
它是在虚拟的模式吗? – 2013-03-19 06:04:28
@TonyShih我不确定。我没有将虚拟模式设置为真。我是不是该? – 2013-03-19 12:53:27
@TonyShih在我的版本中,这似乎没有效果? – 2013-03-19 18:54:10