コード例 #1
0
        /// <summary>
        /// Ejecuta un comando que devuelve un solo valor
        /// </summary>
        /// <param name="Consulta">Consulta a ejecutar</param>
        /// <returns></returns>
        public int ExecuteScalarInsert(_ConsultaT_Sql Consulta)
        {
            if (Transaccion.Connection.State != ConnectionState.Open)
            {
                Transaccion.Connection.Open();
            }

            SqlCommand cmd = new SqlCommand(Consulta.ConsultaCruda, Transaccion.Connection, Transaccion);

            cmd.CommandTimeout = Consulta.TimeOut;
            cmd.Parameters.AddRange(Consulta.Parametros.ToArray());

            int Result = 0;

            try
            {
                Result = Convert.ToInt32(cmd.ExecuteScalar());
            }
            catch
            {
                Result = 0;
            }

            return(Result);
        }
コード例 #2
0
        /// <summary>
        /// Ejecuta la consulta de acuerdo a la especificacion del tipo de consulta
        /// </summary>
        /// <param name="Consulta">Consulta a ejecutar</param>
        /// <returns>objeto segun tipo de transaccion</returns>
        public _Resultado Ejecutar(_ConsultaT_Sql Consulta)
        {
            _Resultado Resultado = new _Resultado();

            switch (Consulta.TipoConsulta)
            {
            case _TipoConsultaEnum.Insert:
                Resultado.ResultadoTipoInsert = ExecuteScalarInsert(Consulta);
                break;

            case _TipoConsultaEnum.Update:
                Resultado.ResultadoTipoUpdate = ExecuteNonQuery(Consulta);
                break;

            case _TipoConsultaEnum.Delete:
                Resultado.ResultadoTipoDelete = ExecuteNonQuery(Consulta);
                break;

            case _TipoConsultaEnum.Query:
                Resultado.ResultadoTipoQuery = ExecuteQuery(Consulta);
                break;

            default:
                throw new ArgumentOutOfRangeException("No existe la opción especificada");
            }

            return(Resultado);
        }
コード例 #3
0
        /// <summary>
        /// Ejecuta comandos delete y update
        /// </summary>
        /// <param name="Consulta">Consulta a ejecutar</param>
        /// <returns></returns>
        public bool ExecuteNonQuery(_ConsultaT_Sql Consulta)
        {
            if (Transaccion.Connection.State != ConnectionState.Open)
            {
                Transaccion.Connection.Open();
            }

            SqlCommand cmd = new SqlCommand(Consulta.ConsultaCruda, Transaccion.Connection, Transaccion);

            cmd.CommandTimeout = Consulta.TimeOut;
            cmd.Parameters.AddRange(Consulta.Parametros.ToArray());

            int Changes = cmd.ExecuteNonQuery();

            return(Changes > 0 || true); // Si no hay cambios
        }
コード例 #4
0
        public _Resultado Ejecutar(_ConsultaT_Sql Consulta)
        {
            _Resultado Resultado = new _Resultado();

            try
            {
                Resultado = this.Contexto.Ejecutar(Consulta);
            }
            catch (Exception ex)
            {
                Resultado.Excepcion = ex;
                this.Contexto.Excepciones(ex);
            }

            return(Resultado);
        }
コード例 #5
0
        /// <summary>
        /// Ejecuta un comando que devuelve un solo valor
        /// </summary>
        /// <param name="Consulta">Consulta a ejecutar</param>
        /// <returns></returns>
        public object ExecuteScalar(_ConsultaT_Sql Consulta)
        {
            object Result = null;

            if (Transaccion.Connection.State != ConnectionState.Open)
            {
                Transaccion.Connection.Open();
            }

            SqlCommand cmd = new SqlCommand(Consulta.ConsultaCruda, Transaccion.Connection, Transaccion);

            cmd.CommandTimeout = Consulta.TimeOut;
            cmd.Parameters.AddRange(Consulta.Parametros.ToArray());

            Result = cmd.ExecuteScalar();

            return(Result);
        }
コード例 #6
0
        /// <summary>
        /// Retorna una tabla de acuerdo a la consulta proporcionada
        /// </summary>
        /// <param name="Consulta">Consulta a ejecutar</param>
        /// <returns></returns>
        public DataTable ExecuteQuery(_ConsultaT_Sql Consulta)
        {
            if (Transaccion.Connection.State != ConnectionState.Open)
            {
                Transaccion.Connection.Open();
            }

            SqlCommand cmd = new SqlCommand(Consulta.ConsultaCruda, Transaccion.Connection, Transaccion);

            cmd.CommandTimeout = Consulta.TimeOut;
            cmd.Parameters.AddRange(Consulta.Parametros.ToArray());

            var SqlDataReader = cmd.ExecuteReader();
            var DT            = new DataTable();

            DT.Load(SqlDataReader);

            return(DT);
        }
コード例 #7
0
 /// <summary>
 /// Ejecuta una consulta
 /// </summary>
 /// <param name="Consulta">Consulta a ejecutar</param>
 /// <returns></returns>
 public _Resultado Ejecutar(_ConsultaT_Sql Consulta)
 {
     return(Comandos.Ejecutar(Consulta));
 }