Autor
|
Tema: Duda (Leído 4,372 veces)
|
Jareth
Desconectado
Mensajes: 334
|
|
Duda
« en: 4 Noviembre 2006, 16:06 pm » |
|
Hola,me gustaria saber como se hace (en vb) para que se puedan registrar,poner un nombre de usuario y pass,y luego logearse,imagino que con base de datos,pero no se exactamente como hacerlo. Gracias y saludos.
|
|
|
En línea
|
|
|
|
CeLaYa
Desconectado
Mensajes: 543
|
|
Re: Duda
« Respuesta #1 en: 4 Noviembre 2006, 22:05 pm » |
|
te recomiendo que primero veas temas relacionados con BD Conectarse a una BD de Access en VB http://foro.elhacker.net/index.php/topic,94263.msg442391.html#msg442391aunque para mi seria mejor guardar la contraseña cifrada en un archivo
|
|
|
En línea
|
"La soledad es el elemento de los grandes talentos". Cristina de Suecia (1626-1689) Reina de Suecia.
|
|
|
Jareth
Desconectado
Mensajes: 334
|
|
Re: Duda
« Respuesta #2 en: 4 Noviembre 2006, 22:56 pm » |
|
Si sobre base de datos pues se algunas cosas,el problema es que no se como añadir el contenido de un textbox(por ejemplo el user)a una base de datos(esto seria cuando uno se registra),leerlo si que se. Otra cosa si tu me dices lo de guardarlo en un archivo cifrado,como seria? Gracias y saludos.
|
|
|
En línea
|
|
|
|
CeLaYa
Desconectado
Mensajes: 543
|
|
Re: Duda
« Respuesta #3 en: 6 Noviembre 2006, 16:53 pm » |
|
primero para guardar datos en una BD lo haces con addnew
dim Bd as database dim Tb as database
set bd = workspaces(0).opandatabase("c:\basededatos.mdb",Exclusivo, SoloLectura) set tb = bd.openrecordset("tabla")
tb.addnew tb!Usuario = txtUsuario.text tb!Pass = txtpassword.text tb.update
tb.close bd.close
set tb = nothing set bd = nothing
segundo para lo del archivo, pues puedes idearte algun proceso que si tu le pones "usuario1" te guarde "A%S23$Q=WE(2" o algo asi, eso ya es custión de como lo quieras hacer.
|
|
|
En línea
|
"La soledad es el elemento de los grandes talentos". Cristina de Suecia (1626-1689) Reina de Suecia.
|
|
|
Jareth
Desconectado
Mensajes: 334
|
|
Re: Duda
« Respuesta #4 en: 6 Noviembre 2006, 19:03 pm » |
|
Ok,muchas gracias! me has ayudado mucho,de verdad gracias. Por cierto esta todo perfecto excepto el Tb que debe ser declarado como Recordset.Funciona perfecto gracias otra vez. Saludos.
|
|
|
En línea
|
|
|
|
Jareth
Desconectado
Mensajes: 334
|
|
Re: Duda
« Respuesta #5 en: 6 Noviembre 2006, 19:12 pm » |
|
Hola,lo siento,tengo otra duda,ahora como hago para comprobar que existe,si existe que por ejemplo vaya al siguiente form,esque se buscar y mostrar los datos pero no se como mirar si existen. Gracias y saludos. EDITADO:Perdon ya me salió,xD.Lo pongo por si otro tiene el mismo problema(si esta mal decidmelo): Dim bd As Database Dim tb As Recordset
Set bd = Workspaces(0).OpenDatabase("C:\Documents and Settings\USER\Escritorio\bd1.mdb") Set tb = bd.OpenRecordset("tabla1")
If tb!User = Text1.Text And tb!pass = Text2.Text Then Form2.Hide Form3.Show Else MsgBox ("Datos incorrectos") End If
|
|
« Última modificación: 6 Noviembre 2006, 21:20 pm por Jareth »
|
En línea
|
|
|
|
CeLaYa
Desconectado
Mensajes: 543
|
|
Re: Duda
« Respuesta #6 en: 7 Noviembre 2006, 00:34 am » |
|
pues lo haces con una consulta SQL, un ejemplo:
Dim bd As Database Dim tb As Recordset
Set bd = Workspaces(0).OpenDatabase("C:\Documents and Settings\USER\Escritorio\bd1.mdb") Set tb = bd.OpenRecordset("SELECT * FROM tabla1" & _ "WHERE User = '" & text1.text & "' " & _ "AND Pass = " & text2.text & "';")
If tb.Recordcount > 0 then ' Encontro por lo menos un registro Unload me ElotroForm.show end if
'No olvides cerrar la BD y liberar la memoria tb.close bd.close set tb = nothing set bd = nothing
|
|
|
En línea
|
"La soledad es el elemento de los grandes talentos". Cristina de Suecia (1626-1689) Reina de Suecia.
|
|
|
Jareth
Desconectado
Mensajes: 334
|
|
Re: Duda
« Respuesta #7 en: 7 Noviembre 2006, 20:35 pm » |
|
Gracias CeLaYa,de todas formas encontré otra manera pero probaré la tuya. Gracias y Saludos.
|
|
|
En línea
|
|
|
|
Jareth
Desconectado
Mensajes: 334
|
|
Re: Duda
« Respuesta #8 en: 8 Noviembre 2006, 18:57 pm » |
|
Hola,tu code me da error en la SQL,de todas formas el mio va,pero por ejemplo cuando en el primer form me registro y los datos se añaden,cuando voy al form2 que es donde login,los datos recien puestos no los reconoce,pero si cierro el programa y lo ejecuto luego si.Y yo quiero que nada mas registrarte hagas login sin necesidad de cerrar el programa. Gracias y saludos.
|
|
|
En línea
|
|
|
|
CeLaYa
Desconectado
Mensajes: 543
|
|
Re: Duda
« Respuesta #9 en: 8 Noviembre 2006, 21:15 pm » |
|
creo que el error pueda ser que me falto un espacio en la consulta SQL Set tb = bd.OpenRecordset("SELECT * FROM tabla1" & _ "WHERE User = '" & text1.text & "' " & _ "AND Pass = " & text2.text & "';")
lo correcto seria: Set tb = bd.OpenRecordset("SELECT * FROM tabla1 " & _ "WHERE User = '" & text1.text & "' " & _ "AND Pass = " & text2.text & "';") y para eso de que no te reconoce los datos, porque no pones el codigo que tienes y vemos que se puede hacer
|
|
|
En línea
|
"La soledad es el elemento de los grandes talentos". Cristina de Suecia (1626-1689) Reina de Suecia.
|
|
|
|
|