AcceptChanges()是什么作用呀,dataapapter.update(datatable)后,还需要 datatable.acceptchanges()吗?
-----------------------------------------------------------
我确实测试不出来,AcceptChanges()的作用是什么,比如下面的代码:
                //注: sda 是sqlDataadapter 对象,mytable是表格绑定的表
                sda.Update(mytable);
                mytable.AcceptChanges();
mytable.AcceptChanges();这一句执行不执行,好象看不到任何区别,
sda.Update(mytable);的作用,是将当前 datatable 中的变化情况写回到数据库的物理表中去,这样就达到我的目的了,
为何后面还要加一句 mytable.AcceptChanges()呢?我估计这一句是必须加上,很多网友写代码,都是加上这一句的,但是我确实不知道,这一句的作用是什么,谢谢

解决方案 »

  1.   

    据资料上说,dataSet.AcceptChanges()  是将sqlDataadapter复制到SQL数据库中的数据进行提交!
    不过我不知道怎么搞得,SqlDataAdapter.update(ds,TableName)
    不管用,数据库里的数据没有变化
      

  2.   

    要想update有效,要先实例化 sqlcommandbuilder 才行呀。
      

  3.   

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

  4.   

    正解,其实就一个标示。标示这列当前状态。
    AcceptChanges把更改的行变为Unchanged,Deleted 移除
      

  5.   

    我觉得使提交是sqlcommandbuilder 的事,而AcceptChangers的作用倒是用来对表的状态的一种设置,把一些在正修改和删除的状态复位,准备下一次的改变