Un pequeño ejemplo de como crear un login utilizando una base de datos.
Desarrollo:
Necesitamos crear dos formularios el primero llamado Login, el segundo Principal que será al que queremos acceder si la contraseña es correcta.
Para el login necesitamos crear el formulario tal como se muestra en la imagen principal:
Teniendo siempre en cuanta que se debe de cambiar la propiedad name a cada uno de los controles, para poder tener mayor control sobre el
Para el formulario Principal:
Este formulario no tiene ninguna función especial nada mas sirve para poder verificar que el login se ha hecho correctamente. En el caso de crear un sistema este podría ser el menú principal un formulario MDI por ejemplo. Pero basta con este para hacer la demostración.
CODIFICACIÓN
Crear la base de datos, la tabla con sus campos y llenando con un registro por lo menos. Al descargar el proyecto trae el scrip de la base de datos. Se puede ejecutar y listo(Por defecto el usuario es fernando y la contraseña es pepito). NOTA en el código esta la conexión a la base de datos ese código es suficiente para que pueda funcionar en cualquier computadora.
Formulario Login:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient;//necesario para poder acceder a SQL namespace Login { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnIniciar_Click(object sender, EventArgs e) { try { //creando la conexion SqlConnection miConecion = new SqlConnection(@"server=.\SQLEXPRESS; Initial Catalog = loginbd; Integrated Security=True;"); //abriendo conexion miConecion.Open(); SqlCommand comando = new SqlCommand("select usuario, contraseña from Tblusuario where usuario = '" + txtusuario.Text + "'And contraseña = '" + txcontraseña.Text + "' ", miConecion); //ejecuta una instruccion de sql devolviendo el numero de las filas afectadas comando.ExecuteNonQuery(); DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(comando); //Llenando el dataAdapter da.Fill(ds, "Tblusuario"); //utilizado para representar una fila de la tabla q necesitas en este caso usuario DataRow DR; DR = ds.Tables["Tblusuario"].Rows[0]; //evaluando que la contraseña y usuario sean correctos if ((txtusuario.Text == DR["usuario"].ToString()) || (txcontraseña.Text == DR["contraseña"].ToString())) { //instanciando el formulario principal Principal frmPrincipal = new Principal(); frmPrincipal.Show();//abriendo el formulario principal this.Hide();//esto sirve para ocultar el formulario de login } } catch { //en caso que la contraseña sea erronea mostrara un mensaje //dentro de los parentesis va: "Mensaje a mostrar","Titulo de la ventana",botones a mostrar en ste caso OK, icono a mostrar en este caso uno de error MessageBox.Show("Error! Su contraseña y/o usuario son invalidos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void btnCancelar_Click(object sender, EventArgs e) { //Salir de la aplicacion Application.Exit(); } private void txtusuario_TextChanged(object sender, EventArgs e) { //aca se activa el boton INICIAR btnIniciar.Enabled = true; } } }
Para el Formulario principal en el botón salir nada mas:
Application.Exit();
Descargar el proyecto completo
hola
ResponderEliminarasdasdas
ResponderEliminarasdjkh
ResponderEliminarmuchas gracias lo andava buscando
ResponderEliminaren este caso cuales serian los nombres de usuario y contraseña correctos para entrar y como se podrian agregar mas nombres de usuario y contraseñas
ResponderEliminarmuchas gracias. me sirvió un buen :D
ResponderEliminarUna consulta, cuando estoy en el menu principal y apreteo la x para cerrar, el programa sigue funcionando, porque el login no se cierra. como puedo solucionar eso?
ResponderEliminary si lo quiero usar pero con una base de datos en Access 2010?
ResponderEliminarseba: en el evento closing del formulario principal pones Application.Exit(); y te cerrara todos los formularios que esten activos.
ResponderEliminarwenaa perrin
ResponderEliminarcual es el usuario y contraseña
ResponderEliminarExcelente, gracias por el aporte me sirvio mucho. :)
ResponderEliminaresa basura no sirve, como vas a enseñar tremenda estupidez!!! , y si te inyecto con sql ??? tu aplicacion no vale por ke dejas de lado la segurida
ResponderEliminargracias amigo me acabas de salvar
ResponderEliminarAmigo ayúdanos con un buen acceso a datos en donde se tome en cuenta la seguridad y el manejo de errores ademas de las excepciones que se maneja por ejemplo al momento de insertar fechas en un sistema grande son muy necesarias verificar todos estos parámetros
ResponderEliminarGracias....
Lo que se esta explicando arriba cualquiera lo puede hacer
ResponderEliminarpueen hacer este codigo en c++
ResponderEliminarnotaste que el password no distingue entre mayusculas y minusculas?
ResponderEliminarte recomiendo que analices el try que arroja el error de logeo, ya que si se produce un error en el form invocado luego del login, arrojara dicho error, sin tener nada que ver el usuario y el pass, saludos!
ResponderEliminarexcelente
ResponderEliminarLo probare a ver que tal XD
ResponderEliminarOLA KE ASE
ResponderEliminarbrother la verdad no sé que pasa, pero he copiado el código para iniciar la seción y pues he cambiado algunas cosas de acuerdo a mi proyecto, y pues lo que sucede es que no me funciona como debería ser. Dice que hay error en los datos, y pues ya verifiqué lo tengo en mi Base de datos de sql server y pues es lo mismo, no sé xq me sale el error.
ResponderEliminarmuy bueno hermano pero tienes un error cuando los datos son validos no carga la segunda forma
ResponderEliminar