c#中怎么样获取DataTable的删除、新增、修改的记录??

解决方案 »

  1.   

    dataTable.getChanges()返回一个dataTable,里面可以根据状态来区别是删除、新增或修改的~
      

  2.   

     System.Data.DataTable a = new System.Data.DataTable();
                a.GetChanges();//获取所有更改
                a.Select(null, null, System.Data.DataViewRowState.Added);//获取新增行
                a.Select(null, null, System.Data.DataViewRowState.Deleted);//获取删除行System.Data.DataViewRowState为行状态枚举,有关更多说明请看msdn
    http://msdn.microsoft.com/en-us/library/system.data.dataviewrowstate.aspx
      

  3.   

    dataView.RowStateFilter = DataViewRowState.Deleted;
     PrintView(dataView);
                dataView.RowStateFilter = DataViewRowState.CurrentRows;
               PrintView(dataView);
                dataView.RowStateFilter = DataViewRowState.Unchanged;
               PrintView(dataView);
               dataView.RowStateFilter = DataViewRowState.OriginalRows;
               PrintView(dataView);        static private void PrintView(DataView dataView)
            {
                for (int i = 0; i < dataView.Count; i++)
                {
                    Console.WriteLine(dataView[i]["dataColumn"]);
                }
            }
      

  4.   

    ds.Tables[0].GetChanges(DataRowState.Deleted).Rows