SqlTransaction在c#中是怎么使用的
若以下回答无法解决问题,邀请你更新回答
展开全部
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()方法明确事务要提交还是回滚。
事务作为一个单元被提交和回滚,可以与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()方法明确事务要提交还是回滚。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询