Beispiel #1
0
        public DataTable ConsultaSinParametros(Constantes.Consulta Consulta1)
        {
            string    ProcedimientoAlmacenado = ObtenerProcedimiento[Consulta1];
            DataTable Tabla1 = new DataTable();

            using (SqlConnection Conexion = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionDataBase"].ConnectionString))
            {
                using (SqlCommand Comando = new SqlCommand(ProcedimientoAlmacenado, Conexion)
                {
                    CommandType = CommandType.StoredProcedure, CommandTimeout = 180
                })
                {
                    Comando.Parameters.Clear();
                    Conexion.Open();
                    Comando.Prepare();
                    using (SqlDataReader LeerFilas = Comando.ExecuteReader()) Tabla1.Load(LeerFilas);
                }
            }
            return(Tabla1);
        }
Beispiel #2
0
        public Dictionary <string, object> Consultas(Constantes.Consulta Consulta1, Tuple <object, string, bool>[] Valores)
        {
            string ProcedimientoAlmacenado = string.Empty;

            try
            {
                ProcedimientoAlmacenado = ObtenerProcedimiento[Consulta1];
            }
            catch (Exception)
            {
            }
            Dictionary <string, object> Resultado = new Dictionary <string, object>();
            SqlTransaction Transaccion            = null;
            string         CadenaConexion         = ConfigurationManager.ConnectionStrings["ConnectionDataBase"].ConnectionString;

            using (SqlConnection Conexion = new SqlConnection(CadenaConexion))
            {
                using (SqlCommand Comando = new SqlCommand(ProcedimientoAlmacenado, Conexion, Transaccion)
                {
                    CommandType = CommandType.StoredProcedure, CommandTimeout = 180
                })
                {
                    Comando.Parameters.Clear();
                    if (Valores.Length > 0)
                    {
                        foreach (var Valor in Valores)
                        {
                            if (Valor.Item1 == null)
                            {
                                Comando.Parameters.Add(new SqlParameter("@" + Valor.Item2, string.Empty));
                                Comando.Parameters["@" + Valor.Item2].Size = (int)Constantes.SizeConsulta.Maximo;
                            }
                            else if (Valor.Item1.GetType() == typeof(char))
                            {
                                Comando.Parameters.Add(new SqlParameter("@" + Valor.Item2, Valor.Item1)).SqlDbType = SqlDbType.Char;
                            }
                            else if (Valor.Item1.GetType() == typeof(string))
                            {
                                Comando.Parameters.Add(new SqlParameter("@" + Valor.Item2, Valor.Item1)).SqlDbType = SqlDbType.VarChar;
                                Comando.Parameters["@" + Valor.Item2].Size = (int)Constantes.SizeConsulta.Maximo;
                            }
                            else if (Valor.Item1.GetType() == typeof(bool))
                            {
                                Comando.Parameters.Add(new SqlParameter("@" + Valor.Item2, Valor.Item1)).SqlDbType = SqlDbType.Bit;
                            }
                            else if (Valor.Item1.GetType() == typeof(Guid))
                            {
                                Comando.Parameters.Add(new SqlParameter("@" + Valor.Item2, Valor.Item1)).SqlDbType = SqlDbType.UniqueIdentifier;
                            }
                            else if (Valor.Item1.GetType() == typeof(decimal) || Valor.Item1.GetType() == typeof(float) || Valor.Item1.GetType() == typeof(double))
                            {
                                Comando.Parameters.Add(new SqlParameter("@" + Valor.Item2, Valor.Item1)).Precision = 18;
                                Comando.Parameters["@" + Valor.Item2].Scale = 4;
                            }
                            else
                            {
                                Comando.Parameters.Add(new SqlParameter("@" + Valor.Item2, Valor.Item1));
                            }

                            if (Valor.Item3)
                            {
                                Comando.Parameters["@" + Valor.Item2].Direction = ParameterDirection.InputOutput;
                            }
                        }
                        Conexion.Open();
                        Transaccion = Conexion.BeginTransaction();
                        Comando.Prepare();
                        Comando.Transaction = Transaccion;
                        int Respuesta = Comando.ExecuteNonQuery();
                        if (Respuesta <= 0)
                        {
                            Transaccion.Rollback();
                        }
                        else if (Respuesta > 0)
                        {
                            Transaccion.Commit();
                        }
                        Conexion.Close();
                        foreach (var Valor in Valores)
                        {
                            if (Valor.Item3)
                            {
                                Resultado.Add(Valor.Item2, Comando.Parameters["@" + Valor.Item2].Value);
                            }
                        }
                        Transaccion.Dispose();
                    }
                }
            }
            return(Resultado);
        }
Beispiel #3
0
        public DataTable Consultas(Constantes.Consulta Consulta1, Tuple <object, string>[] Valores)
        {
            string ProcedimientoAlmacenado = string.Empty;

            try
            {
                ProcedimientoAlmacenado = ObtenerProcedimiento[Consulta1];
            }
            catch (Exception)
            {
            }
            DataTable Tabla = new DataTable();

            using (SqlConnection Conexion = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionDataBase"].ConnectionString))
            {
                using (SqlCommand Comando = new SqlCommand(ProcedimientoAlmacenado, Conexion)
                {
                    CommandType = CommandType.StoredProcedure, CommandTimeout = 180
                })
                {
                    Comando.Parameters.Clear();
                    if (Valores.Length > 0)
                    {
                        foreach (var Valor in Valores)
                        {
                            if (Valor.Item1 == null)
                            {
                                Comando.Parameters.Add(new SqlParameter("@" + Valor.Item2, string.Empty));
                                Comando.Parameters["@" + Valor.Item2].Size = (int)Constantes.SizeConsulta.Maximo;
                            }
                            else if (Valor.Item1.GetType() == typeof(char))
                            {
                                Comando.Parameters.Add(new SqlParameter("@" + Valor.Item2, Valor.Item1)).SqlDbType = SqlDbType.Char;
                            }
                            else if (Valor.Item1.GetType() == typeof(string))
                            {
                                Comando.Parameters.Add(new SqlParameter("@" + Valor.Item2, Valor.Item1)).SqlDbType = SqlDbType.VarChar;
                                Comando.Parameters["@" + Valor.Item2].Size = (int)Constantes.SizeConsulta.Maximo;
                            }
                            else if (Valor.Item1.GetType() == typeof(bool))
                            {
                                Comando.Parameters.Add(new SqlParameter("@" + Valor.Item2, Valor.Item1)).SqlDbType = SqlDbType.Bit;
                            }
                            else if (Valor.Item1.GetType() == typeof(Guid))
                            {
                                Comando.Parameters.Add(new SqlParameter("@" + Valor.Item2, Valor.Item1)).SqlDbType = SqlDbType.UniqueIdentifier;
                            }
                            else if (Valor.Item1.GetType() == typeof(decimal) || Valor.Item1.GetType() == typeof(float) || Valor.Item1.GetType() == typeof(double))
                            {
                                Comando.Parameters.Add(new SqlParameter("@" + Valor.Item2, Valor.Item1)).Precision = 18;
                                Comando.Parameters["@" + Valor.Item2].Scale = 4;
                            }
                            else
                            {
                                Comando.Parameters.Add(new SqlParameter("@" + Valor.Item2, Valor.Item1));
                            }
                        }
                        Conexion.Open();
                        Comando.Prepare();
                        using (SqlDataReader LeerFilas = Comando.ExecuteReader()) Tabla.Load(LeerFilas);
                        Conexion.Close();
                    }
                }
            }
            return(Tabla);
        }