C#中跨库增删改事务控制

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-1 10:33   880   0

TransactionScope

TransactionScope类是framework2.0 新增的一个类,在System.Transactions命名空间中,使用时必须先添加System.Transactions引用;另外还要在windows控制面版-->管理工具-->服务-->Distributed Transaction Coordinator-->属性-->启动,启动这个服务.示例代码如下:

ContractedBlock.gif ExpandedBlockStart.gif 代码

   
try
{
using (TransactionScope scope = new TransactionScope())
{
// 更新northwind数据库的Employees表
using (SqlConnection conOne = new SqlConnection( " server=.;uid=sa;pwd=123;database=northwind " ))
{
conOne.Open();

SqlCommand command
= new SqlCommand( " update Employees set lastname='chen' where employeeid='1' " , conOne);
int i = command.ExecuteNonQuery();
}

// 更新pubs数据库的jobs表
using (SqlConnection conTwo = new SqlConnection( " server=.;uid=sa;pwd=123;database=pubs " ))
{
conTwo.Open();
SqlCommand command
= new SqlCommand( " update jobs set job_desc='chen' where job_id='1' " , conTwo);
int i = command.ExecuteNonQuery();
}

scope.Complete();
// 提交事物
}
}
catch (Exception ex) // 发生异常后自动回滚
{

// throw;
}



转载于:https://www.cnblogs.com/zyf19860907/archive/2010/08/25/1808531.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP