ASP.NET 如何使用 SqlTransaction
2013-11-02 14:34
411 查看
[b]transaction属性:[/b]
1.原子性:事务是一个完整的操作,事务的各元素师不可分的。
2.一致性:事务开始时和完成时,数据必须处于一致的状态。
3.隔离性:对数据进行修改的所有并发事务是彼此隔离的。
4.持久性:事务完成后,它对系统的影响是永久的。
ASP.NET使用SqlTransaction处理事务操作
SqlTransaction类是对SQL Server数据库进行事务处理的类,该类的实例由SqlConnection类实例的BeginTransaction方法创建,表示在该数据库连接实例上开始一个数据库事务,创建SqlTransaction类实例后,在程序中使用该实例的Commit方法提交事务,或者使用该类的Rollback方法回滚事务。
下面的示例创建一个 SqlConnection 和一个
SqlTransaction。此示例演示如何使用BeginTransaction、Commit 和
Rollback 等方法。出现任何错误时事务都会回滚。Try/Catch 错误处理用于处理尝试提交或回滚事务时的所有错误。
private static void ExecuteSqlTransaction(string connectionString) { using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); SqlCommand command = connection.CreateCommand(); SqlTransaction transaction; transaction = connection.BeginTransaction("SampleTransaction"); command.Connection = connection; command.Transaction = transaction; try { command.CommandText = "Insert into Department (ID, Name) VALUES (1, '工程部')"; command.ExecuteNonQuery(); command.CommandText = "Insert into Users(ID, Name,DepartmentID) VALUES (1, 'xyz',1)"; command.ExecuteNonQuery(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); } } }
注意:在提交或回滚 SqlTransaction 时,应始终使用 Try/Catch 进行异常处理。如果连接终止或事务已在服务器上回滚,则Commit 和Rollback 都会生成InvalidOperationException
参考资料: SqlTransaction事务的用法 http://www.studyofnet.com/news/193.html
相关文章推荐
- c#调用COM组件
- 星外ASP.Net的安全设置相关说明
- c#中虚函数的相关使用方法
- 浅析C# web访问mysql数据库-整理归纳总结
- C# IP地址与整数之间转换的具体方法
- C#实现的阴历阳历互相转化类实例
- C# 的关键字详细介绍
- c# 获得局域网主机列表实例
- C#中Convert.ToInt32()和int.Parse()的区别介绍
- C#面向对象特征的具体实现及作用详解
- 关于C# Math 处理奇进偶不进的实现代码
- c# 随机函数的使用详解
- c#之圆形无标题栏椭圆窗体的实现详解
- C#页面之间跳转功能的小结
- 浅析C# 基础语法的使用
- C#中将字符串转换为整型的三种解决方法总结
- 深入c# GDI+简单绘图的具体操作步骤(一)
- C#中英文混合字符串截取函数
- C# 面向对象的基本原则
- 使用C#开源文件实时监控工具Tail&TailUI介绍