IT点滴

我不去想是否能够成功 既然选择了远方 便只顾风雨兼程
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

SqlDataAdapter怎么处理事务呢

Posted on 2013-12-13 17:59  Ady Lee  阅读(1067)  评论(0编辑  收藏  举报

SqlDataAdapter怎么处理事务呢,没找到相关代码,哪位朋友能提供下

 

解决方案 »

  1.  


    this._DBAdpt-------------SqlDataAdapter
    this._DBConn-------------SqlDataConnection
    //事务开始
    this._DBAdpt.InsertCommand.Transaction = this._DBConn.BeginTransaction();
    //事务回滚
    this._DBAdpt.InsertCommand.Transaction.Rollback();
    //事务提交
    this._DBAdpt.InsertCommand.Transaction.Commit();
      

     

  2.  

    可以试一下这里的方法
    http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspx
      

     

  3.  

    SqlConnection sqlConnection = new SqlConnection();
    ...初始化连接
    // 开启事务
    SqlTransaction sqlTransaction = sqlConnection.BeginTransaction();
    // 将事务应用于Command
    SqlCommand sqlCommand = new SqlCommand();
    sqlCommand.Connection = sqlConnection;
    sqlCommand.Transaction = sqlTransaction;try
    {
    // 利用sqlcommand进行数据操作
    ...
    // 成功提交
    sqlTransaction.Commit();
    }
    catch(Exception ex)
    {
    // 出错回滚
    sqlTransaction.Rollback();
    }
      

     

  4.  

    我刚刚在vs2005c#上做成功,是这样的:
    using (TransactionScope transScope = new TransactionScope())
    {
      DS表TableAdapters.表TableAdapter daB=new 名空间.DS表TableAdapters.表TableAdapter();
      try
      {
            daB.Insert("a", "b");
            daB.Insert("a", "c");
            ........
            //  The Complete method commits the transaction.
            transScope.Complete();
      }
      catch
      {
      }
    }
    只要程序运行不到tranScope.Complete();所有daB的操作都无效。
      

    http://www.debugease.com/csharp/1706270.html