none
comparar el resultado de una consulta en access con un string ingresado por un txtbox RRS feed

  • Pregunta

  • Que tal gente, tengo un problemita con un programa, yo conecte access con Visual basic, y ahora quiero hacer un login en donde me permita pasar a otro formulario solo si los datos ingresados en el formulario de login, se encuentran en la tabla de la base de datos, supongamos que la tabla se llama REGISTRO y que en el formulario del login tengo 3 txtbox: nombre, doc id, telefono... mas o menos seria que si el nombre, el doc id y el telefono se encuentran en la tabla, obviamente concorde a una sola persona, me permite ingresar al proximo formulario. Pero mi duda es, como hago para comparar esta informacion si en el txtbox son string y los otros datos se encuentran en la base de datos, como hago?

     

    me imagino que el codigo seria

    IF ((txtbox1.text == (resultado del SELECT en access) & (txtbox2.text == (resultado del SELECT en access) & (txtbox3.text==(resultado del SELECT en access)) then

    FORMX.show

    me. hide

    ELSE

    Msgbox ("NO SE ENCUENTRA EL REGISTRO EN LA BASE DE DATOS")

    endIF

     

    PERO como hago eso en linea de codigo de verdad? si pueden me puedo conectar en escritorio remoto, dejenme sus correos quien pueda ayudarme

    viernes, 9 de diciembre de 2011 23:40

Respuestas

  • es que para ahcer un login no requieres de ningun if como el que planteas

    lo resuleves directo en la query devolbiendo o no registros segun exista el usuario con el passwors que se proporciona

    bueno en tu caso no hay password, pero seria lo mismo que el telefono

    aplica la misma tecnica que aqui menciono

    Login – Usando Password con Hash

    solo que ne tu caso no habra password

    analzia como se aplcia el login en el metodo Main() antes de iniciar la aplciacion, es alli donde se coloca esta logica

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    sábado, 10 de diciembre de 2011 1:18
  • Puedes hacer algo como lo siguiente:

    SELECT id FROM tabla WHERE (nombre = @nombre AND telefono = @telefono) AND doc = @doc
    

    En tu variable Command pasas los parametros correspondientes:

    cmd.Parameters.AddWithValue("@nombre", txtNombre.Text)
    cmd.Parameters.AddWithValue("@telefono", txtTelefono.Text)
    cmd.Parameters.AddWithValue("@doc", txtDoc.Text)
    


    Y luego preguntas si al consulta te devuelve registros, de lo contrario es porque alguno de los datos ingresados está mal:

    If IsDbNull(cmd.ExecuteScalar) Then
      'No devolvió registros, no lo dejas entrar
    Else
      'Si devolvio, lo dejas entrar
    End If
    


    Te recomiendo que leas lo que te recomendo Leandro sobre el método Main().

    Saludos.


    Santiago Ezequiel Rueda
    santiagorueda@live.com.ar
    Blog

    Entre Ríos
    Argentina
    sábado, 10 de diciembre de 2011 16:16

Todas las respuestas

  • es que para ahcer un login no requieres de ningun if como el que planteas

    lo resuleves directo en la query devolbiendo o no registros segun exista el usuario con el passwors que se proporciona

    bueno en tu caso no hay password, pero seria lo mismo que el telefono

    aplica la misma tecnica que aqui menciono

    Login – Usando Password con Hash

    solo que ne tu caso no habra password

    analzia como se aplcia el login en el metodo Main() antes de iniciar la aplciacion, es alli donde se coloca esta logica

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    sábado, 10 de diciembre de 2011 1:18
  • Puedes hacer algo como lo siguiente:

    SELECT id FROM tabla WHERE (nombre = @nombre AND telefono = @telefono) AND doc = @doc
    

    En tu variable Command pasas los parametros correspondientes:

    cmd.Parameters.AddWithValue("@nombre", txtNombre.Text)
    cmd.Parameters.AddWithValue("@telefono", txtTelefono.Text)
    cmd.Parameters.AddWithValue("@doc", txtDoc.Text)
    


    Y luego preguntas si al consulta te devuelve registros, de lo contrario es porque alguno de los datos ingresados está mal:

    If IsDbNull(cmd.ExecuteScalar) Then
      'No devolvió registros, no lo dejas entrar
    Else
      'Si devolvio, lo dejas entrar
    End If
    


    Te recomiendo que leas lo que te recomendo Leandro sobre el método Main().

    Saludos.


    Santiago Ezequiel Rueda
    santiagorueda@live.com.ar
    Blog

    Entre Ríos
    Argentina
    sábado, 10 de diciembre de 2011 16:16