AcceptChanges 用于 Update 后
因为:若用在Update前,调用AcceptChanges办法会将所有批改保存到DataSet或DataTable中,使得所有行的状况都是Unchanged(没有被更改状况,Added、Modified、Unchanged将保留当前修改过的值,Deleted的行将从DataTable中移除,,最后所有的行的状态都置为Unchanged)。而DataAdapter.Update办法在保存数据到数据库表时做过一个搜检,即搜检表行是否被修悔改,若是没被修悔改,那么更需将不会履行任何号令,直接跳过本行,开端搜检下一行,如此,一个表若是行都是Unchanged状况,那么它就不会被更新到数据库中。所以,在更改了DataSet或DataTable后,若想调用DataAdapter.Update办法直接更新数据到数据库,那么你只须要这个Update办法,无需在此前调用一次AcceptChanges办法了。
若不在Update后使用AcceptChanges,这种情形的弊端暂时还没考虑到。只是说,使用了AcceptChanges会得到最新数据。。。。。也有说:在您尝试使用 DbDataAdapter.Update 方法更新 DataSet 之后,通常会对 DataTable 调用 AcceptChanges 方法,是自动调用的意思么?。于是乎,什么情况要在update调用acceptchanges呢?
转:
以前的做法:
Fill –> Edit –>Update –> 重新Fill –> Edit –> Update –> ……
“更新了数据当然要重新获取啦!”,再次更新后,再再次重新获取。
现在的做法:
Fill –> Edit –> Update –> AcceptChanges –> Edit –> Update –> AcceptChanges –> Edit –> Update –> ……
如果就是单单户操作数据,开始获取一次就好了,反正你更新了数据后再获取的不就是你刚才更新的吗?考虑多用户的话,应该用fill才会更准确。
调用了update后,更新了数据库,但是此时源数据库碰巧数据被修改,此时我们的前台比如datagridview控件并不能实时体现。fill方法可以实时反应最新数据。
转载于:https://www.cnblogs.com/gzhnan/articles/2835760.html
今天的文章关于 Update 与 AcceptChanges分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/33526.html