SQL 事务

 public bool UpdateQsRegisterSql(List<string> ids, int newQueueId, string newQueueName){using (SqlConnection con = new SqlConnection(DBHelper.Instance.ConStr)){SqlTransaction tran = null;try{con.Open();SqlCommand cmd = con.CreateCommand();tran = con.BeginTransaction(IsolationLevel.ReadCommitted);cmd.Transaction = tran;foreach (string item in ids){cmd.CommandText = @"update qs_register set queueid='" + newQueueId+ "',queuename='" + newQueueName + "' where id='" + item + "'";cmd.ExecuteNonQuery();}tran.Commit();return true;}catch (Exception ex){tran.Rollback();return false;}}}

Oracle事务

  public bool UpdateQsRegisterOrcl(List<string> ids, int newQueueId, string newQueueName){using (OleDbConnection con = new OleDbConnection(DBHelper.Instance.ConStr)){OleDbTransaction tran = null;try{con.Open();OleDbCommand cmd = con.CreateCommand();tran = con.BeginTransaction(IsolationLevel.ReadCommitted);cmd.Transaction = tran;foreach (string item in ids){cmd.CommandText = @"update qs_register set queueid='" + newQueueId+ "',queuename='" + newQueueName + "' where id='" + item + "'";cmd.ExecuteNonQuery();}tran.Commit();return true;}catch (Exception ex){tran.Rollback();return false;}}}

Sql存储过程

     /// <summary>/// 直接登记/// </summary>/// <param name="hisExamno">申请单号</param>/// <param name="enrolDoctor">登记医生</param>/// <param name="engname">患者英文名称</param>/// <param name="queueName">队列名称</param>/// <returns></returns>public bool DirectRegisterSql(string hisExamno, string enrolDoctor, string engname, string queueName){using (SqlConnection conn = new SqlConnection(DBHelper.Instance.ConnectionStr)){conn.Open();SqlCommand cmd = conn.CreateCommand();try{//插入号源属性cmd.CommandType = CommandType.StoredProcedure;cmd.CommandText = "PROC_HISEXAMTOENROL";cmd.Parameters.Add("@p_HISEXAMNO", SqlDbType.VarChar).Value = hisExamno;cmd.Parameters.Add("@p_ENROLDOCTOR", SqlDbType.VarChar).Value = enrolDoctor;cmd.Parameters.Add("@p_ENGNAME", SqlDbType.VarChar).Value = engname;cmd.Parameters.Add("@p_AppKind", OleDbType.VarChar).Value = PubVariable.Instance.CurrentDept;cmd.Parameters.Add("@p_QueueName", OleDbType.VarChar).Value = queueName;cmd.Parameters.Add("@p_result", SqlDbType.Int).Value = -1;if (cmd.ExecuteNonQuery() > 0) return true;}catch { return false; }finally{if (conn.State != ConnectionState.Closed){conn.Close();}}}return false;}

Oracle存储过程

  /// <summary>/// 直接登记/// </summary>/// <param name="hisExamno">申请单号</param>/// <param name="enrolDoctor">登记医生</param>/// <param name="engname">患者英文名称</param>/// <param name="queueName">队列名称</param>/// <returns></returns>public bool DirectRegisterOrcl(string hisExamno, string enrolDoctor, string engname, string queueName){using (OleDbConnection conn = new OleDbConnection(DBHelper.Instance.ConnectionStr)){conn.Open();OleDbCommand cmd = conn.CreateCommand();try{//插入号源属性cmd.CommandType = CommandType.StoredProcedure;cmd.CommandText = "PROC_HISEXAMTOENROL";cmd.Parameters.Add("@p_HISEXAMNO", OleDbType.VarChar).Value = hisExamno;cmd.Parameters.Add("@p_ENROLDOCTOR", OleDbType.VarChar).Value = enrolDoctor;cmd.Parameters.Add("@p_ENGNAME", OleDbType.VarChar).Value = engname;cmd.Parameters.Add("@p_AppKind", OleDbType.VarChar).Value = PubVariable.Instance.CurrentDept;cmd.Parameters.Add("@p_QueueName", OleDbType.VarChar).Value = queueName;cmd.Parameters.Add("@p_result", OleDbType.Integer).Value = -1;if (cmd.ExecuteNonQuery() > 0) return true;}catch { return false; }finally{if (conn.State != ConnectionState.Closed){conn.Close();}}}return false;}

  

转载于:https://www.cnblogs.com/YYkun/p/9359513.html

C#中数据库事务、存储过程基本用法相关推荐

  1. Net Core中数据库事务隔离详解——以Dapper和Mysql为例

    事务隔离级别 .NET Core中的IDbConnection接口提供了BeginTransaction方法作为执行事务,BeginTransaction方法提供了两个重载,一个不需要参数BeginT ...

  2. c# mysql代码中写事务_代码中添加事务控制 VS(数据库存储过程+事务) 保证数据的完整性与一致性...

    [c#]代码库代码中使用事务前提:务必保证一个功能(或用例)在同一个打开的数据连接上,放到同一个事务里面操作. 首先是在D层添加一个类为了保存当前操作的这一个连接放到一个事务中执行,并事务执行打开同一 ...

  3. 数据库事务、存储过程、函数以及触发器之间的区别和联系

    一.[事务概念] 事务(Transaction)是指构成单一逻辑工作单元的操作集合,要么完整地执行,要么完全不执行. 1,如果事务中有的操作没有成功完成,则事务中的所有操作都需要被回滚,回到事务执行前 ...

  4. sql 在存储过程中使用事务(转)

    本来想自己写一下,后来发现这个写的比我理解的要好,所以直接拽过来了,链接地址:https://www.cnblogs.com/RascallySnake/archive/2010/05/17/1737 ...

  5. dapper 调用 存储过程返回值_数据库事务、存储过程、函数以及触发器之间的区别和联系...

    一.[事务概念] 事务(Transaction)是指构成单一逻辑工作单元的操作集合,要么完整地执行,要么完全不执行. 1,如果事务中有的操作没有成功完成,则事务中的所有操作都需要被回滚,回到事务执行前 ...

  6. android 数据库 事务,Android数据库中事务操作方法之银行转账示例

    Android数据库中事务操作方法之银行转账示例 发布时间:2020-09-14 18:19:43 来源:脚本之家 阅读:79 作者:Qi_Yuan 本文实例讲述了Android数据库中事务操作方法之 ...

  7. mysql 存储过程 try catch_存储过程中使用事务与try catch

    一.存储过程中使用事务的简单语法 在存储过程中使用事务时非常重要的,使用数据可以保持数据的关联完整性,在Sql server存储过程中使用事务也很简单,用一个例子来说明它的语法格式: 代码 : Cre ...

  8. MySQL数据库,从入门到精通:第四篇——MySQL中常用的运算符及其用法

    MySQl学习(MySQL数据库,从入门到精通:第四篇--MySQL中常用的运算符及其用法 第四篇_MySQL中常用的运算符及其用法运算符 1. 算术运算符 1.加法与减法运算符 2.乘法与除法运算符 ...

  9. 一个事务中 可以查询自己未提交的数据吗_数据库事务的方方面面

    事务 是关系型数据的一个重要特性,但很少有人能对事务有全面性的了解,这篇文章就把事务的方方面面讲给你. 事务的概念 什么是事务 数据库事务(事务)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的 ...

最新文章

  1. ARM中Bus Error的测试
  2. java逻辑代码_Java逻辑代码判断字数
  3. 联想服务器做完raid找不到硬盘,联想服务器RAID配置步骤
  4. switchcase的用法
  5. /dev/null Read-only file system 系统无法启动
  6. 阿里大鱼php发送短信,阿里大鱼短信发送PHP代码
  7. 95-190-032-源码-window-CountWindow
  8. html5声称需要大写吗,html5中有没有规定字母标签是用大写还是小写?
  9. 几个常用存储引擎的特点
  10. 在浏览的地址栏中,直接调用js「javascript:alert(hello wrold);」。
  11. webrtc之SVC实现(十)
  12. django相关操作
  13. 推荐一款免费的SSH+sftp工具
  14. 如何将qrc文件添加至VS
  15. 医学信息学计算机技术,2017年医学信息学专业大学排名
  16. oracle创建用户ORA-01045:user lacks CREATE SESSION privilege;logon denied..的问题
  17. 【程序员如何买基金 四】个人投资诊断和基金诊断
  18. EIA/TIA布线标准(568A、568B)
  19. 机器人领域的SCI期刊介绍
  20. 关于部分网页打不开的解决方法详解

热门文章

  1. python二维列表排序_使用Python按顺时针方向排序二维坐标列表?
  2. linux类似360软件,linux下有什么类似鲁大师查看电脑配置的软
  3. HTML设置字体颜色1008无标题,如何在HTML中设置字体颜色,你知道这几种方式吗?...
  4. linux rpm mysql mysql_config,Linux CentOS6 mysql rpm安装
  5. 常用于单片机的接口适配器模式C语言实现
  6. python中函数参数_Python函数的参数
  7. java mongo api_MONGODB的javaAPI简单应用
  8. 【渝粤教育】国家开放大学2018年秋季 0299-21T中国古代文学(1) 参考试题
  9. 【渝粤题库】陕西师范大学209912 金融中介学Ⅰ 作业
  10. c语言 freopen txt_C语言:freopen函数