zoukankan      html  css  js  c++  java
  • 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;
            }
    

      

  • 相关阅读:
    windows下安装redis以及redis扩展,设置redis为windows自启服务
    Redis和Memcache的区别
    Git 简单入门使用
    ssh 连接 mac osx下 virtual box虚拟机中的 cent os 记录
    把可运行jar转换成Linux服务运行
    CentOS 7 配置FTP(vsftpd)
    团队总结
    第五周小组项目总结
    第四周小组项目总结
    第三周小组项目总结
  • 原文地址:https://www.cnblogs.com/YYkun/p/9359513.html
Copyright © 2011-2022 走看看