Clase para el manejo de los resultados de los queries de base de datos
Esempio n. 1
0
        /// <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();
            }
        }
Esempio n. 2
0
        /// <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();
            }
        }