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. java杨辉三角和空心菱形(二维数组篇)

    一.杨辉三角 import java.util.Scanner; //导入包 public class Test7 { public static void main(String[]args){ S ...

  2. POJ - 1474 :Video Surveillance (半平面交-求核)

    pro:顺时针给定多边形,问是否可以放一个监控,可以监控到所有地方,即问是否存在多边形的核. 此题如果两点在同一边界上(且没有被隔段),也可以相互看到. sol:求多边形是否有核.先给直线按角度排序, ...

  3. 第六课cnn和迁移学习-七月在线-cv

    ppt 参数共享终于把拿一点想清楚啦,一定要知道w是矩阵! 在传统BP中,w前后连接时是all的,辣么多w使得你给我多少图片我就能记住多少信息-->导致过拟合-->cnn当中权值共享 激励 ...

  4. 20155208徐子涵 2016-2017-2 《Java程序设计》第7周学习总结

    20155208徐子涵 2016-2017-2 <Java程序设计>第7周学习总结 教材学习内容总结 第十三章 时间与日期 13.1 认识时间与日期 就目前来说,即使标注为GMT(无论是文 ...

  5. MAC安装python jupyter notebook

    介绍: Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言. Jupyter Notebook 的本质是一个 Web 应用 ...

  6. 初始if..else 条件语句

    if..else条件语句 如果我们希望有效的响应用户的输入,代码就需要具有判断能力.能够让程序进行判断的结构成为条件,条件判断语句返回的是布尔值真或假,真就执行一条线路,假就执行另外一条线路 if 条 ...

  7. Go Example--工作池

    package main import ( "fmt" "time" ) func main() { jobs :=make(chan int,100) res ...

  8. 发布自己的npm包

    如何发布自己写的npm包,这里有详细解释 : https://blog.csdn.net/u010130282/article/details/82629924 本文旨在解释遇到的问题: 1:需要设置 ...

  9. Next generation configuration mgmt

    转自:https://purpleidea.com/blog/2016/01/18/next-generation-configuration-mgmt/ It’s no secret to the ...

  10. 动态quartz新增、修改、删除

    1.定义job导出类 public class MyQuartzJob implements Job { private static Logger logger = LoggerFactory.ge ...