public override IDataReader ReadWithProc(string procName, List <DBParam> parameters = null) { OracleCommand comm = new OracleCommand(); comm.CommandType = CommandType.StoredProcedure; comm.CommandText = procName; comm.Connection = conn; if (parameters != null) { comm.Parameters.AddRange(parameters.Select(dbParam => new OracleParameter() { ParameterName = dbParam.ParameterName, OracleDbType = OracleDBTypeMapper.GetDBType(dbParam), Direction = dbParam.Direction, Value = dbParam.Value, }).ToArray()); } return(comm.ExecuteReader()); }
public override int PutWithProc(string procName, List <DBParam> parameters, bool getReturnValue = true) { int returnValueParamIndex = -1; if (getReturnValue) { DBParam returnValueParam = new DBParam(CommonDbType.Integer, "@RETURN_VALUE", 0); returnValueParam.Direction = ParameterDirection.ReturnValue; returnValueParamIndex = parameters.Count; parameters.Add(returnValueParam); } OracleCommand comm = new OracleCommand(); comm.CommandType = CommandType.StoredProcedure; comm.CommandText = procName; comm.Connection = conn; if (parameters.Any()) { comm.Parameters.AddRange(parameters.Select(dbParam => new OracleParameter() { ParameterName = dbParam.ParameterName, OracleDbType = OracleDBTypeMapper.GetDBType(dbParam), Direction = dbParam.Direction, Value = dbParam.Value, }).ToArray()); } int result = comm.ExecuteNonQuery(); if (getReturnValue) { result = (int)comm.Parameters[returnValueParamIndex].Value; } return(result); }