我正在遍历数据视图。 如果我不想要基于预定义条件的行,我将删除它。 循环访问整个数据视图后,我希望将此更新的数据视图绑定回控件,但不将更改提交到 SQL Server 数据库表。 这会自动触发实际 sql 服务器表中的删除吗? 如果是这样,我怎么能阻止这种情况发生。
foreach (DataRowView dR in dvUpdatedRankings)
{
// If some logic is true, delete row
if(DeleteFlag == True)
{
dR.Delete();
}
}
数据视图与 sql 服务器数据库无关。它就像保存从 db 获取的值一样,对它所做的任何修改将仅驻留在服务器内存中,直到对象的作用域丢失。因此,db 不会被更改。
这就像一种单向通信......你从数据库到DataView获取了数据。 连接已关闭,现在数据库和Dataview是两个不同的东西!
从数据集中删除行后,调用数据集。接受更改((。 这将从数据集中重新删除标记为"to_be_deleted"的行。