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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • hotumoyi吉他_木棒能做什么

    hotumoyi吉他_木棒能做什么乔治拿来一组等长的木棒,将它们随机地砍断,使得每一节木棍的长度都不超过 50 个长度单位。然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始长度。请你设计一个程序,帮助乔治计算木棒的可能最小长度。每一节木棍的长度都用大于零的整数表示。输入格式输入包含多组数据,每组数据包括两行。第一行是一个不超过 64 的整数,表示砍断之后共有多少节木棍。第二行是截断以后,所得到的各节木棍的长度。在最后一组数据之后,是一个零。输出格式为每组数据,分别输出原始木棒的可能最小长度

    2022年8月9日
  • java按位异或的运算是,深入理解按位异或运算符

    java按位异或的运算是,深入理解按位异或运算符参与运算的两个值,如果两个相应bit位相同,则结果为0,否则为1。即:0^0=0,1^0=1,0^1=1,1^1=0按位异或的3个特点:(1)0^0=0,0^1=10异或任何数=任何数(2)1^0=1,1^1=01异或任何数-任何数取反(3)任何数异或自己=把自己置0按位异或的几个常见用途:(1)使某些特定的位翻转例如对数10100001的第2位和第3位翻转,则…

    2022年6月6日
  • httprunner(5)编写测试用例

    httprunner(5)编写测试用例编写测试用例HttpRunnerv3.x支持三种测试用例格式pytest,YAML和JSON。官方强烈建议以pytest格式而不是以前的YAML/JSON格式编写和维护测试用例格式关系如下图所示

    2022年7月31日
  • java日志级别(一般业务处理日志用什么级别)

    https://www.cnblogs.com/lingduqianli/p/7589173.html

    2022年4月17日
  • 第一范式、第二范式及第三范式的定义与举例

    第一范式、第二范式及第三范式的定义与举例第一范式存在非主属性对码的部分依赖关系R(A,B,C)AB是码C是非主属性B–>CB决定CC部分依赖于B第一范式定义:如果关系R中所有属性的值域都是单纯域,那么关系模式R是第一范式的那么符合第一模式的特点就有1)有主关键字2)主键不能为空,3)主键不能重复,4)字段不可以再分例如: StudyNo  |  Name  |  Sex  

    2022年5月22日
  • python 大数组切割成多个小数组

    python 大数组切割成多个小数组#一个大数组切割成无数的小数组defarr_size(arr,size):s=[]foriinrange(0,int(len(arr))+1,size):c=arr[i:i+size]s.append(c)newlist=[xforxinsifx]returnnewlist

    2022年6月22日

发表回复

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

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