Yahoo Answers is shutting down on May 4th, 2021 (Eastern Time) and beginning April 20th, 2021 (Eastern Time) the Yahoo Answers website will be in read-only mode. There will be no changes to other Yahoo properties or services, or your Yahoo account. You can find more information about the Yahoo Answers shutdown and how to download your data on this help page.

¿Como validar usuarios de sql en formulario visual 6.0?

tengo un formulario en visual y lo que necesito es que puedan accesar todos los usuaios al sistema a traves de el pero aun no lo consigo..

la tabla esta en un db de sql llamada logins

esto es lo que tengo en el boton log in

Private Sub cmdLogIn_Click()

'If (txtUser.Text = "Admin" And txtPassword.Text = "admin") Then

'frmPrincipal.Show

'Unload Me

'Else

'MsgBox "Usuario incorrecto", vbYes + vbInformation, "Contraseña"

'End If

Dim rsUser As ADODB.Recordset

rsUser.Open("SELECT * FROM logins WHERE username='" & txtusuario.text & "' AND password = '" & txtclave.text & "'"

If Not rsUser.EOF And Not rsUser.BOF Then

frmPrincipal.Show

Unload Me

Else

MsgBox "El usario es Valido"

Else

MsgBox "Usuario / Clave invalido"

End If

End Sub

en la primera parte solo se conecta con el user y password admin.. pero necesito que se puedan conectar todos los usuario que estan en la tabla logins de mi data base de sql

les ruego me ayuden

Gracias,

Update:

he corrido tu codigo, cambiando FROM user por FROM logins que es la base donde estan los usuarios y sus paswords pero no va..

error..error de compilacion, error de sintaxis se esperaba separador de listas

2 Answers

Rating
  • 1 decade ago
    Favorite Answer

    Al margen que hice algunas correcciones, nunca funcionaria usando palabras que son reservadas del lenguaje.

    No uses nunca palabras como username, password ni ninguna otra que veas escrita en ingles porque si son reservada no las interpreta bien y pueden dar cualquier resultado.

    Me paso a mi (ahora no me acuerdo con que palabra) y me costo una semana entera de busqueda de un error muy tonto.

    Private Sub cmdLogIn_Click()

    'en la base de datos:

    'cambia el nombre de la tabla de logins a logrins (logins puede ser reservado y no debe usarse)

    'cambia el campo username por lusername

    'cambia el campo password por lpasword

    'debes acostumbrarte a usar nombres diferentes a los obvios porque pueden ser palabras reservadas

    'clave es bueno, asi como pass o lpass o upass

    Dim rsUser As ADODB.Recordset

    Dim nombre As String

    Dim contra As String

    nombre = txtusuario.Text

    contra = txtclave.Text

    rsUser.Open ("SELECT * FROM logrins WHERE lusername='" & nombre & "' AND lpassword = '" & contra & "'")

    If rsUser.EOF Then

    MsgBox "Usuario / Clave invalido", vbYes + vbInformation, "Contraseña"

    Unload Me

    Else

    MsgBox "El usario es Valido", vbYes + vbInformation, "Contraseña"

    frmPrincipal.Show

    Unload Me

    End If

    End Sub

    Prueba asi y si te da problema me escribes a mi correo

  • 1 decade ago

    Crea un formulario con 2 textbox: uno para capturar el usuario y otro para capturar la clave, a este segundo textbox en la propiedad PasswordChar, le colocas "*" para que al escribir no muestre lo que esta escribiendo, sino un "*".

    Un boton de Validar usuario, en el evento click de este boton, teniendo en cuenta que ya tienes la conexion a la base de datos, que me imagino la tienes publica, entonces defines un recordset para verificar si el usuario existe y si la clave es valida.

    Suponiendo que la tabla de suuarios se llama Usuario:

    --------------------------------------------------------

    dim rsUser as ADODB.RecordSet

    rsUser.Open("SELECT * FROM usuario WHERE username='" & txtusuario.text & "' AND password = '" & txtclave.text & "'"

    if not rsUser.EOF and not rsUser.BOF then

    msgbox "El usario es Valido"

    else

    msgbox "Usuario / Clave invalido"

    end if

    ------------------------------------------------------------

    Saludos,

    Source(s): Yoni
Still have questions? Get your answers by asking now.