elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  datos ed una consulta - Uso de DataReader
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: datos ed una consulta - Uso de DataReader  (Leído 1,696 veces)
syaoran

Desconectado Desconectado

Mensajes: 16


Ver Perfil
datos ed una consulta - Uso de DataReader
« en: 13 Julio 2007, 19:03 pm »

Hola que tal? estoy tratando de hacer un login form usando VB.Net y MySQL corriendo en una maquina dentro de la LAN en linux, pedo realizar la conexion sin ningun problema e incluso puedo hacer als consultas, pero tengo dos problemas que no se como atacar.

1.- La primera es que necesito que la consulta que hace a la base de datos sobre si el usuairo existe o no, como puedo hacer para determinar un valor logico de una consulta realizada??? osea, cuando se ejecuta el SELECT * FROM usuario WHERE nombre = ''''''''userid'''''''' and pass = ''''''''passid'''''''' ; como hago para saber si realmente lo encontro??? Yo tengo dos ideas , una, vaciar el contenido de la consulta a dos variables, o bien buscar como asignar un operador logico que me sirva como un flag, el asunto es que no he logrado realizar ninguno de los dos, ya que apenas estoy empezando en esto de las programacion en VB. Les dejo mi codigo para que vean como lo estoy usando, gracias por sus comentarios y sugerencias.

Código:
Option Explicit On
Option Strict On
Option Compare Text

Imports MySql
Imports MySql.Data.MySqlClient
Imports System



Public Class LoginForm1


    Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click

        Dim userid As String
        Dim passid As String

        userid = user_txt.Text
        passid = passwd_txt.Text

        Dim conector As String
        conector = " database=rocar;data source=192.168.1.200;user id=rocar_taller;password =123456"

        Dim conest As New MySqlConnection(conector)

        Dim consulta As String = "SELECT * FROM usuario WHERE nombre=''''''''" & userid & "'''''''' and pass = ''''''''" & passid & "''''''''"

        Dim query As New MySqlCommand(consulta)
        query.Connection = conest
        conest.Open()
        Try
            query.ExecuteNonQuery()
            MsgBox("Consulta realizada con Exito")

        Catch ex As MySqlException

            MsgBox(ex.Message.ToString)

        End Try

        query.Connection.Close()

    End Sub

    Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
        Me.Close()
    End Sub

End Class

Acabo de hacer unas modificaciones, porque leyendo la documentacion del conector viene algo sobre un datareader y pue sya lo hice y si jala bien y todo, me extrae info de la consulta pero!!! el valor que me devuelve en la variable que le asigno el datareader.getstring me manda solament el segundo registro del resultado de la consulta, osea, el password y no le usuario que es lo que yo quiero, alguna sugerencia???
 aqui dejo el codigo:
Código:
Public Class LoginForm1
    Dim usuario As String


    Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click

        Dim userid As String
        Dim passid As String

        userid = user_txt.Text
        passid = passwd_txt.Text

        Dim conector As String
        conector = " database=rocar;data source=192.168.1.200;user id=rocar_taller;password =123456"

        Dim conest As New MySqlConnection(conector)

        Dim consulta As String = "SELECT * FROM usuario WHERE nombre=''''''''" & userid & "'''''''' AND pass = ''''''''" & passid & "''''''''"

        Dim exec As New MySqlCommand(consulta, conest)
        conest.Open()
        Dim lector As MySqlDataReader

        If user_txt.Text = "" And passwd_txt.Text = "" Then
            MsgBox("Debes introducir tus datos")
            Application.Restart()

        Else


            Try

                lector = exec.ExecuteReader()

                While lector.Read()

                    usuario = lector.GetString(1)

                End While

                MsgBox("bienvenido: " & usuario)

                lector.Close()

            Catch ex As MySqlException

                MsgBox(ex.Message.ToString)

            End Try

            conest.Close()

        End If


    End Sub

    Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
        Me.Close()
    End Sub



End Class


Por cierto, igual ya intente modificando la consulta y seleccionando unicamente el campo nombre en lugar del * pero el VB me marca un error cuando hago eso -_-


« Última modificación: 13 Julio 2007, 23:29 pm por syaoran » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Rellenar datagrid con datatable/datareader?
.NET (C#, VB.NET, ASP)
|Miguel| 1 4,335 Último mensaje 24 Abril 2012, 14:00 pm
por |Miguel|
consulta ciclo for 100.000.000 de datos en un arraylist
Java
neomadara 2 1,807 Último mensaje 1 Mayo 2014, 22:04 pm
por ivancea96
ayuda con datareader
.NET (C#, VB.NET, ASP)
d91 0 2,158 Último mensaje 11 Noviembre 2015, 03:56 am
por d91
[Pregunta]: ON en una consulta con dos datos
Bases de Datos
Leguim 2 1,906 Último mensaje 8 Septiembre 2019, 01:52 am
por Leguim
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines