zoukankan      html  css  js  c++  java
  • C# 获取 oracle 存储过程的 返回值1

    /// <summary>
            /// 返回对应表的模拟自增字段值
            /// </summary>
            /// <param name="tablename">表名</param>
            /// <returns>表的模拟自增字段值</returns>
            public decimal GetPKNum(string tablename) 
            {
                switch (sqlType)
                {
                    case "MSSQL2008":
                        parameters = new List<DbParameter>();
                        parameters.Add(new SqlParameter("@table_name", SqlDbType.VarChar, 50));
                        parameters.Add(new SqlParameter("@key_value", SqlDbType.Decimal, 9));
                        parameters[0].Value = tablename;
                        parameters[1].Direction = ParameterDirection.Output;
                        break;
                    case "Oracle":
                        parameters = new List<DbParameter>();
                        parameters.Add(new OracleParameter(":tb_name", Oracle.ManagedDataAccess.Client.OracleDbType.Varchar2, 50));
                        parameters.Add(new OracleParameter(":key_value", Oracle.ManagedDataAccess.Client.OracleDbType.Decimal));
                        parameters[0].Value = tablename;
                        parameters[0].Direction = ParameterDirection.Input;
                        parameters[1].Direction = ParameterDirection.Output;
                        break;
                    default: break;
                }
                IDBHelper dbhelper = DBFactory.createDBHleper();
                return dbhelper.RunProcedure(Utility.DB.PubConstant.ConnectionString,parameters, "up_get_table_key");
            }
    IDBHelper dbhelper = DBFactory.createDBHleper();是后台创建了一个dbhelp文件,如果当时是Oracle数据库  dbhelper 就为 OracleHelper文件
    此oracle 存储过程具有两个参数,key_value 是返回参数out
    Utility.DB.PubConstant.ConnectionString是数据库连接字符串
    "up_get_table_key"为存储过程名称
     
    public DataSet QueryDiagnosisAccordanceRate(string startDate, string endDate, string modality, string hospitalid)
            {
                switch (sqlType)
                {
                    case "MSSQL2008":
                        parameters = new List<DbParameter>();
                        parameters.Add(new SqlParameter("@startDate", startDate));
                        parameters.Add(new SqlParameter("@endDate", endDate));
                        parameters.Add(new SqlParameter("@modality", modality));
                        parameters.Add(new SqlParameter("@hospitalid", hospitalid));
                        break;
                    case "Oracle":
                        parameters = new List<DbParameter>();
                        parameters.Add(new OracleParameter(":startDate", startDate));
                        parameters.Add(new OracleParameter(":endDate", endDate));
                        parameters.Add(new OracleParameter(":modality", modality));
                        parameters.Add(new OracleParameter(":hospitalid", hospitalid));
                        OracleParameter p = new OracleParameter(":p_record", OracleDbType.RefCursor);
                        p.Direction = ParameterDirection.Output;
                        parameters.Add(p);
                        break;
                    default: break;
                }
                IDBHelper dbhelper = DBFactory.createDBHleper();
                return dbhelper.RunProcedure(Utility.DB.PubConstant.ConnectionString, "Proc_DiagnosisAccordance", parameters, "ds");
            }
  • 相关阅读:
    Ocelot简易教程(一)之Ocelot是什么
    如何测量并报告ASP.NET Core Web API请求的响应时间
    ASP.NET Core 2.1中基于角色的授权
    Net Core平台灵活简单的日志记录框架NLog+SqlServer初体验
    Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验
    Net Core集成Exceptionless分布式日志功能以及全局异常过滤
    CentOS7 PostgreSQL安装
    Python 的 List 要印出 中文 編碼
    如何让你的Python代码更加pythonic ?
    4种格式化字符串方式的时间效率比较
  • 原文地址:https://www.cnblogs.com/zcwry/p/5631984.html
Copyright © 2011-2022 走看看