最近遇到一个问题,我要先更新一个表,再使用tableAdapterManager.UpdateAll(其中包含两个 TableAdapter),我该怎么把两个操作放在一个事务里控制呢?
谢谢各位帮助!

解决方案 »

  1.   

    using(TransactionScope scope = new TransactionScope())
    {
    //方法1   
    //方法2:   
    scope.Complete();
    }  
     
      

  2.   

    TransactionScope 是4.0框架的,我现在是3.5的框架环境tableAdapterManager 不能和其他的数据库操作共用connection和transation吗
      

  3.   

    try{
    sqlTransaction tx=conn.BeginTransaction();
    sqlcommand cmd1="",cmd2="";
    cmd1.TranCsaction=tx;
    cmd2.TranCsaction=tx;
    cmd1.ExecteNonQuery();
    cmd2.ExecteNonQuery();
    tx.commit();
    }catch()
    {}
      

  4.   

    不是吧TransactionScope是2.0就提供的了吧?
    并且tableAdapterManager的updateall方法好像是自动管理事务的。
    你可以看看http://blogs.msdn.com/b/bethmassi/archive/2008/01/07/the-new-tableadaptermanager-in-visual-studio-2008.aspx 这篇博客里提到的
    方法,或许对你有帮助。