什么时候用它
有什么作用

解决方案 »

  1.   

    DataSet里的数据是有状态的,如你添加一条数据,在DataSet里会把这条数据标记为Inserted,当你下次把DataSet里的数据提交到数据库中的时候,不是把整个DataSet提交给数据库,而是把添加、删除、修改的部分数据提交给数据库,acceptchange就是在数据提交后,把原来的状态为Inserted、Updated的那些数据的状态去掉,把Deleted的状态的数据彻底删除。
      

  2.   

    上面说的很清楚了,我再解释一下吧举个例子
    当你往datatable中加入一行数据,那么这个加入的行它的状态就是RowAdded,你用了acceptchanges之后,这个行的状态就跟其他行没什么两样了。为什么这样设计呢,就是为了区分这个datatable 中哪些行是新加的,哪些是已经修改了的,哪些是已经删除的,如果你要把数据更新到别的地方,比如数据库中,那这个表中的所带的信息已经足够了,不需要你再跟增以前的操作。