日期:2014-05-18  浏览次数:21132 次

AcceptChanges()是什么作用呀,dataapapter.update(datatable)后,还需要 datatable.acceptchanges
AcceptChanges()是什么作用呀,dataapapter.update(datatable)后,还需要 datatable.acceptchanges()吗?
-----------------------
我确实测试不出来,AcceptChanges()的作用是什么,比如下面的代码:

C# code

                //注: sda 是sqlDataadapter 对象,mytable是表格绑定的表
                sda.Update(mytable);
                mytable.AcceptChanges();



mytable.AcceptChanges();这一句执行不执行,好象看不到任何区别,
sda.Update(mytable);的作用,是将当前 datatable 中的变化情况写回到数据库的物理表中去,这样就达到我的目的了,
为何后面还要加一句 mytable.AcceptChanges()呢?

我估计这一句是必须加上,很多网友写代码,都是加上这一句的,但是我确实不知道,这一句的作用是什么,谢谢

------解决方案--------------------
据资料上说,dataSet.AcceptChanges() 是将sqlDataadapter复制到SQL数据库中的数据进行提交!


不过我不知道怎么搞得,SqlDataAdapter.update(ds,TableName)
不管用,数据库里的数据没有变化
------解决方案--------------------
当对 DataSet 调用 AcceptChanges 时,任何仍处于编辑模式的 DataRow 对象都将成功结束其编辑。每个 DataRow 的 RowState 属性也会更改;Added 和 Modified 行变为 Unchanged,而 Deleted 行则被移除。

------解决方案--------------------
探讨

当对 DataSet 调用 AcceptChanges 时,任何仍处于编辑模式的 DataRow 对象都将成功结束其编辑。每个 DataRow 的 RowState 属性也会更改;Added 和 Modified 行变为 Unchanged,而 Deleted 行则被移除。