SQLServer同一实例下事务操作

参考代码:

引用Dapper

public bool OrderAdd2(User user, Order order)
        {
            string dbString = ConfigurationManager.ConnectionStrings["TDB"].ConnectionString;
            string db2String = ConfigurationManager.ConnectionStrings["TDB2"].ConnectionString;

            SqlConnection conn = new SqlConnection(dbString);
            SqlConnection conn2 = new SqlConnection(db2String);

            conn.Open();
            conn2.Open();

            SqlTransaction tran = conn.BeginTransaction();
            SqlTransaction tran2 = conn2.BeginTransaction();

            //SqlCommand cmd = conn.CreateCommand();
            //cmd.CommandText = $"insert into [User](USex,UName)values(‘{user.USex}‘,‘{user.UName}‘)";
            //cmd.Transaction = tran;
            //SqlCommand cmd2 = conn2.CreateCommand();
            //cmd2.CommandText = $"insert into [Order](UID,Date)values(‘{order.UID}‘,‘{order.Date}‘)";
            //cmd2.Transaction = tran2;

            string cmdTxt = $"insert into [User](USex,UName)values(@USex,@UName)";

            string cmdTxt2 = $"insert into [Order](UID,Date)values(@UID,@Date)";

            try
            {
                //cmd.ExecuteNonQuery();
                //cmd2.ExecuteNonQuery();
                conn.Execute(cmdTxt,user,tran);
                conn2.Execute(cmdTxt2, order, tran2);

                tran.Commit();
                tran2.Commit();
                return true;
            }
            catch (Exception ex)
            {
                tran.Rollback();
                tran2.Rollback();
                return false;
            }
            finally
            {
                conn.Close();
                conn2.Close();
            }
        }

原文地址:https://www.cnblogs.com/binlyzhuo/p/9623484.html

时间: 2024-11-01 23:49:15

SQLServer同一实例下事务操作的相关文章

MySQL事务操作

在 MySQL 命令行的默认设置下,事务都是自动提交的,即执行 SQL 语句后就会马上执行 COMMIT 操作.因此要显式地开启一个事务务须使用命令 BEGIN 或 START TRANSACTION,或者执行命令 SET AUTOCOMMIT=0,用来禁止使用当前会话的自动提交. 菜鸟教程:https://www.runoob.com/mysql/mysql-transaction.html 事务控制语句: BEGIN 或 START TRANSACTION 显式地开启一个事务: COMMIT

SpringBoot JPA实现增删改查、分页、排序、事务操作等功能

今天给大家介绍一下SpringBoot中JPA的一些常用操作,例如:增删改查.分页.排序.事务操作等功能.下面先来介绍一下JPA中一些常用的查询操作: //And --- 等价于 SQL 中的 and 关键字,比如 findByHeightAndSex(int height,char sex): public List<User> findByHeightAndSex(int height,char sex); // Or --- 等价于 SQL 中的 or 关键字,比如 findByHeig

如何在一个实例下并存行存储和列存储数据库

相关概念 BLU Acceleration BLU Acceleration 是 DB2 10.5 最新特性,与传统的行存储数据方式不同,数据是按照列来进行组织存储的,即采用列式存储.BLU 除了列存储表特性外,它的数据跳读,SIMD 和类哈弗曼的压缩算法等特性方便在内存中完成数据处理,简化并且加速了数据分析的工作量.同时不再需要索引.MQT 等,这样易于实施并可以自行调优,提高了 CPU 的使用率,以及降低了 IO. IBM Data Server Manager IBM 最新推出的管理多种平

C# 委托实例(跨窗体操作控件)

原文地址 http://blog.csdn.net/bdstjk/article/details/7004035 FORM1(一个名为“打开form2”的button控件) FORM2(一个名为“改变form1颜色“的button控件) 启动时,FORM1中点击button控件“打开form2””使FORM2显示出来. 点击FORM2中的“改变form1颜色”后,Form1中颜色改变. 完整代码 1 using System; 2 using System.Collections.Generic

MySql的事务操作与示例

事务就是一个逻辑工作单元的一系列步骤.事务是用来保证数据操作的安全性 事务的特征: Atomicity(原子性) Consistency(稳定性,一致性) Isolation(隔离性) Durability(可靠性) [事务只针对对数据数据产生影响的语句有效] show engines  //查看mysql锁支持的数据引擎 MyISAM不支持事物,InnoDB支持事物 默认情况下,MySQL将以自动提交模式运行,这意味着没一条小命令都将当做一个只有一条命令的事物来执行. 如果要让mysql支持支

spring的事务操作

我们项目一期已经差不多结束了,所以一些细节也被拿了出来,出现最多的就是事务的操作了.因为自己负责的是一个模块(因为是另外一个项目的负责人),所以组员经常会遇到事务的问题,会出现很多奇葩的用法,各种乱用,估计他们就知道在方法上面注解@Transactional,但是其中的很多细节都不知道.所以经常会出现一个情况,就是一大坨代码出现了事务的问题,然后我就去各种改.所以今天也对事务做一个总结吧.以后忘记了可以回来看看. 一般我们使用事务最主要注重的是三个方面: 1.propagation:传播性  

2.关于QT中数据库操作,简单数据库连接操作,数据库的增删改查,QSqlTableModel和QTableView,事务操作,关于QItemDelegate 代理

 Linux下的qt安装,命令时:sudoapt-get install qt-sdk 安装mysql数据库,安装方法参考博客:http://blog.csdn.net/tototuzuoquan/article/details/39565783 如果行想进数据库开发,需要安装libqt5sql5-mysql.命令是: sudo apt-get install libqt5sql5-mysql 4 创建一个项目 要调用数据库,需要加上QT += gui widgets sql  也就是说要加

oracle事务处理及实例演示jdbc操作批量删除

事务 作为逻辑处理的基本单位,对于数据库操作来说由一条或者多条sql语句来构成.当然还有针对非数据库操作的,如在计算机中设置的还原点即是一个很好的应用. 对于事务的基本性质在另一篇中有所叙述:SQL 事务及实例演示 oracle和sql server在事务上区别 sql server中的事务一般分为隐式事务.显式事务.自动提交事务. 自动事务:对于sql server来说,当客户端提交一条sql语句时,这时候sql server都会自动启动一个事务:对于这样的事务,在执行完sql语句后会自动提交

Redis源代码分析(十七)--- multi事务操作

redis作为一非关系型数据库,居然相同拥有与RDBMS的事务操作,不免让我认为比較吃惊.在redis就专门有文件就是运行事务的相关操作的.也能够让我们领略一下.在Redis的代码中是怎样实现事务操作.首先亮出mulic.c以下的一些API. /* ================================ MULTI/EXEC ============================== */ void initClientMultiState(redisClient *c) /* 初始