Sistema de login
Es facil de usar solo tienes que configurarlo dependiendo de como tengas la base de datos de los usuarios
NUEVO: agregada opcion de encriptacion de contraseña con Bcrypt
La contraseña de la base de datos login.accdb es: test
Ejecuta el proyecto pero modo Debug ya que la base de datos login.accdb esta en el directorio Debug e introduce estos datos:
Usuario: prueba
Contraseña: 5555
El codigo esta documentado
ACTUALIZADO 11/11/12
Publicado en tttony.blogspot.com
Publicar un comentario
35 comentarios:
Excelente aporte solo me queda una duda... esque resulta que en mi caso igual utilizo una BD access 2007... pero en la parte donde lleno el datatable que en tu caso es da.Fill(ds) me genera un error en esta parte
OleDbDataAdapter access = new OleDbDataAdapter(sql, conexion);
LoginDataSet ds = new LoginDataSet();
access.Fill(ds);
if (ds.Table[0].Rows.Count == 1)
{
Login log = new Login();
log.Show();
this.Close();
me dice que mi DataSet no contiene una definicion para Table.. y no se que hacer espero me puedas ayudar... ya soy muy novato en esto jeje
Krusnik-02: en tu codigo la variable ds es instanciada de la clase LoginDataSet() dicha clase no contiene el metodo Table y es por eso que arroja el error
Mi codigo es mas generalizado no es necesario usar tus propios DataSets hazlo tal cual lo tengo en mi codigo y cambia en la variable sql el nombre de la tabla y campos que corresponda con las que hayas creado en tu base de datos:
string sql = String.Format("SELECT * FROM TU_TABLA_DE_USUARIOS_AQUI WHERE username = '{0}' AND password = '{1}'", txtUsername.Text, GetMD5Hash(txtPassword.Text));
Saludos
bueno saludos antes qe nada solo queria agradecerte por el cod es de mucha ayuda pero a mi me da un error aca: access.Fill(ds);
me dice que no se pudo controlar OlDbException y luego dice esto:
El motor de base de datos de Microsoft Office Access no puede abrir o escribir en el archivo 'C:\Documents and Settings\Waldo\Escritorio\Sistema_Bodega'. Está abierto en modo exclusivo por otro usuario o bien necesita permiso para ver sus datos o escribir en el archivo.
ojala me puedas ayudar a descubrir mi error sera de gran ayuda gracias!!!
Que tal Oswaldo, dusculpa la demora pero creo que ya lo haz solucionado
Ese error lo muestra cuando tienes abierta la base de datos en modo Diseño
Solo cierra el modo diseño y ya no te mostrara el error
Saludos
Hola, espero me puedas ayudar esq soy novato en esto y A mi me da el siguente error. No se controlo OleDbExeption. El motor de base de datos de microsoft office access no puede encontrar la tabla o consulta de entrada 'users'. Asegúrese de que existe y que su nombre está escrito correctamente. Gracias espero tú respuesta.
Bueno estuve borrando y poniendo y estoy fue lo que obtuve... En donde pusiste configurar estas variables a tú gusto, las cambie según el orden de mi base de datos, y ahora me presenta este error, bueno al igual que el error anterior me señala el da.Fill(ds); y me dice el error: no se encontró OleDbException, no se han especificado valores para algunos de los parámetros requeridos... Y está vez no se que cambiar jaja si está mal lo que he hecho me lo haces saber para poder volver a cargar tú archivo... Jaja gracias
Bueno estuve borrando y poniendo y estoy fue lo que obtuve... En donde pusiste configurar estas variables a tú gusto, las cambie según el orden de mi base de datos, y ahora me presenta este error, bueno al igual que el error anterior me señala el da.Fill(ds); y me dice el error: no se encontró OleDbException, no se han especificado valores para algunos de los parámetros requeridos... Y está vez no se que cambiar jaja si está mal lo que he hecho me lo haces saber para poder volver a cargar tú archivo... Jaja gracias
EDO SOLANO, disculpa pero olvida ese codigo, he actualizado el proyacto, asi que intenta con este nuevo y me dices
Saludos
ok gracias voy a probar....pero cual es la contraseña del archivo de access??? esq intente abrir el archivo por aparte y me pide contraseña.
Gracias, voy a probar, pero cual es la contraseña para abrir el archivo de access...??
Bueno cuando habilitó el públic string databasepath= @"database/login.accdb", me manda un error, dice ambigüedad entre 'login.loginclass.databasepath'
La contraseña es: test
Estas haciendo las pruebas con este proyecto o tu proyecto?
Asi tal cual como esta, ejecuta el proyecto pero modo Debug ya que la base de datos login.accdb esta en el directorio debug
Ok yo lo abro de la carpeta debug, y me sale el login administración, ahí le pongo test y 5555? O que pongo xq me sale usuario o contraseña invalida...y cuando abro el archivo de c# me nuestra 2 advertencias, dice se ha detectado código inaccesible y cuando le doy doble clic me manda al cmd...Y dime yo de ese código lo puedo modificar o agregar para que también pueda crear "usuarios"...! Gracias x tú atención...
El post lo actualice y estos son los detalles:
El proyecto esta hecho en Visual C# 2010
La contraseña para entrar al archivo login.accdb en Access 2007 es: test
Para probar la aplicacion ingresa esto:
Usuario: prueba
Contraseña: 5555
En cuanto al error del: "condigo inaccesible" no se que decirte, a mi me funciona perfecto, tienes el Visual Studio 2010?
Ok, yo tengo visual studio que me imagino es C#,pero voy a probar eso que me dijiste gracias...
Jaja ya pude tenías toda la razón. Gracias x el aporte
Gracias me funcionó perfecto
Hola, ocupo tú ayuda por favor, necesito encriptar de forma sencilla un número, con la función mod. Ejemplo pongo 2358 y y necesito el residuo de cada número dividido entre 7, debe mostrarse en un texbox el número de dígitos teclados para este caso son 4. Quedaría 4xxxx donde x es el residuo de cada número. Tengo este código string dato; dato=texbox1.text; char[] arreglo = dato.tocharArray(); for (int I=0; I<arreglo.length; I++) me puedes ayudar a completar el código esq creo que sólo eso tengo bien... Gracias espero tú ayuda
mm Creo que entendi mas o menos:
for (int I=0; I<arreglo.length; I++)
textBox2.Text = Convert.ToInt32(arreglo.ToString()) % 7;
Hola, coloque lo que pusiste, pero me manda el siguiente error. "No se puede convertir implícitamente el tipo int en string...
Cierto cierto, lo estas presentando en un TextBox
for (int I=0; I<arreglo.length; I++)
textBox2.Text = (Convert.ToInt32(arreglo.ToString()) % 7).ToString();
De igual forma, al darle ejecutar me manda el error :
textBox2.Text = (Convert.ToInt32(arreglo.ToString()) % 7).ToString(); eso lo pone en amarillo y dice "No se controlo FormatExeption
La cadena de entrada no tiene el formato correcto.... ¿¿¿¿¿????
oops!!!
cambia:
arreglo.ToString()
a
arreglo[l].ToString()
Te cuento sí pongo 428 pone un 1 en el texbox2 de salida porque le saca el residuo de 8/7, está bien esa parte pero ocupo que en ese mismo instante le saqué el mod al 2 y al 4, y que el residuo quede en el mismo texbox2 y como hay 3 números debería quedar el 3xx1 donde x es el residuo de los otros números... Ojalá puedas arreglarme eso que quedé así...
Cierto:
textBox2.Text += (Convert.ToInt32(arreglo[l].ToString()) % 7).ToString();
Excelente gracias...
como ingresas un nuevo usuario con su respectiva contraseña?
como agregas nuevos usuarios lo haces desde la base de datos directamente?
como ingresas un nuevo usuario con su respectiva contraseña?
Hola, como ingreso un nuevo usuario en otro form?
Si, usa otro Form, voy a tener que editarlo pata agregar usuarios
Para agregar otro usuario, como le puedo hacer? ya sea en otro form o en el mismo? haz sido de gran ayuda.
Crea otro formulario, yo estoy por editarlo para crear usuarios, creo que esta semana lo subo
como puedo hacer para que en el formulario login me saque una contraseña de la base de datos y no sea una puesta en el programa directo
Usa la funcion Random(), aqui hay ejemplos --> http://stackoverflow.com/questions/1344221/how-can-i-generate-random-alphanumeric-strings-in-c
Publicar un comentario