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");
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM