使用 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


目录
相关文章
|
11月前
|
Linux API C#
基于 .NET 开发的多功能流媒体管理控制平台
基于 .NET 开发的多功能流媒体管理控制平台
197 9
|
11月前
|
人工智能 关系型数据库 OLAP
通义百炼融合AnalyticDB,10分钟创建网站AI助手
本文介绍了如何在百炼平台上创建和配置AI助手,使其能够准确回答公司产品的相关问题。主要步骤包括:开通管理控制台、创建应用并部署示例网站、配置知识库、上传产品介绍数据、创建AnalyticDB PostgreSQL实例、导入知识文件、启用知识检索增强功能,并最终测试AI助手的回答效果。通过这些步骤,AI助手可以从提供通用信息转变为精准回答特定产品问题。实操完成后,还可以释放实例以节省费用。
406 2
|
机器学习/深度学习 自然语言处理 并行计算
西门子S7-1200组态网络连接,组态HMI连接
西门子S7-1200在图形化的网络视图工作区中,可以很方便地将具有联网能力的设备进行组网,下面我们就简单介绍如何组态网络连接及如何组态HMI连接。
西门子S7-1200组态网络连接,组态HMI连接
Flutter之自定义路由切换动画
Flutter之自定义路由切换动画 在Flutter中,我们可以通过Navigator来实现路由管理,包括路由的跳转和返回等。默认情况下,Flutter提供了一些简单的路由切换动画,但是有时候我们需要自定义一些特殊的动画效果来提高用户体验。本文将介绍如何在Flutter中实现自定义的路由切换动画。
546 0
Java 日期格式化工具类
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.
1728 0
|
人工智能
2023年8款好用免费可商用字体|标小智龙珠体
为了庆祝新的一年的开始,我筛选整理了一份8款实用且免费商用的中文字体清单。这些字体不仅易于使用,而且风格多样,可以用于logo设计、平面设计、标题设计等等,希望能够帮助到你。
2023年8款好用免费可商用字体|标小智龙珠体
|
JSON 数据格式 Kotlin
Kotlin | Flow数据流的几种使用场景
Flow数据流的几种使用场景及其注意事项
663 0
|
机器学习/深度学习
【技术分享】机器学习分类性能指标:准确率Accuracy/精确率Precision/召回率Recall/F1值
【技术分享】机器学习分类性能指标:准确率Accuracy/精确率Precision/召回率Recall/F1值
608 0
【技术分享】机器学习分类性能指标:准确率Accuracy/精确率Precision/召回率Recall/F1值