/// <summary> /// Metodo para ejecutar un procedimiento almacenado en la bd /// </summary> /// <param name="parametros">Lista de parametros que se le va a asociar</param> /// <param name="query">Cadena con el query a ejecutar</param> public List <ResultadoBD> EjecutarStoredProcedure(string query, List <Parametro> parametros) { try { Conectar(); List <ResultadoBD> resultados = new List <ResultadoBD>(); using (conexion) { comando = new SqlCommand(query, conexion); comando.CommandType = CommandType.StoredProcedure; AsignarParametros(parametros); if (conexion.State == ConnectionState.Closed) { conexion.Open(); } comando.ExecuteNonQuery(); if (comando.Parameters != null) { foreach (SqlParameter parameter in comando.Parameters) { if (parameter.Direction.Equals(ParameterDirection.Output)) { ResultadoBD resultado = new ResultadoBD(parameter.ParameterName, parameter.Value.ToString()); resultados.Add(resultado); } } if (resultados != null) { return(resultados); } else { throw new ExceptionBD(RecursoBD.Cod_Error_Parametro, RecursoBD.Error_Parametro, new ExceptionBD()); } } return(null); } } catch (SqlException ex) { //throw new ExceptionBD(RecursoBD.Cod_Error_General, RecursoBD.Error_General, ex); throw ex; } catch (Exception ex) { throw new ExceptionBD(RecursoBD.Cod_Error_General, RecursoBD.Error_General, ex);; } finally { Desconectar(); } }
protected DataTable ObtenerTabla(string sql) { dt = new DataTable(); using (DataSql datos = new DataSql(AppGlobal.baseDatos.CadenaConexion)) { resultado = datos.EjecutarConsulta(sql); if (resultado.Exitoso && resultado.Tablas.Tables.Count > 0) { dt = resultado.Tablas.Tables[0]; } } return dt; }
protected int ObtenerEscalar(string sql) { int n = 0; dt = new DataTable(); using (DataSql datos = new DataSql(AppGlobal.baseDatos.CadenaConexion)) { resultado = datos.EjecutarConsulta(sql); if (resultado.Exitoso && resultado.Tablas.Tables.Count > 0) { dt = resultado.Tablas.Tables[0]; n = Convert.ToInt32(dt.Rows[0][0]); } } return n; }