ASP.NET 如何使用 SqlTransaction

ASP.NET 如何使用 SqlTransactiontransaction属性: 1.原子性:事务是一个完整的操作,事务的各元素师不可分的。2.一致性:事务开始时和完成时,数据必须处于一致的状态。3.隔离性:对数据进行修改的所有并发事务是彼此隔离的。4.持久性:事务完成后,它对系统的影响是永久的。  ASP.NET使用SqlTransaction处理事务操作 SqlTransaction类是对SQLSe

大家好,又见面了,我是你们的朋友全栈君。

 

transaction属性:

 

1.原子性:事务是一个完整的操作,事务的各元素师不可分的。

2.一致性:事务开始时和完成时,数据必须处于一致的状态。

3.隔离性:对数据进行修改的所有并发事务是彼此隔离的。

4.持久性:事务完成后,它对系统的影响是永久的。

 

 

ASP.NET使用SqlTransaction处理事务操作

 

SqlTransaction类是对SQL Server数据库进行事务处理的类,该类的实例由SqlConnection类实例的BeginTransaction方法创建,表示在该数据库连接实例上开始一个数据库事务,创建SqlTransaction类实例后,在程序中使用该实例的Commit方法提交事务,或者使用该类的Rollback方法回滚事务。

 

下面的示例创建一个 SqlConnection 和一个 SqlTransaction。此示例演示如何使用BeginTransactionCommitRollback 等方法。出现任何错误时事务都会回滚。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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133120.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月1日 下午2:40
下一篇 2022年5月1日 下午2:40


相关推荐

  • 加盟网建设优化备忘

    加盟网建设优化备忘

    2021年11月17日
    38
  • Python基础教程,Python入门教程(非常详细)[通俗易懂]

    Python基础教程,Python入门教程(非常详细)[通俗易懂]Python英文本意为“蟒蛇”,直到1989年荷兰人GuidovanRossum(简称Guido)发明了一种面向对象的解释型编程语言(后续会介绍),并将其命名为Python,才赋予了

    2022年7月3日
    44
  • PHP error_reporting() 错误控制函数功能详解

    PHP error_reporting() 错误控制函数功能详解

    2021年9月19日
    52
  • Linux 常用命令 tar 打包文件夹

    Linux 常用命令 tar 打包文件夹linuxzip压缩。压缩当前文件夹下所有文件,压缩为a.zip。zip-rfileName.zip文件夹名linuxtar打包(可以不压缩哦~)tar命令可以用来压缩打包单文件、多个文件、单个目录、多个目录。单个文件压缩打包tarczvfmy.tarfile1多个文件压缩打包tarczvfmy.tarfile1file2,…单个目…

    2022年5月6日
    77
  • 如何用正确的姿势打开以及配置pycharm

    如何用正确的姿势打开以及配置pycharm前言本文的文字及图片来源于网络 仅供学习 交流使用 不具有任何商业用途 版权归原作者所有 如有问题请及时联系我们以作处理 作为一名编程学习者 需要利用到 pycharm 进行代码编写时 有的人会直接拖拽 py 文件进入 pycharm 有的人会选择新建 newproject 个人的习惯是打开一个完整文件夹 再进行 python 配置后正式编写代码 这样做有两个好处 1 避免拖拽导致有时更新保存的代码出错 2 充分利用 pycharm 的 project 特性 也避免从开始直接新建一个 new

    2026年3月27日
    1
  • c语言中strstr函数怎么实现_c语言strstr函数怎么写

    c语言中strstr函数怎么实现_c语言strstr函数怎么写首先,我们来看strstr函数的使用可见,strstr函数是用来查找字串的一个函数。因为字符串中有“cde”子串,所以代码运行起来结果就是”cdef”。现在,我们已经将strstr函数的作用大概了解了一下,下面开始函数的模拟实现。首先,在cplusplus中搜索strstr可以了解到她返回的类型及参数相关链接:strstr-C++Reference(cplusplus.com)接下来,我们分析实现思路直到s1到了下图的位置,两者相等当*s1==*s2时进入while循环,s1+

    2022年10月9日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号