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;
}

  

C#中数据库事务、存储过程基本用法的更多相关文章

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

    Net Core中数据库事务隔离详解--以Dapper和Mysql为例 事务隔离级别 准备工作 Read uncommitted 读未提交 Read committed 读取提交内容 Repeatab ...

  2. SQL 数据库事务 存储过程练习

    数据库事务: 数据库事务(Database Transaction) 是指作为单个逻辑工作单元执行的一系列操作. 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源. ...

  3. asp.net中数据库事务管理

    英文搜索关键字: 文章地址:https://stackoverflow.com/questions/313199/sql-transactions-best-way-to-implement-in-a ...

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

    做人事档案的系统考虑到数据的安全性与一致性,毕竟是要对外上线.真正投入使用的项目,数据库的可靠性与安全性上我们开发人员要考虑的就很多了,记得做机房收费系统时注册新卡是自己为了简单,写成了一个存储过程( ...

  5. 存储过程中使用事务,sql server 事务,sql事务

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

  6. 存储过程中使用事务与try catch

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

  7. ADO.NET中使用事务进行数据库读写的办法

    使用事务一般是进行数据写入,数据读取一般是不需要这货的 第一种办法: 使用存储过程: 顾名思义,在存储过程中定义好变量,定义好事务开始,结束,错误回滚然后在ADO.NET中正常调用存储过程的方法就行 ...

  8. 存储过程中使用事务和try catch

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

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

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

随机推荐

  1. matlab 读取fig数据

    单曲线: open('figname.fig');h_line=get(gca,'Children');%get line handlesxdata=get(h_line,'Xdata');ydata ...

  2. PHP 设计模式系列 —— 工厂方法模式(Factory Method)(转)

    1.模式定义 定义一个创建对象的接口,但是让子类去实例化具体类.工厂方法模式让类的实例化延迟到子类中. 2.问题引出 框架需要为多个应用提供标准化的架构模型,同时也要允许独立应用定义自己的域对象并对其 ...

  3. Android强制横屏+全屏的几种常用方法

    全屏: 在Activity的onCreate方法中的setContentView(myview)调用之前添加下面代码 1 requestWindowFeature(Window.FEATURE_NO_ ...

  4. 20155219 2016-2017-2 《Java程序设计》第4周学习总结

    20155219 2016-2017-2 <Java程序设计>第4周学习总结 教材学习内容总结 抽象方法与抽象类 如果某方法区块中没有任何程序代码操作,可以使用abstract在class ...

  5. FZU软工第十一次作业-软件产品案例分析

    目录 前言: 第一部分.调研,评测: 1.1.初次感觉: 1.2.企业号bug: 1.3.你觉得为什么这个产品组的人没有发现这些bug: 1.4.假设你们团队需要开发这套系统,需要注意哪些方面: 2. ...

  6. Hive错误:Permission denied: user=anonymous, access=EXECUTE, inode=”/tmp”

    由于Hive没有hdfs:/tmp目录的权限,赋权限即可: hdfs dfs -chmod -R 777 /tmp

  7. PS学习之合成特效:被风沙侵蚀的动物们

    素材 大象 尘埃 裂纹 沙子 土地 正式操作: 打开PS 新建一个文件 选国际标准纸张  给分辨率为72(分辨率越大越占内存) 然后确定  将图片旋转90度(图像——旋转——(顺/逆)90度) 下面选 ...

  8. json(传输格式)、异步加载、时间线

    xml:过去传输的数据格式 json:现在的传输数据格式,属性名加双引号来区别,其实也是对象,传输的是个字符串,其实就是json 前端JSON.stringfy(obj) 然后传给后台 后台传回来的j ...

  9. sailsjs learning note

    menu list: custom controller custom 模块使用 custom model custom middleware custom service ? 路由与对应的contr ...

  10. vim 自动注释

    开启了自动注释和自动缩进对粘帖代码不方便   关闭自动注释 :set fo-=r  关闭自动缩进(这个对C/C++代码好像无效) :set noautoindent 关闭C语言缩进  :set noc ...