提交自上次调用 AcceptChanges 以来对该表进行的全部更改。

调用 AcceptChanges 后,再用 DataAdapter.Update() 不会有不论什么新数据被更新到数据库中。那……那它有什么用处呢?

曾经的做法:

Fill –> Edit –>Update –> 又一次Fill –> Edit –> Update –> ……

“更新了数据当然要又一次获取啦!”,再次更新后,再再次又一次获取。

如今的做法:

Fill –> Edit –> Update –> AcceptChanges –> Edit –> Update –> AcceptChanges –> Edit –> Update –> ……

開始获取一次就好了,反正你更新了数据后再获取的不就是你刚才更新的吗,干嘛还要获取一遍呢?

AcceptChanges 在 Update 后 !

-----------------------------------------丑陋切割线-------------------------------------------------------------

AcceptChanges()和RejectChanges() http://www.cnblogs.com/perfect/archive/2007/08/06/844634.html

近期在园子里看了几篇相关的文章,总结了一下(还请多多指正):

Delete()是面向对象状态操作的(能够回滚);RemoveAt()是面向普通集合操作的(不能够回滚,等价于先Delete()后AcceptChanges())

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 变成“已删除”。在您调用 AcceptChanges 之前,它一直保持“已删除”。可通过调用 RejectChanges 取消删除行。 而RemoveAt表示当移除行时,该行中的全部数据都将丢失。您还能够调用 DataRow 类的 Delete 方法来标记某行以供移除。调用
RemoveAt 等同于先调用 Delete 再调用 AcceptChanges。 也就是说使用Delete()方法删除行后是能够回滚的,而使用RemoveAt(int)方法是不能回滚的。 总结:


1、Delete()之前接收了AcceptChanges()后,都仅仅加上删除标记,以后再次接受了AcceptChanges()后才真正删除,否则没有再次接受AcceptChanges()遇到RejectChanges()能够回滚


2、Delete()之前没有接收AcceptChanges(),之后马上接受AcceptChanges(),也真正删除

3、Delete()之前没有接收AcceptChanges(),之后也没马上接受AcceptChanges(),会彻底删除:由于没有必要回滚

最新文章

  1. Spark源码学习1.2——TaskSchedulerImpl.scala
  2. objective-c系列-NSString
  3. java开发环境的主题色的变化
  4. mac os x使用Git简易入门教程
  5. POJ 2533 Longest Ordered Subsequence(LIS模版题)
  6. ZOJ 3593 One Person Game
  7. android 如何让文本中某个关键字高亮显示?
  8. httpcomponents 学习1--并发多线程GET
  9. [Hadoop源码解读](四)MapReduce篇之Counter相关类
  10. hdu 4602 Partition 数学(组合-隔板法)
  11. 2014.8.4我出的模拟赛【NTR酋长】
  12. [SOJ]寻找第k大数字(numberk)
  13. Android中使用OKHttp上传图片,从相机和相册中获取图片并剪切
  14. uml系列(六)——行为图:活动&状态
  15. 跟踪测试 DbContext ,向"不是真正的 ORM" 说拜拜
  16. Sentinel 流程分析
  17. Eclipse中的快捷键
  18. [算法]PHP随机合并数组并保持原排序
  19. 第三百五十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—chrome谷歌浏览器无界面运行、scrapy-splash、splinter
  20. 使用MyEclipse开发Java EE应用:EJB项目开发初探(上)

热门文章

  1. Java学习之字符串练习
  2. wampserver 绑定域名(wampserver 本地域名测试配置)
  3. Day 1: How to install jedi/codeintel plugin for sublime on Linux
  4. director.js教程
  5. Windows-1252对Latin1编码有改变(并不完全兼容),而且Latin1缺失了好多西欧字符(法语,德语,西班牙语都有)
  6. .NET(C#):使用XPath查询带有命名空间(有xmlns)的XML
  7. C语言数据结构----栈与递归
  8. 网页解析不了PHP源代码的解决方法
  9. linux多线程示例
  10. git 使用笔记(三)-分支的使用