Example #1
0
        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());
        }
Example #2
0
        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);
        }