none
consultar y proyectar en una gridview RRS feed

  • Pregunta

  • esta es mi conexion para que no me agreguen nuevas 

    using System;
    using System.Data;
    using System.Data.SqlClient;
    
    namespace proyecto_wed.CONEXION
    {
        public class conexion
        {
    
    
            string rutaconexion = "";
            
            protected string sql;
            protected int resultado;
            protected SqlConnection cnn;
            protected SqlConnection comandosql;
            protected string mensaje;
    
            public string conection()
            {
                rutaconexion = "Data Source=Esneyder\\SQLEXPRESS; Database=la_pampa225; User ID=sa; Password=admin123;  ";
                return rutaconexion;
            }
    
            public DataTable Consultas(string scriptConsulta)
            {
                SqlConnection conex = new SqlConnection(conection());
                SqlCommand lector = new SqlCommand(scriptConsulta, conex);
                SqlDataAdapter VistaRespuesta = new SqlDataAdapter(lector);
                DataTable tabla1 = new DataTable();
    
                conex.Open();
                VistaRespuesta.Fill(tabla1);
                conex.Close();
                lector.Dispose();
    
                return tabla1;
            }
    
            public string CRUD(string scriptConsulta)
            {
                SqlConnection conex = new SqlConnection(conection());
                SqlCommand lector = new SqlCommand(scriptConsulta, conex);
                lector.Connection = conex;
    
                string rta = "NO";
    
                conex.Open();
                int filaAfectada = lector.ExecuteNonQuery();
                conex.Close();
                lector.Dispose();
                if (filaAfectada > 0)
                    rta = "SI";
                return rta;
            }
    
    
    
    
    
    
    
    
    
        }
    }

    bueno quiero hacer una consulta para proyectarlas en el gridview

    que es esta

      public DataTable login()
            {
            this.sql = string.Format(@"SELECT id_usuario FROM usuario_contraseña WHERE usuario='{0}' AND contraseña='{1}'", this.usuario, this.contraseña);
            DataTable tabla1 = cbd.Consultas(sql);
            return tabla1;
            }

    quiero que me esta funcionando pero esa es para login ahora quiero proyectar eso datos en un gridview para saber que se tiene guardado 

    -------------gracias por su colaboracion ---------------

    lunes, 1 de agosto de 2016 22:11

Respuestas

  • El procedure copialo y pegalo en tu base de datos y lo ejecutas pero primero investiga que es un procedimiento alamcenado, si no lo entiendes hazlo asi de otra manera sin procedure

    SqlCommand sql = new SqlCommand("SELECT * FROM usuarios WHERE usuario = @user AND contrasena = @contrasena ", Conexion);
    
    sql.Parameters.Add("@usuario", SqlDbType.Varchar).Value = textbox1;
    
    sql.Parameters.Add("@contrasena ", SqlDbType.Varchar).Value = textbox2;



    martes, 2 de agosto de 2016 0:02

Todas las respuestas

  • Con un procedure seria asi

    create proc Acceso
    @user varchar(20),
    @contra  varchar(20)
    as 
    Select * from Usuario
    where USUARIO =  @user AND CONTRASEÑA =@contra
    go
    Y en C#
    public DataTable Login(string usu,string con)
    {
                DataTable login = new DataTable("Login");
                SqlConnection sql = new SqlConnection();
                try
                {
                    sql.ConnectionString = tuConexion;
    
                    SqlCommand sqlCm = new SqlCommand("Acceso", sql);
                    sqlCm.CommandType = CommandType.StoredProcedure;
    
                    sqlCm.Parameters.Add("@user", SqlDbType.VarChar).Value = usu;
                    sqlCm.Parameters.Add("@contra", SqlDbType.VarChar).Value = con;
    
                    SqlDataAdapter sqlAdp = new SqlDataAdapter(sqlCm);
                    sqlAdp.Fill(login);
    
                }
                catch
                {
                    login = null;
                }
                return login;
    }

    Por ultimo en el button ya nomas seria adaptarlo al lenguaje que lo quieres

    DataTable tabla = Login(textBox1.Text,textBox2.Text); if (tabla.Rows.Count == 0) { MessageBox.Show("No existe el usuario", "Sistema", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { dataGridView1.DataSource = tabla; }



    lunes, 1 de agosto de 2016 22:37
  • ahora quiero consultar datos de la base de datos pero ya tengo la conexion solo quiero hacer la consulta para proyectarla en el gridview pero que no sea de un texbox si no datos de la bd ya registrados 

    -----------gracias------------

    lunes, 1 de agosto de 2016 22:43
  • En si que quieres consultar mostrar todos los usuarios?
    lunes, 1 de agosto de 2016 22:51
  • si quiero consultarlos y saber que usuarios estan registrados
    lunes, 1 de agosto de 2016 22:54
  • Procedure en SQL Server

    create proc MostrarUsuario
    as
    	Select * from Usuario
    	order by id desc
    go

    Y en C# seria

    public DataTable MostarUsuarios()
    {
                DataTable login = new DataTable("Login");
                SqlConnection sql = new SqlConnection();
                try
                {
                    sql.ConnectionString = tuConexión;
    
                    SqlCommand sqlCm = new SqlCommand("MostrarUsuario", sql);
                    sqlCm.CommandType = CommandType.StoredProcedure;
    
                    SqlDataAdapter sqlAdp = new SqlDataAdapter(sqlCm);
                    sqlAdp.Fill(login);
    
                }
                catch
                {
                    login = null;
                }
                return login;
    }

    Y en el button

    dataGrid.DataSource =MostrarUsuarios();




    lunes, 1 de agosto de 2016 23:00
  • eso va dentro de una clase lo primero o que gracias

    lunes, 1 de agosto de 2016 23:40
  • El procedure copialo y pegalo en tu base de datos y lo ejecutas pero primero investiga que es un procedimiento alamcenado, si no lo entiendes hazlo asi de otra manera sin procedure

    SqlCommand sql = new SqlCommand("SELECT * FROM usuarios WHERE usuario = @user AND contrasena = @contrasena ", Conexion);
    
    sql.Parameters.Add("@usuario", SqlDbType.Varchar).Value = textbox1;
    
    sql.Parameters.Add("@contrasena ", SqlDbType.Varchar).Value = textbox2;



    martes, 2 de agosto de 2016 0:02