处理事务的两种方式

转载 2011年01月15日 21:50:00

转自http://www.cnblogs.com/hnsdwhl/archive/2011/01/15/1936428.html

当要对两张表同时进行操作时,我们通常都要使用事务,避免在操作的过程中产生异常,而导致结果的不正确,我们可以在数据库中定义事务的处理,也可以利用asp.net的事务处理类来操作事务。具体这两张方法的使用,请看下面的介绍:

1.在数据库中进行处理,主要使用begin transaction,commit transaction,rollback transaction三个操作来实现,另外通过借助@@ERROR函数获取sql语句执行过程中是否发生了错误。

declare @error int
begin transaction
update AccountOfBank
set balance=balance+5000 where accountName='张三'
set @error=@error+@@ERROR
update AccountOfBank
set balance=balance-5000 where accountName='李四'
set @error=@error+@@ERROR
if(@error<>0)
rollback transaction
else
commit transaction

2.使用asp.net的事务处理类来操作

  

SqlConnection con = new SqlConnection("server=.;database=Test;uid=sa;pwd=123456");
con.Open();
SqlTransaction tran
= con.BeginTransaction();
SqlCommand cmd
= new SqlCommand();
cmd.Connection
= con;
cmd.Transaction
= tran;
try
{
cmd.CommandText
= "update AccountOfBank set balance=balance-5000 where accountName='张三'";
cmd.ExecuteNonQuery();
cmd.CommandText
= "update AccountOfBank set balance=balance+5000 where accountName='李四'";
cmd.ExecuteNonQuery();
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
}
finally
{
con.Close();
}

相关文章推荐

SpringBoot-Mybatis处理事务

  • 2017年08月15日 21:52
  • 48.08MB
  • 下载

MyBatis集合Spring(四)之使用Spring处理事务

1. Spring事务处理 使用MyBatis,你可以写代码去控制事务操作。例如,提交事务和回滚事务。 public Student createStudent(Student student) { ...

SQL中未处理事务的追踪

SQL Server 2008/2005中SQL应用系列--目录索引 无论是有意无意,如果事务在数据库中保持打开,则它会阻塞其他进程对修改后的数据进行操作。同样,对事务日志进行备份也只会截断不活动事...

Spring框架学习【Spring读取和处理事务配置】

1.Spring事务处理的基本过程: Spring事务处理主要分以下三个主要的过程: (1).读取和处理在Spring IoC容器中配置的事务处理属性,并转化为Spring事务处理所需要的内部数据...

web day19 Service层处理事务(利用ThreadLocal),TxQueryRunner小工具,单表练习(增删改查操作)

Service层处理事务(利用ThreadLocal),TxQueryRunner小工具,单表练习(增删改查操作)

学习Java如何处理事务

简单事务的概念   例如我们有一个订单库存管理系统,每一次生成订单的同时我们都要消减库存。通常来说订单和库存在数据库里是分两张表来保存的:订单表,库存表。每一次我们追加一个订单实际上需要两步...

JDBC中处理事务,小Demo

JDBC演示事务,即转账操作

sqlite处理事务的一个例子

事务在数据库中是一个重要的概念,使用事务可以保证数据的统一和完整性。同时也可以提高效率。拿我们上面创建的persons表来说,假设我要一次插入20个人的名字才算是操作成功,那么,在不使用事务的情况下,...
  • Mamong
  • Mamong
  • 2012年11月29日 22:08
  • 8721

JDBC处理事务的保存点

先上代码,(此代码参考传智播客李勇老师的JDBC视频)。 /**  * @ Title: JDBC_ACID1.java  * @ Package: com.ynsf.web.test  * ...
  • hyz_116
  • hyz_116
  • 2013年10月11日 00:24
  • 522
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:处理事务的两种方式
举报原因:
原因补充:

(最多只允许输入30个字)