如何保存数据行数据?

问题描述 投票:1回答:1
 DataRow temptDataRow = dtable.NewRow();
 temptDataRow = dtable.Rows[selectSeq];
 temptDataRow.AcceptChanges();
 dtable.Rows[selectSeq].Delete();
 dtable.AcceptChanges();

当删除由数据行数据引用的数据表的一行时,该行将被删除。有没有办法防止这种情况?

c# .net datatable datarow
1个回答
0
投票

也许我听不懂这个问题。但是在许多情况下,您可能希望“回滚”更改,因为发生了错误,有必要将DataTable还原回其先前的状态。在这种情况下,您可以简单地使用DataTable.RejectChange()

private void AddNewDataRow(DataTable dt)
{
   try
   {  
      DataRow drNew = dt.NewRow();
      dt.Rows.Add(drNew);
      // 
      // .. doing other stuff that throws and error before AcceptChange is called
      //
      dt.AcceptChanges();
   }
   Catch()
   {
      //RollBack Because an error occurred
      dt.RejectChanges();
   }
}

在调用RejectChanges()之前调用AcceptChanges()时,所有更改都会回滚。因此,在上面的示例中,如果未首先调用Catch,则将在AcceptChanges()块中删除新行。行删除调用也是如此。

© www.soinside.com 2019 - 2024. All rights reserved.