Login a base de datos MySqlAntes 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!
[Tienes que estar registrado y conectado para ver este vínculo]