Programadores dedicados a C sharp .Net, eres nuevo, experto o quieres aprender a programar en C Sharp, aquí encontraras todo lo que necesitas.
 
ÍndiceCalendarioFAQBuscarMiembrosGrupos de UsuariosChatRegistrarseConectarse
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Últimos temas
Buscar
 
 

Resultados por:
 
Rechercher Búsqueda avanzada
Síguenos:
Crear foro Crear foro Crear foro

Comparte | 
 

 Crear login a base de datos MySql desde C#

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Cinder92
Programador Intermedio


Mensajes : 29
Puntos : 52

MensajeTema: Crear login a base de datos MySql desde C#   Lun Abr 04, 2011 3:14 pm

Login a base de datos MySql

Antes que nada cabe mensionar que antes deben de crear una tabla en su base de datos llamada login con atributos "usuario" y "password".

Bueno una vez creada, pues primero creamos una carpeta llamada BO y DAO, dentro creamos una clase, explorador de soluciones, clic derecho - agregar - nueva carpeta, agregar - clase.

creamos otra carpeta llamada services y dentro la clase LoginCtrl

Agregamos referencias MySql
Mysql.Data

Explorador de soluciones - references - agregar referencia - MySql.Data

Renombrenla como LoginBO

dentro de esa clase ponen lo siguiente

Código:

 public class LoginBO
    {
        string usuario;
        string password;

        public LoginBO()
      {
      }

        public string Usuario
        {
            get { return this.usuario; }
            set { this.usuario = value; }
        }

        public string Password
        {
            get { return this.password; }
            set { this.password = value; }
        }

        ~LoginBO()
        {
        }
    }

despues creamos otra clase con el nombre LoginDAO dentro de la carpeta DAO, con el siguiente codigo

Nota. Agregamos las referencias using


using MySql.Data.MySqlClient;
using MySql.Data;
using System.Data;
using Programa.BO;


Código:

public class LoginDAO
    {
        Conexion con = new Conexion();
        DataSet dsLogin = null;
        string sql;
        MySqlCommand cmd;
        MySqlDataAdapter da;

        public LoginDAO()
        {
        }

        public DataSet devuelveLogin(object obj)
        {
            //Variables para hacer una busqueda dinamica
            string cadenaWhere = "";
            bool edo = false;
            // convertimos nuestro objeto a tipo  alumno
            LoginBO data = (LoginBO)obj;
            // preparamos la conexion
            cmd = new MySqlCommand();
            dsLogin = new DataSet();
            da = new MySqlDataAdapter();
            // Establecemos la conexion
            cmd.Connection = con.establecerConexion();
            con.abrirConexion();

            if (data.Usuario  != null)
            {
                // para el caso de los tipos cadena la cadenaWhere  si lleva las comilla simple
                cadenaWhere = cadenaWhere + "Usuario='" + data.Usuario.Trim() + "' and";
                edo = true;
            }
            if (data.Password != null)
            {
                // para el caso de los tipos cadena la cadenaWhere  si lleva las comilla simple
                cadenaWhere = cadenaWhere + " Password='" + data.Password.Trim() + "' and";
                edo = true;
            }

            if (edo == true)
            {
                // Con  remove quitamos el ultimo and de sobra de la cadenaWhere
                cadenaWhere = " WHERE " + cadenaWhere.Remove(cadenaWhere.Length - 3, 3);
            }

            sql = " SELECT * FROM Login " + cadenaWhere;
            cmd.CommandText = sql;
            DataSet ds = new DataSet();
            da.SelectCommand = cmd;
            da.Fill(dsLogin);
         con.cerrarConexion();
            return dsLogin;
        }

        public int devuelveMaxLogin()
        {
            int result;
            // preparamos la conexion
            cmd = new MySqlCommand();
            dsLogin = new DataSet();
            da = new MySqlDataAdapter();
            // Establecemos la conexion
            cmd.Connection = con.establecerConexion();
            con.abrirConexion();
            // Declaramos nuestra sentencia select para que nos regrese el maximo de alumnos
            sql = "SELECT IFNULL(MAX(Usuario),0)+1 FROM Login";
            cmd.CommandText = sql;
            result = Convert.ToInt32(cmd.ExecuteScalar().ToString());
            return result;
        }

        public int creaLogin(object obj)
        {
            LoginBO data = (LoginBO)obj;
            cmd = new MySqlCommand();
            da = new MySqlDataAdapter();
            cmd.Connection = con.establecerConexion();
            con.abrirConexion();
            sql = "INSERT INTO Login VALUES('" + data.Usuario.Trim() + "','" + data.Password.Trim() + "')";
            cmd.CommandText = sql;
            int i = cmd.ExecuteNonQuery();

            if (i <= 0)
            {
                return 0;
            }
            return 1;
        }

        ~LoginDAO()
        {
        }
    }

La clase anterior permite agregar un usuario desde el programa

Dentro de la clase LoginCtrl escribimos

Antes que nada agreamos las referencias

using programa.DAO;
using System.Data;

Código:

    public class LoginCtrl
    {
        LoginDAO oLoginDAO = new LoginDAO();

        public DataSet regresaLogin(object obj)
        {
            DataSet ds = new DataSet();
            ds = oLoginDAO.devuelveLogin(obj);
            return ds;
        }

        public int CreaLogin(object obj)
        {
            int i = oLoginDAO.creaLogin(obj);
            if (i <= 0)
            {
                return 0;
            }
            return 1;
        }
    }

Despues creamos nuestro windows form con 2 label, 2 textbox y 1 boton
denle formato a todos, despues damos doble clic al boton y dentro del evento generado escribimos lo siguiente

Agregando las referencias

using MySql.Data.MySqlClient;
using MySql.Data;
using programa.Services;
using programa.BO;
using System.Runtime.InteropServices;


Código:

public bool trylogin(string usuario, string pass)
        {
            MySqlConnection con = new MySqlConnection("Server=servidor;User ID=usuario;Persist Security Info=true;Database=nombre_bad;");
            MySqlCommand cmd = new MySqlCommand("Select * from login where usuario = '" + usuario + "' AND password = '" + pass + "';");
            cmd.Connection = con;
            con.Open();
            MySqlDataReader reader = cmd.ExecuteReader();
            if (reader.Read() != false)
            {
                if (reader.IsDBNull(0) == true)
                {
                    cmd.Connection.Close();
                    reader.Dispose();
                    cmd.Dispose();
                    return false;
                }
                else
                {
                    cmd.Connection.Close();
                    reader.Dispose();
                    cmd.Dispose();
                    return true;
                }
            }
            else
            {
                return false;
            }
        }

Luego damos doble clic al boton y escribimos las sig. lineas de codigo

Código:

if (trylogin(txtUser.Text, txtPassword.Text) == true)
            {
                MessageBox.Show("Bienvenido");
            }
            else
            {
                MessageBox.Show("Acceso denegado");
            }
      }

Despues creamos otro windows form y agregamos 3 textbox, 3 labels y 2 botones

Nota. no olviden darle formato

Agregamos referencias using

using programa.BO;
using programa.Services;
using System.Data;

Dentro del formulario (osea el codigo) escribimos

Código:

 public void agregar()
        {
            try
            {
                if (txtusuario.Text == "" || txtpassword.Text == "")
                {
                    MessageBox.Show("Inserte datos");
                }
                else
                {
                    if (txtpassadmon.Text == "password")
                    {
                        Farmacia2E.BO.LoginBO oLoginBO = new Farmacia2E.BO.LoginBO();
                        Farmacia2E.Services.LoginCtrl LoginCtrl = new LoginCtrl();

                        oLoginBO.Usuario = txtusuario.Text.Trim();
                        oLoginBO.Password = txtpassword.Text.Trim();

                        //insertar datos
                        int estado = LoginCtrl.CreaLogin(oLoginBO);

                        if (estado == 0)
                        {
                            MessageBox.Show("Los datos no fueron creados");
                        }
                        else
                        {
                            MessageBox.Show("Los datos fueron creados correctamente");

                        }
                    }
                    else
                    {
                        MessageBox.Show("Contraseña de Admon. Incorrecta");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error intente nuevamente");
            }
        }

Damos doble clic al primer boton y dentro del evento escribimos

Código:

this.agregar();

dentro del segundo escribimos lo siguiente

Código:

Form1 of1 = new Form1();
of1.show();
this.hide();

Despues regresamos a nuestro primer formulario y dentro del boton que al que le mandamos que nos diga si el login fue correcto escribimos

Código:

Form2 of2 = new Form2();
of2.show();
this.hide();

espero les haya servido perdonen si no se entiende de todas maneras les dejo aqui las clases para que las revisen y no solo copien y peguen

Saludos!


Clases Login a Base de Datos
Volver arriba Ir abajo
Ver perfil de usuario
Ninja Varchar
Novato


Mensajes : 1
Puntos : 1
Localización : Merida

MensajeTema: Re: Crear login a base de datos MySql desde C#   Lun Abr 04, 2011 9:25 pm

Sería bueno que subieras los archivos .dll del MySQL. Gracias por compartir Very Happy
Volver arriba Ir abajo
Ver perfil de usuario
dahn
Novato


Mensajes : 1
Puntos : 1

MensajeTema: Re: Crear login a base de datos MySql desde C#   Miér Nov 16, 2011 6:31 am

Buenos días me gustaría saber si me podrías enviar un ejemplo implementado con el visual studio c# (express) porque no entiendo muy bien todo el proceso y la verdad estoy muy interesado en el login con mysql y c# porque no lo encuento en ningún sitio.


Muchas gracias!
Volver arriba Ir abajo
Ver perfil de usuario
athoms
Novato


Mensajes : 1
Puntos : 1

MensajeTema: Re: Crear login a base de datos MySql desde C#   Jue Feb 23, 2012 11:05 am

Interesante pero podrias hacerlo algo asi pero con un pagina web dentro d esta este el login y usando oracle como base de datos???
Volver arriba Ir abajo
Ver perfil de usuario
vamed15
Novato


Mensajes : 1
Puntos : 1

MensajeTema: Re: Crear login a base de datos MySql desde C#   Jue Feb 23, 2012 6:00 pm

podrian poner un ejemplo ya echo para analizarlo, estoy igual probadno de varias maneras hacerlo pero no es correcta

saluds
Volver arriba Ir abajo
Ver perfil de usuario
Contenido patrocinado




MensajeTema: Re: Crear login a base de datos MySql desde C#   Hoy a las 6:07 pm

Volver arriba Ir abajo
 
Crear login a base de datos MySql desde C#
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» Base de datos MYSQL
» Duda Hay base de datos Mysql
» Crear un segundo foro que se conecte a la base de datos de el primer foro
» Crear base de datos aparte
» Ayuda para crear una base de datos que se pueda editar en el perfil

Permisos de este foro:No puedes responder a temas en este foro.
CSPromex :: PROGRAMACIÓN EN C# :: Código abierto-
Cambiar a: