背景信息:
我有一个datagridview,我可以从ms access加载一个表到其中并/或添加数据。它没有数据绑定(我不想)。
我之前所做的是在保存新数据之前从ms access表中删除数据。但我想用正确的方式来做(丢失数据的可能性会小一些)。
问题:
当我这样做的时候
Adapter.Update(DataTable) 'OleDb.OleDbDataAdapter
数据只是在末尾添加(插入),就像在datagridview中添加行一样。
我要做的是覆盖ms access表中的数据,使其看起来与新保存的数据相同(可以更新的行被更新、添加的行被添加、删除的行被删除)
换句话说,如果我要保存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:如何将数据表保存到MS Access表中,以便它覆盖其中已有的数据。