我有一个主数据库。我确实将一些数据提取到 DataTable 中,然后需要用这些数据更新私有数据库以避免加倍。当我使用更新命令时,私有数据库中的数据加倍,如果填充没有任何反应。
这里的代码:
Dim Table As New DataTable
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Main.mdb;Jet OLEDB:Database Password=123")
cmd = New OleDb.OleDbCommand With {.Connection = cn}
cn.Open()
cmd.CommandText = "SELECT * FROM Catalogue"
DA = New OleDbDataAdapter(cmd)
DA.AcceptChangesDuringFill = False
DA.Fill(Table)
DA.Dispose()
cn.Close()
'--------------
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=private.mdb;Jet OLEDB:Database Password=123"
cmd = New OleDb.OleDbCommand With {.Connection = cn}
cn.Open()
cmd.CommandText = "SELECT * FROM Catalogue"
DA = New OleDbDataAdapter(cmd)
MyBuilder = New OleDbCommandBuilder(DA)
DA.Fill(Table) 'ADD NO DATA
DA.Update(Table) 'DOUBLING DATA
DA.Dispose()
cn.Close()
正如你所理解的,当我谈到翻倍数据时,这意味着我已经在私有数据库中拥有了一些数据,它们可以与主数据库中的数据相同。
问题可视化:
开始
Main database, table 1 data
1
2
3
Private database, table 1 data
1
2
结尾
What I need:
Private database, table 1 data
1
2
3
What I get:
Private database, table 1 data
1
2
1
2
3