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