参考代码:

引用Dapper

  1. public bool OrderAdd2(User user, Order order)
  2. {
  3. string dbString = ConfigurationManager.ConnectionStrings["TDB"].ConnectionString;
  4. string db2String = ConfigurationManager.ConnectionStrings["TDB2"].ConnectionString;
  5.  
  6. SqlConnection conn = new SqlConnection(dbString);
  7. SqlConnection conn2 = new SqlConnection(db2String);
  8.  
  9. conn.Open();
  10. conn2.Open();
  11.  
  12. SqlTransaction tran = conn.BeginTransaction();
  13. SqlTransaction tran2 = conn2.BeginTransaction();
  14.  
  15. //SqlCommand cmd = conn.CreateCommand();
  16. //cmd.CommandText = $"insert into [User](USex,UName)values('{user.USex}','{user.UName}')";
  17. //cmd.Transaction = tran;
  18. //SqlCommand cmd2 = conn2.CreateCommand();
  19. //cmd2.CommandText = $"insert into [Order](UID,Date)values('{order.UID}','{order.Date}')";
  20. //cmd2.Transaction = tran2;
  21.  
  22. string cmdTxt = $"insert into [User](USex,UName)values(@USex,@UName)";
  23.  
  24. string cmdTxt2 = $"insert into [Order](UID,Date)values(@UID,@Date)";
  25.  
  26. try
  27. {
  28. //cmd.ExecuteNonQuery();
  29. //cmd2.ExecuteNonQuery();
  30. conn.Execute(cmdTxt,user,tran);
  31. conn2.Execute(cmdTxt2, order, tran2);
  32.  
  33. tran.Commit();
  34. tran2.Commit();
  35. return true;
  36. }
  37. catch (Exception ex)
  38. {
  39. tran.Rollback();
  40. tran2.Rollback();
  41. return false;
  42. }
  43. finally
  44. {
  45. conn.Close();
  46. conn2.Close();
  47. }
  48. }

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

  1. day18-事务与连接池 2.事务介绍与mysql下事务操作

    这么玩 真的变了吗?把cmd窗口关闭了看看. 就是固定的套路才行:start transaction->执行SQL->rollback; 执行每一条SQL之前都要start transac ...

  2. 生产环境下,MySQL大事务操作导致的回滚解决方案

    如果mysql中有正在执行的大事务DML语句,此时不能直接将该进程kill,否则会引发回滚,非常消耗数据库资源和性能,生产环境下会导致重大生产事故. 如果事务操作的语句非常之多,并且没有办法等待那么久 ...

  3. 使用事务操作SQLite数据批量插入,提高数据批量写入速度,源码讲解

    SQLite数据库作为一般单机版软件的数据库,是非常优秀的,我目前单机版的软件产品线基本上全部替换Access作为优选的数据库了,在开发过程中,有时候需要批量写入数据的情况,发现传统的插入数据模式非常 ...

  4. MongoDB模拟多文档事务操作

    Mongodb不支持多文档原子性操作,因此依据两阶段提交协议(Two Phase Commits protocol)来模拟事务. 以两个银行账户之间的转账行为为例,来说明如何实现多文档间的事务操作. ...

  5. Django---Django的ORM的一对多操作(外键操作),ORM的多对多操作(关系管理对象),ORM的分组聚合,ORM的F字段查询和Q字段条件查询,Django的事务操作,额外(Django的终端打印SQL语句,脚本调试)

    Django---Django的ORM的一对多操作(外键操作),ORM的多对多操作(关系管理对象),ORM的分组聚合,ORM的F字段查询和Q字段条件查询,Django的事务操作,额外(Django的终 ...

  6. MySQL事务操作

    在 MySQL 命令行的默认设置下,事务都是自动提交的,即执行 SQL 语句后就会马上执行 COMMIT 操作.因此要显式地开启一个事务务须使用命令 BEGIN 或 START TRANSACTION ...

  7. spring学习(八)事务操作

    一.事务的概念: 事务是并发控制的单位,一系列操作组成的工作单元,该工作单元内的操作是不可分割的,也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做,所有操作必须成功完成,否则 ...

  8. Yii2 事务操作

    官网关于Yii2 事务的说明文档 http://www.yiiframework.com/doc-2.0/guide-db-active-record.html Working with Transa ...

  9. spring的事务操作

    我们项目一期已经差不多结束了,所以一些细节也被拿了出来,出现最多的就是事务的操作了.因为自己负责的是一个模块(因为是另外一个项目的负责人),所以组员经常会遇到事务的问题,会出现很多奇葩的用法,各种乱用 ...

随机推荐

  1. 《The challenge of realistic music generation: modelling raw audio at scale》论文阅读笔记

    The challenge of realistic music generation: modelling raw audio at scale 作者:Deep  mind三位大神 出处:NIPS ...

  2. asp.net中FileUpload得到上传文件的完整路径

    asp.net中FileUpload得到上传文件的完整路径 Response.Write("完整路径:" + Server.MapPath(FileUpload1.PostedFi ...

  3. SQL 电子书

    http://vdisk.weibo.com/search/?type=&sortby=default&keyword=SQL+Server&filetype=&pag ...

  4. python_学习笔记

    1,多态:对不同类的对象使用同样的操作,但使用函数显示地检查类型能够毁掉多态(eg: type,isinstance,issubclass) 封装:多态让用户对于不知道是什么类的对象进行方法调用,而封 ...

  5. Codeforces1110F Nearest Leaf dfs + 线段树 + 询问离线

    Codeforces1110F dfs + 线段树 + 询问离线 F. Nearest Leaf Description: Let's define the Eulerian traversal of ...

  6. 1.6-1.7 定义agent 读取日志存入hdfs

    一.定义agent,并运行 1.配置文件 #计划 ##收集hive的日志,存到hdfs /opt/cdh-5.3.6/hive-0.13.1-cdh5.3.6/logs/hive.log 命令:tai ...

  7. 4-1数据类型转换的基本概念 & 4-2 & 4-3数据类型转换案例 & 4-4习题

    4-1数据类型转换的基本概念 253是int类型的,赋值给长整型的n 这种就是强制的类型转换 自动类型转换又叫做饮食类型转换,因为他的转换我们是看不到的 实线表示无数据丢失的 虚线在转换时, doub ...

  8. ubuntu上安装与卸载deb文件(转载)

    转自:http://blog.csdn.net/nkguohao/article/details/8951082 版权声明:本文为博主原创文章,未经博主允许不得转载. 通过deb包安装软件: sudo ...

  9. C#操作cmd

    C#经常操作CMD,使用的话就用下面的2和3进行整理一下使用吧. 1.简单的调用命令不需要回传数据,最简单 public static void ipcmd(object p) { Process p ...

  10. 洛谷 - P2051 - 中国象棋 - 简单dp

    https://www.luogu.org/problemnew/show/P2051 一点都不简单的简单dp. 还是从旧行转移到新行,而不是考虑新行从哪些旧行转移吧. #include<bit ...