public static void AddOutputParameter(this DbCommand command, string name, ProcedureParameterType type) { if (command.GetType().FullName.Contains("OracleCommand")) { OracleParameter parameter = (OracleParameter)command.CreateParameter(); parameter.ParameterName = name; parameter.Direction = ParameterDirection.Output; if (type == ProcedureParameterType.VarChar) { //parameter.OracleDbType = OracleDbType.Varchar2; parameter.Size = 255; } else if (type == ProcedureParameterType.RefCursor) { parameter.OracleDbType = OracleDbType.RefCursor; } command.Parameters.Add(parameter); } else if (command.GetType().FullName.Contains("SqlCommand")) { SqlParameter parameter = (SqlParameter)command.CreateParameter(); parameter.ParameterName = name; parameter.Direction = ParameterDirection.Output; command.Parameters.Add(parameter); } }
public static DbType ToDbType(this ProcedureParameterType value) { switch (value) { case ProcedureParameterType.VarChar: return(DbType.String); case ProcedureParameterType.Number: return(DbType.Int32); default: return(DbType.Object); } }
public static void AddInputParameter(this DbCommand command, string name, object value, ProcedureParameterType type) { var parameter = command.CreateParameter(); parameter.ParameterName = name; parameter.Value = value; parameter.Direction = ParameterDirection.Input; command.Parameters.Add(parameter); }