SqlTransaction 类[通俗易懂]

SqlTransaction 类[通俗易懂](事务详解)SqlTransaction类表示要在SQLServer数据库中处理的Transact-SQL事务。应用程序通过在SqlConnection对象上调用BeginTransaction来创建SqlTransaction对象。对SqlTransaction对象执行与该事务关联的所有后续操作(例如提交或中止该事务)。注意在提交或回滚SqlTran

大家好,又见面了,我是你们的朋友全栈君。(事务详解)SqlTransaction 类


SqlTransaction 类[通俗易懂]
表 示要在 SQL Server 数据库中处理的 Transact-SQL 事务。应用程序通过在 SqlConnection 对象上调用 BeginTransaction 来创建 SqlTransaction 对象。对 SqlTransaction 对象执行与该事务关联的所有后续操作(例如提交或中止该事务)。



SqlTransaction 类[通俗易懂]




SqlTransaction 类[通俗易懂]
注意



SqlTransaction 类[通俗易懂]
在提交或回滚 SqlTransaction 时,应始终使用 Try/Catch 进行异常处理。如果连接终止或事务已在服务器上回滚,则 Commit 和 Rollback 都会生成 InvalidOperationException。



SqlTransaction 类[通俗易懂]




SqlTransaction 类[通俗易懂]
下 面的示例创建一个 SqlConnection 和一个 SqlTransaction。此示例还演示如何使用 BeginTransaction、Commit 和 Rollback 等方法。出现任何错误时事务都会回滚。Try/Catch 错误处理用于处理尝试提交或回滚事务时的所有错误。



SqlTransaction 类[通俗易懂]




SqlTransaction 类[通俗易懂]
private static void ExecuteSqlTransaction(string connectionString)



SqlTransaction 类[通俗易懂]


SqlTransaction 类[通俗易懂]


SqlTransaction 类[通俗易懂]
{



SqlTransaction 类[通俗易懂]
     using (SqlConnection connection = new SqlConnection(connectionString))



SqlTransaction 类[通俗易懂]


SqlTransaction 类[通俗易懂]
    

SqlTransaction 类[通俗易懂]
{



SqlTransaction 类[通俗易懂]
         connection.Open();



SqlTransaction 类[通俗易懂]




SqlTransaction 类[通俗易懂]
         SqlCommand command = connection.CreateCommand();



SqlTransaction 类[通俗易懂]
         SqlTransaction transaction;



SqlTransaction 类[通俗易懂]




SqlTransaction 类[通俗易懂]
         // Start a local transaction.



SqlTransaction 类[通俗易懂]
         transaction = connection.BeginTransaction(“SampleTransaction”);



SqlTransaction 类[通俗易懂]




SqlTransaction 类[通俗易懂]
         // Must assign both transaction object and connection



SqlTransaction 类[通俗易懂]
         // to Command object for a pending local transaction



SqlTransaction 类[通俗易懂]
         command.Connection = connection;



SqlTransaction 类[通俗易懂]
         command.Transaction = transaction;



SqlTransaction 类[通俗易懂]




SqlTransaction 类[通俗易懂]
         try



SqlTransaction 类[通俗易懂]


SqlTransaction 类[通俗易懂]
        

SqlTransaction 类[通俗易懂]
{



SqlTransaction 类[通俗易懂]
             command.CommandText =



SqlTransaction 类[通俗易懂]
                 “Insert into Region (RegionID, RegionDescription) VALUES (100, ‘Description’)”;



SqlTransaction 类[通俗易懂]
             command.ExecuteNonQuery();



SqlTransaction 类[通俗易懂]
             command.CommandText =



SqlTransaction 类[通俗易懂]
                 “Insert into Region (RegionID, RegionDescription) VALUES (101, ‘Description’)”;



SqlTransaction 类[通俗易懂]
             command.ExecuteNonQuery();



SqlTransaction 类[通俗易懂]




SqlTransaction 类[通俗易懂]
             // Attempt to commit the transaction.



SqlTransaction 类[通俗易懂]
             transaction.Commit();



SqlTransaction 类[通俗易懂]
             Console.WriteLine(“Both records are written to database.”);



SqlTransaction 类[通俗易懂]
         }



SqlTransaction 类[通俗易懂]
         catch (Exception ex)



SqlTransaction 类[通俗易懂]


SqlTransaction 类[通俗易懂]
        

SqlTransaction 类[通俗易懂]
{



SqlTransaction 类[通俗易懂]
             Console.WriteLine(“Commit Exception Type: {0}”, ex.GetType());



SqlTransaction 类[通俗易懂]
             Console.WriteLine(”   Message: {0}”, ex.Message);



SqlTransaction 类[通俗易懂]




SqlTransaction 类[通俗易懂]
             // Attempt to roll back the transaction.



SqlTransaction 类[通俗易懂]
             try



SqlTransaction 类[通俗易懂]


SqlTransaction 类[通俗易懂]
            

SqlTransaction 类[通俗易懂]
{



SqlTransaction 类[通俗易懂]
                 transaction.Rollback();



SqlTransaction 类[通俗易懂]
             }



SqlTransaction 类[通俗易懂]
             catch (Exception ex2)



SqlTransaction 类[通俗易懂]


SqlTransaction 类[通俗易懂]
            

SqlTransaction 类[通俗易懂]
{



SqlTransaction 类[通俗易懂]
                 // This catch block will handle any errors that may have occurred



SqlTransaction 类[通俗易懂]
                 // on the server that would cause the rollback to fail, such as



SqlTransaction 类[通俗易懂]
                 // a closed connection.



SqlTransaction 类[通俗易懂]
                 Console.WriteLine(“Rollback Exception Type: {0}”, ex2.GetType());



SqlTransaction 类[通俗易懂]
                 Console.WriteLine(”   Message: {0}”, ex2.Message);



SqlTransaction 类[通俗易懂]
             }



SqlTransaction 类[通俗易懂]
         }



SqlTransaction 类[通俗易懂]
     }



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

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

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


相关推荐

  • 树的专题整理(二)

    树的专题整理(二)

    2022年2月2日
    36
  • poe交换机的供电方式_普通交换机能与PoE连接吗

    poe交换机的供电方式_普通交换机能与PoE连接吗PoE交换机是指能够通过网线为远端受电终端提供网络供电的交换机,是PoE供电系统中比较常见的供电设备,可是,如果一个交换机没有POE功能,那么可不可以额外加一个poe供电模块经过交换机给ap供电呢?接下来就由飞畅科技的小编来为大家详细介绍下,一起来看看吧!  其实是可以的,只能算利用了百兆网络环境里网线中闲置的4578脚,来传输电源而已。那就是在交换机和AP中间跨接一个POE合路器(又称POE供电器),但前提要看你的AP是否支持接受POE供电。  POE交换机供电方式一  那么如果你的是吸顶

    2022年10月4日
    3
  • 【detectron】FPN网络输入

    【detectron】FPN网络输入在 detectron 训练网络的过程中 给网络送的 blob 在下面的函数中生成 位于 minibatch py defget minibatch roidb Givenaroidb constructami Wecollectblo

    2025年12月7日
    3
  • Reverse Integer

    Reverse Integer

    2021年12月15日
    41
  • vdbench的使用教程——裸盘测试和文件系统测试

    一、vdbench简介  vdbench是一个I/O工作负载生成器,用于验证数据完整性和度量直接附加和网络连接的存储的性能。它是一个免费的工具,容易使用,而且常常用于测试和基准测试。可以使用vdbench测试磁盘和文件系统的读写性能。vdbench中常用的一些名词解释:HD  主机定义 SD  存储定义  WD 工作负载定义 RD  运行定义 FSD…

    2022年4月3日
    1.1K
  • 2021前端高级面试题_2021前端面试题目100及最佳答案

    2021前端高级面试题_2021前端面试题目100及最佳答案一、简单页面1、CSS选择器样式优先级2、CSS实现三列布局(左右固定宽度,中间自适应)(1)CSS浮动第一个float:left,第二个float:right,第三个设置margin-left和margin-right(2)绝对定位法第一个定位到left,第二个定位到right,第三个设置margin-left和margin-right(3)flex布局.left{width:200px;或者flex:00200px;}.right{width:200px;

    2022年8月29日
    4

发表回复

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

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