【问题标题】:Dataset Acceptchanges in SQL ServerSQL Server 中的数据集接受更改
【发布时间】:2009-06-02 12:08:07
【问题描述】:

我正在通过命令对象中的选择查询加载我的 ADO.net 数据集。如果我用 Acceptchanges 清除数据集数据,它会删除 sql server 中的数据。

如果不行请告诉我怎么办?

【问题讨论】:

    标签: c# sql-server ado.net


    【解决方案1】:

    不,不会的。

    您必须确保 DataTable 中的每个 DataRow 都标记为“已删除”。也就是说,必须将每行的行状态设置为已删除。 您可以通过遍历所有行来做到这一点,并为每一行调用 Delete 方法。

    然后,您必须在调用 AcceptChanges 之前调用 DataAdapter 的 Update 方法。在数据库中完成更改后,您必须调用“AcceptChanges”,以表明数据集/数据表不再包含必须在数据库中持久化的更改。 (调用 AcceptChanges 将删除 RowState 为“已删除”的 DataRows,并将所有其他 DataRows 的 RowState 更改为“UnChanged”。

    【讨论】:

    • 通常你根本不会调用 AcceptChanges。当您让适配器更新您的表时,它会处理该问题
    猜你喜欢
    • 2017-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多