/// <summary> /// Metodo para ejecutar un stored procedure de la base de datos usando parametros /// </summary> /// <param name="query">El stored procedure a ejecutar</param> /// <param name="parametros">lista de los parametros a usar</param> /// <returns>List<Resultado>con la informacion obtenida</returns> public List <Resultado> EjecutarStoredProcedure(string query, List <Parametro> parametros) { try { Conectar(); List <Resultado> resultados = new List <Resultado>(); using (conexion) { comando = new SqlCommand(query, conexion); comando.CommandType = CommandType.StoredProcedure; AsignarParametros(parametros); conexion.Open(); comando.ExecuteNonQuery(); if (comando.Parameters != null) { foreach (SqlParameter parameter in comando.Parameters) { if (parameter.Direction.Equals(ParameterDirection.Output)) { Resultado resultado = new Resultado(parameter.ParameterName, parameter.Value.ToString()); resultados.Add(resultado); } } if (resultados != null) { return(resultados); } else { throw new ExcepcionesSKD.ParametroInvalidoException( RecursoGeneralBD.Codigo_Parametro_Errado, RecursoGeneralBD.Mensaje_Parametro_Errado, new ExcepcionesSKD.ParametroInvalidoException()); } } return(null); } } catch (SqlException ex) { throw new ExcepcionesSKD.ExceptionSKDConexionBD(RecursoGeneralBD.Codigo, RecursoGeneralBD.Mensaje, ex); } catch (ExcepcionesSKD.ParametroInvalidoException ex) { throw new ExcepcionesSKD.ParametroInvalidoException( RecursoGeneralBD.Codigo_Parametro_Errado, RecursoGeneralBD.Mensaje_Parametro_Errado, ex); } catch (Exception ex) { throw new ExcepcionesSKD.ExceptionSKDConexionBD(RecursoGeneralBD.Codigo, RecursoGeneralBD.Mensaje, ex); } finally { Desconectar(); } }
/// <summary> /// Metodo para ejecutar un stored procedure de la base de datos usando parametros /// </summary> /// <param name="query">El stored procedure a ejecutar</param> /// <param name="parametros">lista de los parametros a usar</param> /// <returns>List<Resultado>con la informacion obtenida</returns> public List<Resultado> EjecutarStoredProcedure(string query, List<Parametro> parametros) { try { Conectar(); List<Resultado> resultados = new List<Resultado>(); using (conexion) { comando = new SqlCommand(query, conexion); comando.CommandType = CommandType.StoredProcedure; AsignarParametros(parametros); conexion.Open(); comando.ExecuteNonQuery(); if (comando.Parameters != null) { foreach (SqlParameter parameter in comando.Parameters) { if (parameter.Direction.Equals(ParameterDirection.Output)) { Resultado resultado = new Resultado(parameter.ParameterName, parameter.Value.ToString()); resultados.Add(resultado); } } if (resultados != null) { return resultados; } else { throw new ExcepcionesSKD.ParametroInvalidoException( RecursoGeneralBD.Codigo_Parametro_Errado, RecursoGeneralBD.Mensaje_Parametro_Errado, new ExcepcionesSKD.ParametroInvalidoException()); } } return null; } } catch (SqlException ex) { throw new ExcepcionesSKD.ExceptionSKDConexionBD(RecursoGeneralBD.Codigo, RecursoGeneralBD.Mensaje, ex); } catch (ExcepcionesSKD.ParametroInvalidoException ex) { throw new ExcepcionesSKD.ParametroInvalidoException( RecursoGeneralBD.Codigo_Parametro_Errado, RecursoGeneralBD.Mensaje_Parametro_Errado, ex); } catch (Exception ex) { throw new ExcepcionesSKD.ExceptionSKDConexionBD(RecursoGeneralBD.Codigo, RecursoGeneralBD.Mensaje, ex); } finally { Desconectar(); } }