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年6月10日 上午11:36
下一篇 2022年6月10日 上午11:46


相关推荐

  • jsp+ajax_javascriptjavascript日

    jsp+ajax_javascriptjavascript日明后两天梁言兵老师来讲Ajax及其最近作过的一个真实的Ajax项目,所以,我今天讲解梁老师的课程所需要的一些前置知识。因为大家对Javascript不是很熟悉,所以我首先讲解Javascript的DHTML功能。本来入学考试要求大家很好地掌握Javascript的,但是大家都不能理解我们的苦衷,并没有专心去对待Javascript。想想我前两年强调javascript和css的重要性时,一些培训中

    2025年10月27日
    3
  • vim复制粘贴_vim如何复制粘贴

    vim复制粘贴_vim如何复制粘贴一、打开文件        执行vimtest命令打开test文件        在命令模式下输入setnu,展示文本行号二、按字符复制与粘贴        在命令行模式下输入字符v(小写),便可以进入按字符选择模式,通过h、i、j、k键移动光标选择要进行复制的字符串。        完成选择后按下y键进行复制,将鼠标移动到最后一行,按下p执行粘贴操作就完成了对选择…

    2022年4月19日
    61
  • 扣子工作流,实现小红书笔记自动化筛选推荐,选择困难症首选(附提示词)

    扣子工作流,实现小红书笔记自动化筛选推荐,选择困难症首选(附提示词)

    2026年3月13日
    4
  • ReadProcessMemory函数的分析「建议收藏」

    ReadProcessMemory函数的分析「建议收藏」ReadProcessMemory函数用于读取其他进程的数据。我们知道自远古时代结束后,user模式下的进程都有自己的地址空间,进程与进程间互不干扰,这叫私有财产神圣不可侵犯。但windows里还真就提供了那么一个机制,让你可以合法的获取别人的私有财产,这就是ReadProcessMemory和WriteProcessMemory。为什么一个进程居然可以访问另一个进程的地址空间呢?因为独立的只是低

    2022年10月4日
    3
  • 磁盘未初始化 修复_初始化磁盘是什么意思

    磁盘未初始化 修复_初始化磁盘是什么意思磁盘没有初始化是因为0号扇区损坏,导致机械硬盘分区表读取不出来,从而机械硬盘出现磁盘没有初始化。工具/软件:极限数据恢复软件步骤1:程序打开后,直接双击需要恢复数据的物理盘。步骤2:等待程序扫描完毕大概需要几分钟到半个小时,稍微耐心等下即可。步骤3:软件扫描到资料后,软件会将扫描到的分区列出来。步骤4:勾上所有需要恢复的资料,右击选择《复制勾选的文件》,…

    2022年4月19日
    134
  • 保姆级教程!字节全家桶秒搭扣子开源版,附赠实用 AI 智能体开发实战

    保姆级教程!字节全家桶秒搭扣子开源版,附赠实用 AI 智能体开发实战

    2026年3月12日
    2

发表回复

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

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