我有三个方法  我想一次性执行完毕 但要保证方法执行成功,我就想到的了事务,但我不太清楚事务能不能作用在方法上?如果可以 怎么用?
不知道我说的清楚不清楚 我有三个方法 a,b,c  
a 执行成功后执行b
一但b 不成功 回滚 可不可以这样?在线等

解决方案 »

  1.   


    SqlConnection myConn=GetConn();
       myConn.Open();
       SqlCommand myComm=new SqlCommand();
       SqlTransaction myTran=new SqlTransaction();
       try
       {
        myComm.Connection=myConn;
        myComm.Transaction=myTran;
       
        file://定位到pubs数据库 
        myComm.CommandText="USE pubs";
        myComm.ExecuteNonQuery();    myComm.CommandText="UPDATE roysched SET royalty = royalty * 1.10 WHERE title_id LIKE 'Pc%'";
        myComm.ExecuteNonQuery();
        myTran.Commit();//提交事务
       }
       catch(Exception err)
       {
        throw new ApplicationException("事务操作出错,系统信息:"+err.Message);
       }
       finally
       {
        myConn.Close();
       }
      

  2.   

    三个方法  一次性执行完毕?
    用线程试试看
    private void a()
    {
    ...
    }
    private void b()
    {
    ...
    }
    private void c()
    {
    ...
    }Thread th1=new Thread(new ThreadStart(a));
    Thread th2=new Thread(new ThreadStart(b));
    Thread th3=new Thread(new ThreadStart(c));
    th1.Start();
    th2.Start();
    th3.Start();
      

  3.   

    我是用来从access数据库里读出数据导入sql中 由于表有几个...所以要写几个方法
      

  4.   

    数据库操作才有回滚的感念,其它操作只能自己取消吧
    比如
    A里写了文件
    B里改了数据
    C里建了目录A出错什么都不做
    B出错什么要把A的文件恢复原貌或删除新文件
    C出错什么要把A的文件恢复原貌或删除新文件、B的数据事务回滚但回滚过程如果发生错误,失败,就回滚不完整不知道.net在安装时如果安装失败后回滚是怎么做的,
    还有不知道能不能参考windows的数据还原功能,
      

  5.   

    补充二楼的   catch(Exception err)
       {
           myTran.Rollback();
        throw new ApplicationException("事务操作出错,系统信息:"+err.Message);
       }
      

  6.   

    啊哦啊哦 郁闷 问个问题  关于access转sql的程序的 请问除了从access里读出数据在写进sql中 还有什么办法?