ASP.NET基础教程-SqlCommand对象-Transaction事务的使用

 
ASP.NET基础教程-SqlCommand对象-Transaction事务的使用

事务作为一个单元被提交和回滚,可以与SQL语句进行组合使用,例如:对于银行事务,可以要从一个帐号取钱,存到另一个帐号中,然后在一个单元中提交这些改变,如果发生问题,则同时回滚这些改变。通过设置SqlCommand对象的事务属性Transaction与SqlTransaction对象绑定来实现事务处理。

使用步骤如下:

1、生成SqlTransaction对象,并用SqlConnection对象的BeginTransaction方法开始事务。

2、生成保存SQL语句的SqlCommand对象。

3、 将SqlCommand对象的Transaction属性设置为第1步生成的SqlTransaction对象。

4、将SqlCommand对象的CommandText属性设置为第一个INSERT语句。

5、用SqlCommand对象的ExecuteNonQuery()方法执行第一个INSERT语句。此方法不返回结果集。

6、将SqlCommand对象的CommandText属性设置为第二个INSERT语句。

7、用SqlCommand对象的ExecuteNonQuery()方法执行第二个INSERT语句。此方法不返回结果集。

8、用SqlTransaction对象的Commit()方法提交事务,使INSERT语句增加的两行在数据库中保存。

说明:如果要撤消构成事务的SQL语句,则可以用Rollback()方法而不是Commit()方法。默认情况下,事务撤消一定要用Commit()或Rollback()方法明确事务要提交还是回滚。

下面代码使用ExecuteNonQuery执行INSERT语句并用SqlTransaction对象进行数据提交

con.Open();//在调用方法前打开数据库连接

SqlCommand comm=new con.CreateCommand();//创建和声明Command对象

SqlTransaction tran=con.BeginTransaction();//在生成SqlTransaction对象前必须打开数据库连接

comm.Transaction=tran;//设置属性为SqlTransaction对象

comm.CommandText= “insert into dept(dept) values(‘信息组’)”;//设置
SqlCommand对象要执行的SQL语句

comm.ExecuteNonQuery();//执行SQL语句

comm.CommandText= “insert into dept(dept) values(‘生产物流组’)”; //设置SqlCommand对象要执行的SQL语句

comm.ExecuteNonQuery();//执行SQL语句

tran.Commit();提交INSERT语句对数据库中表的改变。如果要撤消改变,使用Rollback()

con.Close();//关闭数据库连接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值