再AcceptChanges()
参考
http://www.cnblogs.com/kissknife/archive/2008/11/17/1335271.html

解决方案 »

  1.   

    理解AcceptChanges()
    此方法容易给人误解,以为在调用它之后对DataTable所做的所有更改将会被提交到Database。事实上,此方法跟Database没有直接的关系(注意),它只直接影响各DataRow的RowState(具体地说来是将所有状态为Deleted的行真正移除,所有状态为Added或Modified的行都变成Unchanged)。与Database有直接相关的是DataAdapter.Update()方法,它是真正负责执行相关SQL命令的地方。
    但是,从另一方面来说,没有直接的影响,言外之意就是有间接的影响,由于它影响了所有DataRow的RowState,而DataAdapter.Update()方法在执行SQL命令时必须依据RowState以确定使用insert、update、或delete 命令。举个例子,如果你在DataAdapter.Update()调用之前执行AcceptChanges()方法,这将阻止所有对Database的更改,因此对这两个方法调用的顺序应有充分的考虑。
    另外,DataSet、DataTable、DataRow都有AcceptChanges()方法,这些方法除了影响的范围大小不同之外,没有本质的区别。
      

  2.   

    清空所有DataTable里面的数据好像你那句就可以吧
      

  3.   

    用For(int i=0 ;i<DataTable.rows.count;i++)
    {
       datatable[0].rows[i].delete;
    }大概这样~~~我试过用循环对数据集的表的行进行删除可以真正删除!!!具体单词忘了~~~~~~~~