Comparar usuario y contraseña con la base de datos. Ayuda

Iniciado por 70N1, 29 Enero 2008, 00:44 AM

0 Miembros y 1 Visitante están viendo este tema.

70N1

Se que es facil... pero ando perdido y a estas horas pues... exo polvo.
Aver si alguien me puede decir... o completar este codigo.
   
Private Sub Button1_Click()
       
         If TextBox1 = Me.database1DataSet.table1 Then

        End If
   
End Sub
         


y... me perdi.
70N1

ranslsad

Creo que deberias de leer un poco mas sobre las DB y eso..
yo no se usarlas, pero se que no es dificil, leete algo rapidin :D

Salu2

Ranslsad

cassiani

#2
Citar"Comparar usuario y contraseña con la base de datos"



Este ejemplo es muy básico, en el form, un ComboBox y un TextBox.
El combo cargará desde la BD los usuarios registrados en la tabla "Usuario_Sistema"
En el TextBox se introducirá el password que posteriormente será verificado.

Código (vb) [Seleccionar]
Option Explicit
Public Conex As String 'Almacenará datos de conexión
Public RS As ADODB.Recordset 'Recordset

Private Sub Form_Load()
    Set RS = New ADODB.Recordset
   
    'Cadena de conexión
    Conex = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=" & App.Path & "\BD.mdb;"
   
    'Abrimos la tabla "Usuario_Sistema" con el recordset
    RS.Open "Usuario_Sistema", Conex
        Combo1.Clear
        While Not RS.EOF
            'Añadimos el Id y el nombre de usuario al combo1
            Combo1.AddItem RS!Id_Usuario_Sistema & " - " & RS!Nombre_Usuario
            RS.MoveNext
        Wend
    RS.Close
End Sub

Private Sub CmdAceptar_Click()
Dim Id As Byte

    'Abrimos la tabla
    RS.Open "Usuario_Sistema", Conex, adOpenDynamic, adLockOptimistic
        RS.MoveFirst 'Nos movemos al primer registro
        'Extraemos el ID del usuario del combo1
        Id = Mid(Combo1.Text, 1, (InStr(Combo1.Text, "-")) - 2)
       
        'Buscamos el registro correspondiente, usando el ID que conseguimos
        RS.Find "Id_Usuario_Sistema = " & Id
       
        'Comparamos el campo contraseña con el password introducido en el textbox
        If RS!Contraseña_Usuario = Text1.Text Then
            MsgBox "contraseña correcta"
        Else
            MsgBox "La contraseña es incorrecta..."
        End If
    RS.Close
End Sub


Como el combo1 solo carga los registros existentes, es obvio que deberas tener un modulo donde se administren los usuarios del sistema, porque este es solo para limitar el acceso a aquellos que estan registrados.

El Id del usuario no es necesario cargarlo en el mismo combo1 junto con el nombre, podes tener un combo2, donde solo se agreguen los Id de cada registro de la tabla y a la hora de necesitar el id para buscar el registro y hacer comparaciones con el password, usar el contenido del mismo.

Medio enrredadito, ¿verdad? :rolleyes: si no entendes algo, ¡avisas!

Espero os sea de ayuda, ¡S4lu2!

eszzes

Cita de: cΔssiΔnі en 29 Enero 2008, 19:12 PM
Citar"Comparar usuario y contraseña con la base de datos"



Este ejemplo es muy básico, en el form, un ComboBox y un TextBox.
El combo cargará desde la BD los usuarios registrados en la tabla "Usuario_Sistema"
En el TextBox se introducirá el password que posteriormente será verificado.

Código (vb) [Seleccionar]
Option Explicit
Public Conex As String 'Almacenará datos de conexión
Public RS As ADODB.Recordset 'Recordset

Private Sub Form_Load()
    Set RS = New ADODB.Recordset
   
    'Cadena de conexión
    Conex = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=" & App.Path & "\BD.mdb;"
   
    'Abrimos la tabla "Usuario_Sistema" con el recordset
    RS.Open "Usuario_Sistema", Conex
        Combo1.Clear
        While Not RS.EOF
            'Añadimos el Id y el nombre de usuario al combo1
            Combo1.AddItem RS!Id_Usuario_Sistema & " - " & RS!Nombre_Usuario
            RS.MoveNext
        Wend
    RS.Close
End Sub

Private Sub CmdAceptar_Click()
Dim Id As Byte

    'Abrimos la tabla
    RS.Open "Usuario_Sistema", Conex, adOpenDynamic, adLockOptimistic
        RS.MoveFirst 'Nos movemos al primer registro
        'Extraemos el ID del usuario del combo1
        Id = Mid(Combo1.Text, 1, (InStr(Combo1.Text, "-")) - 2)
       
        'Buscamos el registro correspondiente, usando el ID que conseguimos
        RS.Find "Id_Usuario_Sistema = " & Id
       
        'Comparamos el campo contraseña con el password introducido en el textbox
        If RS!Contraseña_Usuario = Text1.Text Then
            MsgBox "contraseña correcta"
        Else
            MsgBox "La contraseña es incorrecta..."
        End If
    RS.Close
End Sub


Como el combo1 solo carga los registros existentes, es obvio que deberas tener un modulo donde se administren los usuarios del sistema, porque este es solo para limitar el acceso a aquellos que estan registrados.

El Id del usuario no es necesario cargarlo en el mismo combo1 junto con el nombre, podes tener un combo2, donde solo se agreguen los Id de cada registro de la tabla y a la hora de necesitar el id para buscar el registro y hacer comparaciones con el password, usar el contenido del mismo.

Medio enrredadito, ¿verdad? :rolleyes: si no entendes algo, ¡avisas!

Espero os sea de ayuda, ¡S4lu2!


disculpa q agarre este tema tan tarde es q no encuentro como hacer para cargar desde una base de datos un registro   hacia una caja de texto algo as com en el form load me podrian decir mas o menos aca recien dieron un ejemplo de cargarlo en un combo box pero parece q es mas complicado
por favor respode

cassiani

#4
a bueno ya te deje un ejemplo y... creo que no hacia falta citar todo eso   :P

uy eso ya es viejito para mi, hasta maneras más directas hay de hacer las consultas, lo que pasa por no saber nada de sql para el momento  :rolleyes:

seba123neo

Cita de: eszzes q no encuentro como hacer para cargar desde una base de datos un registro   hacia una caja de texto algo as com en el form load me podrian decir mas o menos aca recien dieron un ejemplo de cargarlo en un combo box pero parece q es mas complicado

leete un manual de ADO y SQL y problema solucionado...
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

ssccaann43 ©



Option Explicit
Public Conex As String 'Almacenará datos de conexión
Public RS As ADODB.Recordset 'Recordset

Private Sub Form_Load()   
Set RS = New ADODB.Recordset

    'Cadena de conexión
    Conex = "Provider=Microsoft.Jet.OLEDB.4.0;" & _    "Data Source=" & App.Path & "\BD.mdb;"     

'Abrimos la tabla "Usuario_Sistema" con el recordset   

RS.Open "Usuario_Sistema", Conex       

   Combo1.Clear 
     
   While Not RS.EOF 

   'Añadimos el Id y el nombre de usuario al combo1       
   Combo1.AddItem RS!Id_Usuario_Sistema & " - " & RS!Nombre_Usuario0

   RS.MoveNext       

   Wend   

RS.Close
End Sub




Usando el ejemplo de arriba, alli te muestro como cargar datos en un combo automaticamente al mostrarse el form. No es dificil. Y como dice seba, leete un tuto de BD.
- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"