将数据Table 保存到 MS Access Table

Saving DataTable to MS Access Table

背景资料:

我有一个 DataGridView,我可以将 table 从 MS Access 加载到其中 and/or 也可以添加数据。它不是数据绑定的(我不想要它)。 我之前所做的是在保存新数据之前从 MS Access table 中删除数据。但我想以正确的方式进行(+丢失数据的可能性较小)。


问题: 当我这样做时

Adapter.Update(DataTable) 'OleDb.OleDbDataAdapter

数据只是在最后添加(插入),就像您向 datagridview 添加行时一样。

我想做的是覆盖 MS Access table 中的数据,使其看起来与新保存的数据相同(可以更新的行得到更新,添加新的行,删除删除的行)

换句话说,如果我要保存 6 行,我想在数据库中看到 6 行,不多也不少。


我也试过加载数据,然后改,再存回去,结果还是一样。例如,如果我加载 5 行,并保存 5 行,保存后我最终会得到 10 行。

Adapter = New OleDb.OleDbDataAdapter("SELECT * FROM " & DB_TableName, DB_Connection)
Dim TempDataTable As New DataTable
BotDB_Adapter.Fill(TempDataTable )
    'edit data here
Adapter.Update(TempDataTable)

TLDR:如何将 DataTable 保存到 MS Access table 以便覆盖其中已有的数据。

这是由于行状态为 "added",解决此问题的唯一方法是将各个行状态更改为正确的状态。

我没有看到其他解决方法,所以我将关闭它,因为没有更好的答案。