C#中数据库事务、存储过程基本用法
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#中数据库事务、存储过程基本用法的更多相关文章
- Net Core中数据库事务隔离详解——以Dapper和Mysql为例
Net Core中数据库事务隔离详解--以Dapper和Mysql为例 事务隔离级别 准备工作 Read uncommitted 读未提交 Read committed 读取提交内容 Repeatab ...
- SQL 数据库事务 存储过程练习
数据库事务: 数据库事务(Database Transaction) 是指作为单个逻辑工作单元执行的一系列操作. 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源. ...
- asp.net中数据库事务管理
英文搜索关键字: 文章地址:https://stackoverflow.com/questions/313199/sql-transactions-best-way-to-implement-in-a ...
- 代码中添加事务控制 VS(数据库存储过程+事务) 保证数据的完整性与一致性
做人事档案的系统考虑到数据的安全性与一致性,毕竟是要对外上线.真正投入使用的项目,数据库的可靠性与安全性上我们开发人员要考虑的就很多了,记得做机房收费系统时注册新卡是自己为了简单,写成了一个存储过程( ...
- 存储过程中使用事务,sql server 事务,sql事务
一.存储过程中使用事务的简单语法 在存储过程中使用事务时非常重要的,使用数据可以保持数据的关联完整性,在Sql server存储过程中使用事务也很简单,用一个例子来说明它的语法格式: 代码 ...
- 存储过程中使用事务与try catch
一.存储过程中使用事务的简单语法 在存储过程中使用事务时非常重要的,使用数据可以保持数据的关联完整性,在Sql server存储过程中使用事务也很简单,用一个例子来说明它的语法格式: 代码 : ) ) ...
- ADO.NET中使用事务进行数据库读写的办法
使用事务一般是进行数据写入,数据读取一般是不需要这货的 第一种办法: 使用存储过程: 顾名思义,在存储过程中定义好变量,定义好事务开始,结束,错误回滚然后在ADO.NET中正常调用存储过程的方法就行 ...
- 存储过程中使用事务和try catch
一.存储过程中使用事务的简单语法 在存储过程中使用事务时非常重要的,使用数据可以保持数据的关联完整性,在Sql server存储过程中使用事务也很简单,用一个例子来说明它的语法格式: 代码 : Cre ...
- sql 在存储过程中使用事务(转)
本来想自己写一下,后来发现这个写的比我理解的要好,所以直接拽过来了,链接地址:https://www.cnblogs.com/RascallySnake/archive/2010/05/17/1737 ...
随机推荐
- 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 ...
- Samsung_tiny4412(驱动笔记05)----Makefile,open,read,write,lseek,poll,ioctl,fasync
/*********************************************************************************** * * Makefile,op ...
- Java中的内部类————以及jdk1.8的lambda表达式
一.内部类学习导图 1>.静态内部类: 使用static修饰符来修饰内部类,则这个内部类就属于外部类本身,而不属于外部类的某个对象.因此使用static修饰的内部类被称为静态内部类. publi ...
- [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 ...
- jquery中on绑定click事件在苹果手机失效的问题
因为是动态添加的内容,所以想要使用click事件,需要给他用on绑定一下: $(document).on("click",".next_button",func ...
- ACM/ICPC 2018亚洲区预选赛北京赛站网络赛-B:Tomb Raider(二进制枚举)
时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 Lara Croft, the fiercely independent daughter of a missing adv ...
- 网络IP和网络掩码以及网关的学习
192.168.10.1/24,192.168.1.1/30是什么意思啊? 表示地址范围你把这些前面的值转换成2进制 就是变成一个32位的地址比如192.168.10.1就变成11000000.101 ...
- CentOS安装LibreOffice
查找yum源的安装包$ yum search libreoffice 查看yum源上安转包基本信息$ yum info libreoffice可安装的软件包名称 :libreoffice架构 :x86 ...
- CH3B16 魔法珠
题意 3B16 魔法珠 0x3B「数学知识」练习 描述 Freda和rainbow是超自然之界学校(Preternatural Kingdom University,简称PKU)魔法学院的学生.为了展 ...
- 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 ...