【C#基础知识扫盲点】事务的使用范围好处

本文介绍了一个SQL事务处理的例子,通过一个数组保存要执行的SQL语句并确保这些操作要么全部成功要么全部失败。此方法适用于需要同时更新多个相关记录的场景,如银行转账。

通常当你要更新多条关联SQL的时候,应该使用事务
举个例子:
银行转帐,从A划帐到B的帐户,
先运行一条SQL,扣除A帐户100元;
再运行一条SQL,增加B帐户100元
这2条SQL要么都执行成功,要么都不成功,
如果只有一条成功就会出现问题

这里就应该使用事务了,我写的一个例子:
参数是一个数组,保存了要执行的SQL
public bool ExecuteNone(string[] sql) { bool result; OleDbConnection con = this.GetConn(); OleDbTransaction trans = con.BeginTransaction();//开始数据库事务 OleDbCommand dbComm = new OleDbCommand(); dbComm.Connection = con; dbComm.Transaction = trans; try { for (int i=0;i<sql.Length;i++) {//执行数组中的SQL if (sql[i] == null || sql[i] == "") {//数组中有一个空项时跳过 continue; } dbComm.CommandText = sql[i]; dbComm.ExecuteNonQuery(); } trans.Commit();//全部SQL执行成功后,提交数据库事务 result = true; } catch (System.Exception) { trans.Rollback();//如果出错,回滚数据库事务 result = false; } this.CloseConn(con); return result; }//end ExecuteNone

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值