SqlTransaction的解析

SqlTransaction的解析SqlTransaction类表示要在SQLServer数据库中处理的Transact-SQL事务。无法继承此类应用程序通过在SqlConnection对象上调用BeginTransaction来创建SqlTransaction对象。对SqlTransactio

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

SqlTransaction类表示要在SQL Server数据库中处理的Transact-SQL事务。无法继承此类

应用程序通过在SqlConnection 对象上调用BeginTransaction 来创建 SqlTransaction 对象。对 SqlTransaction 对象执行与该事务关联的所有后续操作(例如提交或中止该事务)。

注意:在提交或回滚 SqlTransaction 时,应始终使用 Try/Catch 进行异常处理。如果连接终止或事务已在服务器上回滚,则Commit  和Rollback 都会生成

InvalidOperationException

示例:

下面的示例创建一个 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;

        // Start a local transaction.

        transaction = connection.BeginTransaction(“SampleTransaction”);

        // Must assign both transaction object and connection

        // to Command object for a pending local transaction

        command.Connection = connection;

        command.Transaction = transaction;

        try

        {

            command.CommandText =

                “Insert into Region (RegionID, RegionDescription) VALUES (100, ‘Description’)”;

            command.ExecuteNonQuery();

            command.CommandText =

                “Insert into Region (RegionID, RegionDescription) VALUES (101, ‘Description’)”;

            command.ExecuteNonQuery();

 

            // Attempt to commit the transaction.

            transaction.Commit();

            Console.WriteLine(“Both records are written to database.”);

        }

        catch (Exception ex)

        {

            Console.WriteLine(“Commit Exception Type: {0}”, ex.GetType());

            Console.WriteLine(”  Message: {0}”, ex.Message);

 

            // Attempt to roll back the transaction.

            try

            {

                transaction.Rollback();

            }

            catch (Exception ex2)

            {

                // This catch block will handle any errors that may have occurred

                // on the server that would cause the rollback to fail, such as

                // a closed connection.

                Console.WriteLine(“Rollback Exception Type: {0}”, ex2.GetType());

                Console.WriteLine(”  Message: {0}”, ex2.Message);

            }

        }

    }

}

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 让引擎不再是你的唯一,对百度再见

    让引擎不再是你的唯一,对百度再见

    2022年1月12日
    43
  • Django组件_django路由path

    Django组件_django路由path什么是Django中间件中间件(Middleware)是一个用来处理Django的请求(Request)和响应(Response)的框架级别的钩子,它是一个轻量、低级别的插件系统,用于在全局范围内改

    2022年7月29日
    7
  • eclipse环境下spring整合mybatis详细教程[通俗易懂]

    eclipse环境下spring整合mybatis详细教程[通俗易懂]系列目录第一篇:3分钟快速了解Mybatis的基础配置第二篇:带你3分钟了解Mybatis映射文件(sql,resultMap等映射)第三篇:三分钟带你了解mybatis关联映射(案例分析一对一,多对多)原创不易,如若喜欢,就点一点赞,关注一下吧!文章目录系列目录一、整合环境搭建-jar包准备1.spring所需要使用的jar包有(8+2):2.mybatis所需要使用的jar包有3.spring整合mybatis的中间jar二、整合环境搭建-创建项目1.eclipse环境创建2.jar添

    2022年5月2日
    53
  • navicat8注册码

    navicat8注册码NavicatforMySQLEnterpriseEdition8注册码:NAVJ-W56S-3YUU-MVHVNAVE-WAGB-ZLF4-T23K

    2022年10月10日
    4
  • Nginx sendfile原理详解[通俗易懂]

    Nginx sendfile原理详解[通俗易懂]配置语法语法:sendfileon|off;默认值:sendfileoff;上下文:http,server,location,ifinlocation说明sendfile值为on,指定使用sendfile系统调用来传输文件。sendfile系统调用在两个文件描述符之间直接传递数据(完全在内核中操作),从而避免了数据在内核缓冲区和用户缓冲区之间的拷贝,操作效率很高,被…

    2022年5月16日
    203
  • Visio2013 Professional专业版密钥

    Visio2013 Professional专业版密钥Visio2013密钥专业版:VisioProfessional2013KEYC2FG9-N6J68-H8BTJ-BW3QX-RM3B32NYF6-QG2CY-9F8XC-GWMBW-29VV8FJ2N7-W8TXC-JB8KB-DCQ7Q-7T7V3VXX6C-DN3HQ-3CRXG-RF4KT-YG7V3B3C7Q-D6NH2-2VRFW-HHWDG-FVQB6转载自:https://blog.csdn.net/alittleyatou/article/detail.

    2022年6月24日
    64

发表回复

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

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