0

我正在遍历 DataView。如果我不想要基于预定义条件的行,我将删除它。遍历整个 DataView 后,我想将此更新的 DataView 绑定回控件,但不将更改提交到 SQL Server 数据库表。这会自动触发实际 sql server 表中的删除吗?如果是这样,我怎样才能阻止这种情况发生。

 foreach (DataRowView dR in dvUpdatedRankings)
 {
     // If some logic is true, delete row
     if(DeleteFlag == True)
     {
         dR.Delete();
     }

 }
4

2 回答 2

2

数据视图与 sql server db 没有任何关系。它只是作为保存从 db 获取的值的持有者,对它所做的任何修改都只会驻留在服务器内存中,直到对象的范围丢失。因此 db 不会改变。

这就像一种单向通信..您将数据从 db 获取到 DataView。并且连接已关闭,现在 db 和 Dataview 是两个独立的东西!

于 2018-05-30T17:37:41.113 回答
0

从数据集中删除行后,调用 dataset.Acceptchanges()。这将从数据集中删除标记为“to_be_deleted”的行。

于 2019-08-27T08:30:29.113 回答