none
Como hacer un login RRS feed

Respuestas

  • Hola ! Primero que nada, quieres hacer un Login únicamente ? O un Login de un proyecto, porque si es solo un login, debes de crear y hacer toda la conexión y validación dentro del código de tu formulario. Pero si es el Login de un proyecto debes referenciarte por la programación en N capas (Capa de Presentación, Capa de Negocio y Capa de Datos) y con respecto a tu duda, para comparar podes usar un DataSet o un DataReader. Acá te dejo un video https://www.youtube.com/watch?v=brTPquMQIu8 . Cualquier duda, consulta ! Saludos !!

    cervera



    domingo, 30 de junio de 2019 3:48
  • Tengo la duda de como comparar los datos de una tabla de mysql con los datos de 2 textbox que tengo para usuario y contraseña.

    Para que tipo e proyecto web o escritorio?

    Mas allá de eso lo que tenes que hacer es usar las clases ado.net para mysql

          //variable nos sevira para obtener el nombre de usuario logeado
            public  string Nombre;
            public  bool Autenticar(string usuario, string password)
            {
                //consulta a la base de datos
                string sql = @"SELECT nombre
                              FROM Usuario
                              WHERE usuario = @user AND password = @pass";
                //cadena conexion  definida en AppConfig
                using (MySqlConnection conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["default"].ToString()))
                {
                    conn.Open();//abrimos conexion
     
                    MySqlCommand cmd = new MySqlCommand(sql, conn); //ejecutamos la instruccion
                    cmd.Parameters.AddWithValue("@user", usuario); //enviamos los parametros
                    cmd.Parameters.AddWithValue("@pass", password);
     
                    //creamos el adaptador
     
                    MySqlDataAdapter da = new MySqlDataAdapter(cmd);
     
                    DataTable dt = new DataTable();
                    da.Fill(dt);
                    //valido si encruentra datos
                    if (dt.Rows.Count > 0)
                    {
                        DataRow row = dt.Rows[0];
                        Nombre = Convert.ToString(row["nombre"]);//guardo el campo nombre de usuario logeado
                        return true;
                    }
                    else
                        return false;
      
                }
            }

    Para implementarlo arias asi.

    private void btnEntrar_Click(object sender, RoutedEventArgs e)
    {
    
        if(Autenticar(txtUsuario.Text,txtPasword.Password))
        {
            //si los datos son correctos muestro nombre de usuario
            MessageBox.Show("Bienvenido:" + Nombre);
        }
        else
        {
            //si los datos no son correctos
            MessageBox.Show("Ingrese Datos Correctos");
        }
     
    } 
    Te dejo un articulo de mi blog con explicacion para una aplicacion wpf
    CREAR LOGIN WPF C#

    Si es un proyecto web con webform podes usar el control de login como lo explico aqui

    INICIO DE SESION USANDO EL CONTROL LOGIN ASP.NET

    Saludos


    Cristian Torres
    Blog Cristian Torres

    El Salvador - San Salvador

    domingo, 30 de junio de 2019 21:56
  • Acá en vez de los "Sql" Le cambias por "MySql"..


            string consulta;
            protected SqlCommand cmd;
            protected SqlConnection sqlconnection;
            public string mensaje;
            protected string miCadenaConexion;
            bool resultado = false;

    public bool BuscarUsuario() { try { this.miCadenaConexion = @"Data Source=NICO; Initial Catalog=BDRestaurante; Integrated Security=true"; sqlconnection = new SqlConnection(miCadenaConexion); this.consulta = string.Format(@"select * from Usuarios where Usuario='{0}' and Clave='{1}'", usuario, contraseña); this.cmd = new SqlCommand(this.consulta, sqlconnection); this.sqlconnection.Open(); SqlDataReader reg = this.cmd.ExecuteReader(); if (reg.Read()) { resultado = true; this.mensaje = "Bienvenido al sistema"; } else { this.mensaje = "Usuario y/o Contraseña inválidos."; resultado = false; } this.sqlconnection.Close(); } catch (SqlException ex) { mensaje = "Error en la Base de Datos"; } catch (NullReferenceException ex) { mensaje = "No se encontro la ruta de conexión a la Base de Datos."; } catch (Exception ex) { mensaje = "Error."; } return resultado; }



    cervera


    domingo, 30 de junio de 2019 3:58

Todas las respuestas

  • Hola ! Primero que nada, quieres hacer un Login únicamente ? O un Login de un proyecto, porque si es solo un login, debes de crear y hacer toda la conexión y validación dentro del código de tu formulario. Pero si es el Login de un proyecto debes referenciarte por la programación en N capas (Capa de Presentación, Capa de Negocio y Capa de Datos) y con respecto a tu duda, para comparar podes usar un DataSet o un DataReader. Acá te dejo un video https://www.youtube.com/watch?v=brTPquMQIu8 . Cualquier duda, consulta ! Saludos !!

    cervera



    domingo, 30 de junio de 2019 3:48
  • Acá en vez de los "Sql" Le cambias por "MySql"..


            string consulta;
            protected SqlCommand cmd;
            protected SqlConnection sqlconnection;
            public string mensaje;
            protected string miCadenaConexion;
            bool resultado = false;

    public bool BuscarUsuario() { try { this.miCadenaConexion = @"Data Source=NICO; Initial Catalog=BDRestaurante; Integrated Security=true"; sqlconnection = new SqlConnection(miCadenaConexion); this.consulta = string.Format(@"select * from Usuarios where Usuario='{0}' and Clave='{1}'", usuario, contraseña); this.cmd = new SqlCommand(this.consulta, sqlconnection); this.sqlconnection.Open(); SqlDataReader reg = this.cmd.ExecuteReader(); if (reg.Read()) { resultado = true; this.mensaje = "Bienvenido al sistema"; } else { this.mensaje = "Usuario y/o Contraseña inválidos."; resultado = false; } this.sqlconnection.Close(); } catch (SqlException ex) { mensaje = "Error en la Base de Datos"; } catch (NullReferenceException ex) { mensaje = "No se encontro la ruta de conexión a la Base de Datos."; } catch (Exception ex) { mensaje = "Error."; } return resultado; }



    cervera


    domingo, 30 de junio de 2019 3:58
  • No te olvides de marcar como respuesta útil si te sirvió.

    cervera

    domingo, 30 de junio de 2019 21:36
  • Tengo la duda de como comparar los datos de una tabla de mysql con los datos de 2 textbox que tengo para usuario y contraseña.

    Para que tipo e proyecto web o escritorio?

    Mas allá de eso lo que tenes que hacer es usar las clases ado.net para mysql

          //variable nos sevira para obtener el nombre de usuario logeado
            public  string Nombre;
            public  bool Autenticar(string usuario, string password)
            {
                //consulta a la base de datos
                string sql = @"SELECT nombre
                              FROM Usuario
                              WHERE usuario = @user AND password = @pass";
                //cadena conexion  definida en AppConfig
                using (MySqlConnection conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["default"].ToString()))
                {
                    conn.Open();//abrimos conexion
     
                    MySqlCommand cmd = new MySqlCommand(sql, conn); //ejecutamos la instruccion
                    cmd.Parameters.AddWithValue("@user", usuario); //enviamos los parametros
                    cmd.Parameters.AddWithValue("@pass", password);
     
                    //creamos el adaptador
     
                    MySqlDataAdapter da = new MySqlDataAdapter(cmd);
     
                    DataTable dt = new DataTable();
                    da.Fill(dt);
                    //valido si encruentra datos
                    if (dt.Rows.Count > 0)
                    {
                        DataRow row = dt.Rows[0];
                        Nombre = Convert.ToString(row["nombre"]);//guardo el campo nombre de usuario logeado
                        return true;
                    }
                    else
                        return false;
      
                }
            }

    Para implementarlo arias asi.

    private void btnEntrar_Click(object sender, RoutedEventArgs e)
    {
    
        if(Autenticar(txtUsuario.Text,txtPasword.Password))
        {
            //si los datos son correctos muestro nombre de usuario
            MessageBox.Show("Bienvenido:" + Nombre);
        }
        else
        {
            //si los datos no son correctos
            MessageBox.Show("Ingrese Datos Correctos");
        }
     
    } 
    Te dejo un articulo de mi blog con explicacion para una aplicacion wpf
    CREAR LOGIN WPF C#

    Si es un proyecto web con webform podes usar el control de login como lo explico aqui

    INICIO DE SESION USANDO EL CONTROL LOGIN ASP.NET

    Saludos


    Cristian Torres
    Blog Cristian Torres

    El Salvador - San Salvador

    domingo, 30 de junio de 2019 21:56