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. ORA-00600: internal error code, arguments: [kcblasm_1], [103], [] bug

    巡检发现存在alert 日志存在ORA-600 1.0 查询alter 对应的Trace日志 /oracle/admin/fgsquery/udump/fgsquery_ora_21777.trc O ...

  2. Samsung_tiny4412(驱动笔记05)----Makefile,open,read,write,lseek,poll,ioctl,fasync

    /*********************************************************************************** * * Makefile,op ...

  3. Java中的内部类————以及jdk1.8的lambda表达式

    一.内部类学习导图 1>.静态内部类: 使用static修饰符来修饰内部类,则这个内部类就属于外部类本身,而不属于外部类的某个对象.因此使用static修饰的内部类被称为静态内部类. publi ...

  4. [LeetCode&Python] Problem 455. Assign Cookies

    Assume you are an awesome parent and want to give your children some cookies. But, you should give e ...

  5. jquery中on绑定click事件在苹果手机失效的问题

    因为是动态添加的内容,所以想要使用click事件,需要给他用on绑定一下: $(document).on("click",".next_button",func ...

  6. ACM/ICPC 2018亚洲区预选赛北京赛站网络赛-B:Tomb Raider(二进制枚举)

    时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 Lara Croft, the fiercely independent daughter of a missing adv ...

  7. 网络IP和网络掩码以及网关的学习

    192.168.10.1/24,192.168.1.1/30是什么意思啊? 表示地址范围你把这些前面的值转换成2进制 就是变成一个32位的地址比如192.168.10.1就变成11000000.101 ...

  8. CentOS安装LibreOffice

    查找yum源的安装包$ yum search libreoffice 查看yum源上安转包基本信息$ yum info libreoffice可安装的软件包名称 :libreoffice架构 :x86 ...

  9. CH3B16 魔法珠

    题意 3B16 魔法珠 0x3B「数学知识」练习 描述 Freda和rainbow是超自然之界学校(Preternatural Kingdom University,简称PKU)魔法学院的学生.为了展 ...

  10. hive query with field is json

    if field is json,when query one key from json ,it will help you . select idfa, appid ,appname , coun ...