请教:dataset数据保存中的事务处理
假如一个dataset中新增了100条记录,保存时要么全部保存,要么全部不保存。我用事务来处理,代码如下。可是出现这个问题:如果第10条记录保存出错,用户修改后再保存,数据库中只接收到第10-100条数据,前10条数据没有保存。
请教高手,dataset中数据库事务处理如何实现?
try
{
tran = DBPool.getConnect().BeginTransaction();
da.SelectCommand.Transaction=tran;
OracleCommandBuilder myCMD = new OracleCommandBuilder(da);
da.Update(ds_ora.Tables["qq"]);
ds_ora.Tables["qq"].AcceptChanges();
tran.Commit();
MessageBox.Show( "保存成功!");
}
catch(Exception ex)
{
tran.Rollback();
MessageBox.Show( "保存失败!\n"+ex.Message.ToString());
}