关于数据库更新事务?

goodbegin 2004-12-24 01:22:06
我现在希望实现类似下面的功能:
有一DataSet中包含2张或2张以上表,我希望在更新DataSet中表时,如果其中一张出错则全部滚回,如:
ds1.update(ds1.tables[0]);
ds1.update(ds1.tables[1]);
ds1.update(ds1.tables[2]);
当ds1.tables[2]时出错则ds1.tables[0]也滚回到更新以前,这样的功能该如何实现,希望能有具体的代码描述,谢谢

...全文
170 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mengfanpp 2004-12-29
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/3673/3673314.xml?temp=.4528009
你参考一下!
goodbegin 2004-12-25
  • 打赏
  • 举报
回复
晕,怎么没加分得地方?
goodbegin 2004-12-25
  • 打赏
  • 举报
回复
谢谢大家给出这么多帮助,圣诞节本人加分给^_^
mengfanpp 2004-12-24
  • 打赏
  • 举报
回复
合适就结贴给分!^-^
mengfanpp 2004-12-24
  • 打赏
  • 举报
回复
你参考一下!
mengfanpp 2004-12-24
  • 打赏
  • 举报
回复
SqlConnection conn = new SqlConnection(cnStr);
conn.Open();
//启用事务
SqlTransaction tran = conn.BeginTransaction();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.Transaction = tran;
try
{
cmd.CommandText = "update BeijingUser set balance = balance - 1000 where uid = '123456'";
cmd.ExecuteNonQuery();
cmd.CommandText = "update ShanghaiUser set balance = balance + 1000 where uid = '456789'";
cmd.ExecuteNonQuery();
tran.Commit();
Response.Write("<script>window.alert('事务提交成功!');</script>");
}
catch(Exection ex)
{
tran.Rollback();
Response.Write("<script>window.alert('事务提交失败,事物会滚!');</script>");
}
welshem 2004-12-24
  • 打赏
  • 举报
回复


事务对象 = 连接对象.BeginTransaction();
ds1.InsertCommand.Transaction=事务对象;
ds1.DeleteCommand.Transaction=事务对象;
ds1.UpdateCommand.Transaction=事务对象;
try {
ds1.update(ds1.tables[0]);
ds1.update(ds1.tables[1]);
ds1.update(ds1.tables[2]);
事务对象.Commit();}
catch{
事务对象.Rollback();
}
rustical 2004-12-24
  • 打赏
  • 举报
回复

try

MyTrans = objSqlCon.BeginTransaction
....

dataadapter1.update(ds1.tables[0]);
dataadapter2.update(ds1.tables[1]);
dataadapter3.update(ds1.tables[2]);

mytrans.commit
catch ex
mytrans.rollback
finally
objSqlCon.close
end try

pingnt 2004-12-24
  • 打赏
  • 举报
回复
用带事务处理的存储过程解决...

110,535

社区成员

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

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

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