RollbackTransaction后DataTable的RowStatus如何处理?
班门弄武 2012-05-14 03:51:28 问题如题,详细如下:
方法1:
public virtual bool Save()
{
foreach (string strTableName in TableList)
{
if (Save(Table) == false)
{
//保存失败回滚事务
RollbackTransaction();
}
}
}
方法2:
public virtual bool Save(DataTable Table)
{
try
{
dataAdapter.Update(dataSet, Table.TableName);
return true;
}
catch (Exception e)
{
return false;
}
}
方法1利用方法2保存多个DataTable,假如在第3次执行方法2保存时出错将RollbackTransaction(),而此时,前2次执行成功的Save也将被Rollback,但是前2次DataTable的RowStatus却不会在回滚到保存前对状态.
当用户修改数据后再次保存时,系统就丢失了1\2次的Modified数据.
请问诸君,这时我该如何处理?我理想情况是:Rollback后,RowStatus也回到了Save前对状态.