【发布时间】:2016-08-17 14:44:27
【问题描述】:
我正在尝试合并两个表并使用来自两个单独的 MS 访问数据库的合并记录更新一个表
两个表完全相同,并且两个表都使用自动编号主键进行密码保护
以下代码合并数据集内存,或者至少通过 msgbox 消息,记录计数是正确的。
但是并没有更新到access数据库中的表..
我已经在网上搜索了很长时间,但真的很迷茫..
daDBTarget = New OleDbDataAdapter
daDBTarget.SelectCommand = New OleDbCommand("SELECT * FROM DBUSERTASK", Conn1)
daDBTarget.Fill(dsDBTarget, "tbl1")
daDBSource = New OleDbDataAdapter
daDBSource.SelectCommand = New OleDbCommand("SELECT * FROM DBUSERTASK", conn2)
daDBSource.Fill(dsDBSource, "tbl2")
MsgBox("Dataset 1 dstTaskComp is full with " & dsDBTarget.Tables(0).Rows.Count & vbCr & vbCr & "Dataset 2 dstTaskComp is full with " & dsDBSource.Tables(0).Rows.Count)
dsDBTarget.Tables("tbl1").Merge(dsDBSource.Tables("tbl2"), True)
MsgBox("Dataset 1 dstTaskComp is now merged and full with " & dsDBTarget.Tables(0).Rows.Count)
dsDBTarget.AcceptChanges()
Dim cb As New OleDbCommandBuilder(daDBTarget)
daDBTarget.Fill(dsDBTarget)
cb.GetUpdateCommand()
daDBTarget.Update(dsDBTarget)
【问题讨论】: