一、DataTable.AcceptChanges()方法

提交自上次调用AcceptChanges()方法以来对该表进行的所有更改。调用AcceptChanges()时,任何扔处于编辑模式的DataRow对象将成功结束其编辑。DataRowState也会随之更改:所有状态为Added何Modified的行的状态都变为Unchanged;状态为Deleted的行则被移除。

在尝试使用DbDataAdapter.Update方法更新DataSet之后,通常会对DataTable调用AcceptChanges方法。

二、DataTable.RejectChanges()方法

回滚自该表加载以来或上次调用AcceptChanges()以来对该表进行的所有更改。调用RejectChanges时,任何扔处于编辑模式的DataRow对象将取消其编辑。新行被移除。DataRowState设置为Modified或Deleted的行返回到其初始状态。

使用Delete()方法后,RowState变成“Deleted”状态。在您调用AcceptChanges之前,它一直保持“Deleted”状态。可通过调用RejectChanges取消删除行。

用于从DataTable对象中删除DataRow对象的方法有两种:DataRowCollection对象的Remove()方法和DataRow对象的Delete()方法。Rwmove()方法从DataRowCollection中删除DataRow,而Delete()方法只是将行的状态标记为删除,当应用程序调用AcceptChanges()方法时,才会发生实际的删除。通过使用Delete()方法,您可以在实际删除之前先以编程的方式检查哪些行标记为删除。

在将 DataSet 或 DataTable 与 DataAdapter 和关系型数据源一起使用时,用 DataRow 的 Delete 方法移除行。Delete 方法只是在 DataSet 或 DataTable 中将行标记为 Deleted,而不会移除它。而 DataAdapter 在遇到标记为 Deleted 的行时,会执行其 DeleteCommand 方法以在数据源中删除该行。然后,就可以用 AcceptChanges 方法永久移除该行。如果使用 Remove 删除该行,则该行将从表中完全移除,但 DataAdapter 不会在数据源中删除该行。

DataTable的AcceptChanges()和RejectChanges()方法相关推荐

  1. AcceptChanges()和RejectChanges基础题,你能做吗?(转)

    今天我遇到一个题目,是关于AcceptChanges()和RejectChanges()方法的,考虑到可能很多人不清楚这些概念. 所以拿出来讲讲.由这个问题我们也深入了解一下这两个方法. 为了不在显示 ...

  2. AcceptChanges()和RejectChanges()原理

    今天我遇到一个题目,是关于AcceptChanges()和RejectChanges()方法的,考虑到可能很多人不清楚这些概念. 所以拿出来讲讲.由这个问题我们也深入了解一下这两个方法. 为了不在显示 ...

  3. DataRowState、AcceptChanges、RejectChanges综合使用示例:实现DataGridView数据的增、删、改...

    下面的示例中,通过一个程序,演示使用DataRowState.AcceptChanges.RejectChanges,实现DataGridView数据的增.删.改. 一.界面设计 二.代码实现 1 u ...

  4. DataTable的AcceptChanges()方法和DataRow的RowState属性

    这个属性是一个只读属性的枚举类型,一共有五个值,Detached,Unchanged,Added,Deleteed,Modified, 属性名 值 备注 Detached 1 已创建该行,但是该行不属 ...

  5. C# DataTable的詳細使用方法

    在项目中经经常使用到DataTable,假设DataTable使用得当,不仅能使程序简洁有用,并且可以提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结. 一.DataTabl ...

  6. C#将DataTable转换成list的方法

    本文实例讲述了C#将DataTable转换成list及数据分页的方法.分享给大家供大家参考.具体如下: /// <summary> /// 酒店评论列表-分页 /// </summa ...

  7. 合并多个DataTable及将DataTable添加到DataSet的方法

    Merge方法是将两个结构相似的datatable合并成一个datatable: // 创建表1 DataTable dt1 = new  DataTable(); // 添加数据 dt1.Colum ...

  8. C# DataTable 行转列通用方法

    废话不多说,直接上代码,别问我代码是谁,为什么要上它?(注意,转发或者引用我的代码的,请标明出处连接,否则菊花难保!) 下面举两个列子的数据,如下代码所示 DataTable CreateDt1() ...

  9. 2016.8.11 DataTable合并及排除重复方法

    合并: DataTable pros=xxx; DataTable pstar=yyy; //将两张DataTable合成一张 foreach (DataRow dr in pstar.Rows) { ...

最新文章

  1. obj转stl_3D打印,如何编辑STL文件?
  2. R语言中strptime返回值永远为NA的问题
  3. JAVA SE、EE、ME,JRE、JDK,基本数据类型,访问修饰符、函数、封装的概念、UML类图、构造方法、this关键字、static关键字、方法重载、方法重写、包(packahe)
  4. 增加 processon 免费文件数
  5. SSL 多线程通信 linux openSSL C API编程
  6. 阿里技术专家都铎:一文搞懂技术债
  7. android功耗优化(2)--对齐唤醒
  8. 实际项目开发管理流程图
  9. PostgreSQL概述
  10. CocosCreator简单小鸟穿越隧道小游戏
  11. 继续领先~ Apipost 推出 Websocket 测试功能
  12. 说到项目管理软件,不得不提的是禅道和JIRA
  13. shopex admincore.php,Shopex后台登录页面注入漏洞附利用POC
  14. itextpdf 怎么下划线_itext生成pdf设置下划线,itextpdf下划线,使用setUnderli
  15. Qt-FFmpeg开发-保存视频流裸流(11)
  16. 暗斑怎么形成的_脸上出现暗斑的原因是什么?暗斑怎么形成的
  17. 情态动词+have+done用法整理
  18. Mybatis源码基础解析
  19. Ubuntu 16.04 安装思维导图freemind
  20. 互联网时代网赚项目分析

热门文章

  1. 一.fileno()函数
  2. 从Python安装到语法基础,这才是小白都能懂的爬虫教程
  3. 老电脑安装Windows11方法(不能保证全部都能用)
  4. 有什么好用的抠章方法?这个方法快来了解了解
  5. 100种图形设计参考
  6. 【综述专栏】“ChatGPT的问题、风险与机遇”会议综述
  7. Flink - Java篇
  8. 手工脱壳之AsPack压缩脱壳-随机基址
  9. 剑网三三测服务器维护,郭炜炜深夜两点回应谣言,剑网3凌晨紧急维护:优化精力系统...
  10. 适用于 Linux 的 8 个最佳 CAD 应用程序