C# SqlDataAdapter 事务批量更新的问题?
描述:两个SqlConnection对象,分布在两个SqlConnection各几张表,现在想更新
{
     da1.Update(ds1)//conn1
     da2.Update(ds2)//conn1
     da3.Update(ds3)//conn2
     da4.Update(ds4)//conn1
     da5.Update(ds5)//conn2
}conn 为 SqlConnection , da 为SqlDataAdapter,  ds为DataSet
现在想把上面大括号的更新包裹成一个事务更新,即一个失败,全部回滚请问怎样实现,最好有描述性代码....

解决方案 »

  1.   

    首先用同一个连接对象,至于这个对象是操作几个表,你可以自己去控制.
    代码类似: SqlTransaction trans=null;
     trans =conn.BeginTransaction();
     cmd.Transaction = tran;
     cmd2.Transaction = tran;
     .....
      try
      {
          cmd.ExecuteNonQuery()
          cm1......
           trans.Commit()
       }
       catch
       {
         trans.Rollback();
       } 
      

  2.   

    net2.0 的话更简单一点,dataset生成的DataAdapter里面有Transaction,Connection属性