C#中实现Transaction事务处理
2010-09-28 13:27
423 查看
嗯,C#中处理transaction事务是前天偶然在一个视频教程中看到的。自己的理解就是:事务允许同时执行多条SQL语句,如果其中一条执行失败则会把之前执行的语句撤销。纯属个人见解。
在网络上搜索到的比较容易理解的定义:事务(Transaction)是并发控制的单位,是用户定义的一個操作序列。這些操作要么都做,要么都不做,是一個不可分割的工作单位。通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。
还是例子比较直接:
在网络上搜索到的比较容易理解的定义:事务(Transaction)是并发控制的单位,是用户定义的一個操作序列。這些操作要么都做,要么都不做,是一個不可分割的工作单位。通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。
还是例子比较直接:
public void DbTest() { //数据库连接字符串 string connstr = "server='LUCAS'; database='ClassmatesRecord'; uid='sa'; pwd='198999'"; //command语句 string strcmd1="insert personalmessages (name,sex,cellphone,telephone,QQ) values ('测试','男','1234567890','1234567','540593854')"; string strcmd2 = "update personalmessages set name='老师' where id=82"; //建立连接 SqlConnection sqlconn = new SqlConnection(connstr); //创建执行SQL语句的对象 SqlCommand cmd = new SqlCommand(); cmd.Connection = sqlconn; //创建事务 SqlTransaction sqltran; //打开连接 sqlconn.Open(); //开始事务 sqltran = sqlconn.BeginTransaction(); //为一个即将发生的事务指派对象 cmd.Transaction = sqltran; try { //执行SQL语句 cmd.CommandText = strcmd1; int flag1 = cmd.ExecuteNonQuery(); cmd.CommandText = strcmd2; int flag2 = cmd.ExecuteNonQuery(); //提交事务 sqltran.Commit(); if (flag1 > 0&&flag2>0) { MessageBox.Show("SQL语句执行成功"); } } catch (Exception) { //事务回滚 sqltran.Rollback(); } finally { //善后工作 cmd.Dispose(); sqlconn.Close(); } }
相关文章推荐
- C#实现数据库事务处理的简单示例代码
- c#事务处理(Transaction)
- C#实现数据库事务处理示例代码
- C#实现数据库事务处理示例代码
- C#实现数据库事务处理的简单示例代码
- C#实现数据库事务处理示例代码
- C#中实现Sql的事务处理
- 用C#(CSharp)实现SQL Server的事务处理
- 步步为营 C# 技术漫谈 七、事务处理(Transaction)
- C#中實現Transaction事务处理
- C#实现数据库事务处理示例代码
- 步步为营 C# 技术漫谈 七、事务处理(Transaction)
- C#中實現Transaction事务处理
- .NET中的处理 Transact-SQL 事务(C#)SqlTransaction 类
- 多阈值处理利用双Otsu阈值-C#实现-基于EmguCv
- 利用事务实现跨库数据处理
- 看门外汉如何实现:C#操作 MongoDB基本CURD的事务控制之 第二部分
- .Net/C# 封装磁盘目录文件搜索功能的工具类 (实现了与搜索相关的事件,以便插入客户处理代码)
- C# WinForm 实现增删改查等功能(Access版) 系列之七-图片处理
- State模式的经典应用场景:订单处理(c#实现)