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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 5G、切片、MEC[通俗易懂]

    5G、切片、MEC[通俗易懂]5G、切片、MEC

  • 监控在服务器中的作用和功能,视频安防监控服务器能实现哪些功能以及解决哪些问题呢…

    监控在服务器中的作用和功能,视频安防监控服务器能实现哪些功能以及解决哪些问题呢…随着物联网的快速发展,视频安防监控服务器开发也在不断的进步,核心技术是进行视频监控服务器开发的重要基础。但由于要满足用户的各种各样的需求,还需要解决很多相关技术。那么视频安防监控服务器能实现哪些功能?解决哪些问题呢?下面就和小编一起来了解下吧。1、操作系统其实操作系统的开发是一个很困难的技术问题,列为核心技术绝不为过,但是正因为难度太大,仅仅为开发视频监控服务器而开发DM642上的操作系统代价太大…

  • zynq双核运行设计_zynq udp

    zynq双核运行设计_zynq udp前面文章讲解了《zynq高速存储方案》,那种方案是针对单个pciehost设计的方案,当项目需求记录速度很高,并且没有国产化要求时,可以考虑使用ZynqUltraScale+系列的ZU11EG芯片,该芯片成本低,且支持4个PCIe硬核,可以将该4个pcie都配置成host模式,在每个host下挂载pcie3.0x4的SSD固态硬盘,这样每个pciehost能够跑的速率就是ssd盘能够支持的最大速率,如果选择三星的SSD盘,那么PCIe3.0x4读写速率能够到3GB/s,那么4个…

  • 你的账户被停用,请向系统管理员咨询_win10退出管理员账户

    你的账户被停用,请向系统管理员咨询_win10退出管理员账户当你的电脑误操作了以下步骤,或者被篡改了设置了这里那恭喜你,重启后就登不上Administrator账户了首先看一下网上的两种无效方式无效方式一:带命令符的安全模式一般两种方式进入安全模式:方式一:F8进入方式二:按住shift重启cmd中输入netuseradministrator/active:yes亲测无效,依然登录不进去无效方式二:PE进入设置用户和组…

    2022年10月26日
  • Maven配置环境变量后不起作用的原因「建议收藏」

    Maven配置环境变量后不起作用的原因「建议收藏」Maven配置环境变量后不起作用的原因一.首先去maven官网下载maven相关文件点击左侧download选项选择图片中的Binaryziparchive apache-maven-3.8.1-bin.zip进行下载并解压到本地这个是解压后的文件二.配置环境变量1.添加MAVEN_HOME环境变量D:\Java\maven\apache-maven-3.8.12.添加M2_HOME环境变量(后面学习Spring会用到,可以先不进行配置)D:\Java\maven\apa

  • 福利福利~262集前端免费视频!「建议收藏」

    福利福利~262集前端免费视频!「建议收藏」作者:技术胖原文地址:https://juejin.im/post/5c11bf145188252704368b98来源:掘金2018还有十几天就要过完了,我觉的这一年我的成长并不是很快,有很多

发表回复

您的电子邮箱地址不会被公开。

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