Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: 70N1 en 29 Enero 2008, 00:44 am



Título: Comparar usuario y contraseña con la base de datos. Ayuda
Publicado por: 70N1 en 29 Enero 2008, 00:44 am
Se que es facil... pero ando perdido y a estas horas pues... exo polvo.
Aver si alguien me puede decir... o completar este codigo.
Código:
   
Private Sub Button1_Click()
       
         If TextBox1 = Me.database1DataSet.table1 Then

        End If
   
End Sub
         

y... me perdi.


Título: Re: Comparar usuario y contraseña con la base de datos. Ayuda
Publicado por: ranslsad en 29 Enero 2008, 12:48 pm
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


Título: Re: Comparar usuario y contraseña con la base de datos. Ayuda
Publicado por: cassiani en 29 Enero 2008, 19:12 pm
Citar
"Comparar usuario y contraseña con la base de datos"

(http://s1.subirimagenes.com/imagenes/previo/thump_1836503ControlAcces.jpg)

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
  1. Option Explicit
  2. Public Conex As String 'Almacenará datos de conexión
  3. Public RS As ADODB.Recordset 'Recordset
  4.  
  5. Private Sub Form_Load()
  6.    Set RS = New ADODB.Recordset
  7.  
  8.    'Cadena de conexión
  9.    Conex = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
  10.    "Data Source=" & App.Path & "\BD.mdb;"
  11.  
  12.    'Abrimos la tabla "Usuario_Sistema" con el recordset
  13.    RS.Open "Usuario_Sistema", Conex
  14.        Combo1.Clear
  15.        While Not RS.EOF
  16.            'Añadimos el Id y el nombre de usuario al combo1
  17.            Combo1.AddItem RS!Id_Usuario_Sistema & " - " & RS!Nombre_Usuario
  18.            RS.MoveNext
  19.        Wend
  20.    RS.Close
  21. End Sub
  22.  
  23. Private Sub CmdAceptar_Click()
  24. Dim Id As Byte
  25.  
  26.    'Abrimos la tabla
  27.    RS.Open "Usuario_Sistema", Conex, adOpenDynamic, adLockOptimistic
  28.        RS.MoveFirst 'Nos movemos al primer registro
  29.        'Extraemos el ID del usuario del combo1
  30.        Id = Mid(Combo1.Text, 1, (InStr(Combo1.Text, "-")) - 2)
  31.  
  32.        'Buscamos el registro correspondiente, usando el ID que conseguimos
  33.        RS.Find "Id_Usuario_Sistema = " & Id
  34.  
  35.        'Comparamos el campo contraseña con el password introducido en el textbox
  36.        If RS!Contraseña_Usuario = Text1.Text Then
  37.            MsgBox "contraseña correcta"
  38.        Else
  39.            MsgBox "La contraseña es incorrecta..."
  40.        End If
  41.    RS.Close
  42. 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!


Título: Re: Comparar usuario y contraseña con la base de datos. Ayuda
Publicado por: eszzes en 28 Agosto 2008, 06:27 am
Citar
"Comparar usuario y contraseña con la base de datos"

(http://s1.subirimagenes.com/imagenes/previo/thump_1836503ControlAcces.jpg)

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
  1. Option Explicit
  2. Public Conex As String 'Almacenará datos de conexión
  3. Public RS As ADODB.Recordset 'Recordset
  4.  
  5. Private Sub Form_Load()
  6.    Set RS = New ADODB.Recordset
  7.  
  8.    'Cadena de conexión
  9.    Conex = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
  10.    "Data Source=" & App.Path & "\BD.mdb;"
  11.  
  12.    'Abrimos la tabla "Usuario_Sistema" con el recordset
  13.    RS.Open "Usuario_Sistema", Conex
  14.        Combo1.Clear
  15.        While Not RS.EOF
  16.            'Añadimos el Id y el nombre de usuario al combo1
  17.            Combo1.AddItem RS!Id_Usuario_Sistema & " - " & RS!Nombre_Usuario
  18.            RS.MoveNext
  19.        Wend
  20.    RS.Close
  21. End Sub
  22.  
  23. Private Sub CmdAceptar_Click()
  24. Dim Id As Byte
  25.  
  26.    'Abrimos la tabla
  27.    RS.Open "Usuario_Sistema", Conex, adOpenDynamic, adLockOptimistic
  28.        RS.MoveFirst 'Nos movemos al primer registro
  29.        'Extraemos el ID del usuario del combo1
  30.        Id = Mid(Combo1.Text, 1, (InStr(Combo1.Text, "-")) - 2)
  31.  
  32.        'Buscamos el registro correspondiente, usando el ID que conseguimos
  33.        RS.Find "Id_Usuario_Sistema = " & Id
  34.  
  35.        'Comparamos el campo contraseña con el password introducido en el textbox
  36.        If RS!Contraseña_Usuario = Text1.Text Then
  37.            MsgBox "contraseña correcta"
  38.        Else
  39.            MsgBox "La contraseña es incorrecta..."
  40.        End If
  41.    RS.Close
  42. 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


Título: Re: Comparar usuario y contraseña con la base de datos. Ayuda
Publicado por: cassiani en 28 Agosto 2008, 06:46 am
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:


Título: Re: Comparar usuario y contraseña con la base de datos. Ayuda
Publicado por: seba123neo en 28 Agosto 2008, 13:55 pm
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...


Título: Re: Comparar usuario y contraseña con la base de datos. Ayuda
Publicado por: ssccaann43 © en 28 Agosto 2008, 15:27 pm
Código:

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.