跪求,关于事务急

sun_0079 2009-04-13 04:07:26
我有三个方法 我想一次性执行完毕 但要保证方法执行成功,我就想到的了事务,但我不太清楚事务能不能作用在方法上?如果可以 怎么用?
不知道我说的清楚不清楚

我有三个方法 a,b,c
a 执行成功后执行b
一但b 不成功 回滚 可不可以这样?在线等
...全文
80 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sun_0079 2009-04-13
  • 打赏
  • 举报
回复
啊哦啊哦 郁闷 问个问题 关于access转sql的程序的 请问除了从access里读出数据在写进sql中 还有什么办法?
JOCLI 2009-04-13
  • 打赏
  • 举报
回复
补充二楼的

   catch(Exception err)
   {
myTran.Rollback();
    throw new ApplicationException("事务操作出错,系统信息:"+err.Message);
   }
wartim 2009-04-13
  • 打赏
  • 举报
回复
数据库操作才有回滚的感念,其它操作只能自己取消吧
比如
A里写了文件
B里改了数据
C里建了目录

A出错什么都不做
B出错什么要把A的文件恢复原貌或删除新文件
C出错什么要把A的文件恢复原貌或删除新文件、B的数据事务回滚

但回滚过程如果发生错误,失败,就回滚不完整

不知道.net在安装时如果安装失败后回滚是怎么做的,
还有不知道能不能参考windows的数据还原功能,

sun_0079 2009-04-13
  • 打赏
  • 举报
回复
我是用来从access数据库里读出数据导入sql中 由于表有几个...所以要写几个方法
米か臹 2009-04-13
  • 打赏
  • 举报
回复
用线程是可以实现的,按照3楼的方法
alldj 2009-04-13
  • 打赏
  • 举报
回复
你方法里要执行的是什么操作?举个例子
sunny906 2009-04-13
  • 打赏
  • 举报
回复
三个方法 一次性执行完毕?
用线程试试看
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();
Terran5 2009-04-13
  • 打赏
  • 举报
回复

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();
   }

Myth_NiuNiu 2009-04-13
  • 打赏
  • 举报
回复
你定义一个事务,作为参数传进你的方法里!
都成功够执行事务提交,一个不成功事务回滚!

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧