public DataTable EjecutarProcedimiento(string NombreConexion) { string NombreConexionString = ConfigurationManager.ConnectionStrings[NombreConexion].ConnectionString; SqlConnection SqlConect = new SqlConnection(NombreConexionString); SqlCommand SqlComando = new SqlCommand(Nombre, SqlConect); SqlComando.CommandTimeout = 200; SqlDataReader Reader = default(SqlDataReader); DataTable Tabla = new DataTable(); SqlComando.CommandType = CommandType.StoredProcedure; StoredProcedureParameter TodosParametros = null; foreach (StoredProcedureParameter TodosParametros_loopVariable in this.Parametros) { TodosParametros = TodosParametros_loopVariable; SqlParameter NuevoParametro = new SqlParameter(TodosParametros.Parametro, TodosParametros.Valor) { Direction = ParameterDirection.Input }; SqlComando.Parameters.Add(NuevoParametro); } try { SqlConect.Open(); Reader = SqlComando.ExecuteReader(CommandBehavior.CloseConnection); Tabla.Load(Reader); } catch (Exception ex) { string error = ex.ToString().ToUpper(); if (error.Contains("ERROR NUMBER:18456") || error.Contains("ERROR NUMBER:4060") || error.Contains("ERROR NUMBER:-1")) { throw new Exception("DBConnection"); } } finally { SqlConect.Close(); } return(Tabla); }
/// <summary> /// Procedimiento que añade informacion de los parametros en un arreglo. /// </summary> /// <param name="nomParametro">Nombre del parametro</param> /// <param name="valParametro">Valor del parametro</param> /// <remarks></remarks> public void AgregarParametro(string nomParametro, object valParametro) { StoredProcedureParameter parametro = new StoredProcedureParameter("@" + nomParametro, valParametro); this.Parametros.Add(parametro); }
/// <summary> /// Procedimiento que añade informacion de los parametros de salida en un arreglo. /// </summary> /// <param name="nomParametro">Nombre del parametro</param> /// <param name="tipoParametro">Tipo de parametro</param> /// <param name="tamano">Tamano del parametro en el SP</param> /// <remarks></remarks> public void AgregarParametroSalida(string nomParametro, object tipoParametro, int tamano) { StoredProcedureParameter parametro = new StoredProcedureParameter("@" + nomParametro, tipoParametro, tamano); this.ParametroSalida.Add(parametro); }