使用 CommittableTransaction 执行显式事务

简介:

准备工作

  • 添加 System.Transactions 引用(在解决方案的网站上右键);
  • 引用 System.Transactions 名称空间。

示例讲解

            using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection String"].ConnectionString))
            {
                using (var ct = new CommittableTransaction())
                {
                    conn.Open();
                    conn.EnlistTransaction(ct);//关联事务
                    using (var cmd = new SqlCommand())
                    {
                        cmd.Connection = conn;
                        cmd.CommandType = CommandType.Text;
                        try
                        {
                            cmd.CommandText = "insert into TranTable(Priority) values(1)";
                            cmd.ExecuteNonQuery();
                            cmd.CommandText = "insert into TranTable(Priority) values(256)";
                            cmd.ExecuteNonQuery();
                            ct.Commit();
                            Response.Write("Ok");
                        }
                        catch (SqlException ex)
                        {
                            ct.Rollback();
                            Response.Write("Error:" + ex.Message);
                        }
                    }
                }
                conn.Close();
            }

参考http://msdn.microsoft.com/zh-cn/library/ms172146(v=vs.90).aspx


目录
相关文章
|
23天前
|
消息中间件 存储 缓存
如何在无状态函数中实现事务性操作
如何在无状态函数中实现事务性操作
|
4月前
|
测试技术
三种等待方式(‌线程等待、‌隐式等待、‌显式等待)
三种等待方式(‌线程等待、‌隐式等待、‌显式等待)
201 4
|
4月前
|
Java 数据库连接 API
Spring事务管理嵌套事务详解 : 同一个类中,一个方法调用另外一个有事务的方法
Spring事务管理嵌套事务详解 : 同一个类中,一个方法调用另外一个有事务的方法
262 1
|
5月前
|
Java 开发者 Spring
spring事务类型,事务传递,隔离级别?
spring事务类型,事务传递,隔离级别?
|
6月前
|
存储 SQL 关系型数据库
MySQL事务的性情很“原子“,要么执行要么不执行
各位小伙伴有没遇到这个奇葩情况:业务逻辑对两个表加了事务操作,A表的存储引擎是InnoDB,B表的存储引擎却是MyISAM。事务要回滚时,麻烦就来了hhh,B表它回滚不了,那小伙伴打算要怎么处理~
MySQL事务的性情很“原子“,要么执行要么不执行
|
XML Java 数据格式
五、事务操作2
五、事务操作2
66 0
|
XML Java API
五、事务操作1
五、事务操作1
91 0
五、事务操作1
|
存储 编译器 C语言
if~else语句的执行过程及几个数据与零值比较时的注意事项
if~else语句的执行过程及几个数据与零值比较时的注意事项
108 0
|
NoSQL Redis 开发者
事务-事务的基本操作(定义,取消,执行)|学习笔记
快速学习事务-事务的基本操作(定义,取消,执行)
|
存储 SQL 缓存
mysql存储过程与事务
mysql存储过程与事务
712 0
mysql存储过程与事务