Duda

Iniciado por Jareth, 4 Noviembre 2006, 16:06 PM

0 Miembros y 2 Visitantes están viendo este tema.

Jareth

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.

CeLaYa

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#msg442391


aunque para mi seria mejor guardar la contraseña cifrada en un archivo
"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.

Jareth

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.

CeLaYa

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.
"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.

Jareth

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.

Jareth

#5
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

CeLaYa

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
"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.

Jareth

Gracias CeLaYa,de todas formas encontré otra manera pero probaré la tuya. ::)
Gracias y Saludos.

Jareth

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.

CeLaYa

creo que el error pueda ser que me falto un espacio en la consulta SQL

Cita de: CeLaYa en  7 Noviembre 2006, 00:34 AM
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
"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.