none
Quisiera verificar si en mi BD se encuentra un texto que esta en un textbox RRS feed

  • Pregunta

  • La cuestion es que tengo que hacer una base de datos de una biblioteca y necesito que cuando en un textbox se ingrese el codigo de un libro, el programa me mande los datos del libro que se encuentran en la BD.

    Asi esta mi codigo... Es una prueba. Donde dice resultado = dr("AUTOR_LIBRO") tambien necesito que devuelva mas datos del libro.. pero el problema es que lo hice correr y no me muestra nada.

    PostData: en el principal lo mando a llamar a la funcion en un string y luego lo muestro y me sale vacio porque devuelve una cadena vacia

    Ayuda por favor, es para mi proyecto :D

    Protected Function libroCodigo()
            Dim cod As String = ""
            Dim resultado As String = ""
            Dim dr As MySqlDataReader
            Dim conexion As New MySqlConnection
            conexion.ConnectionString = "server = localhost; database = fingerprint; user id = root; password =; ssl mode = none"
            conexion.Open()
            Dim cmd As New MySqlCommand
            cmd = conexion.CreateCommand
            cmd.CommandText = "SELECT CODIGO_LIBRO FROM libro"
            dr = cmd.ExecuteReader
            While dr.Read()
                xd = dr("CODIGO_LIBRO")
                If cod.Equals(txtLib.Text) Then
                    resultado = dr("AUTOR_LIBRO")
                    MessageBox.Show(resultado)
                    Exit While
                End If
            End While
            dr.Dispose()
            cmd.Dispose()
            conexion.Close()
            conexion.Dispose()
            Return resultado
        End Function

    lunes, 25 de junio de 2018 0:28

Respuestas

  • Aunque la forma en la que lo estás haciendo es poco eficiente (deberías filtar el codigo_libro en la Select), en realidad funcionar debería de funcionar... salvo que hay un pequeño error porque has confundido un nombre de variable:

    Donde pones esto:

    If cod.Equals(txtLib.Text) Then

    deberías poner esto otro:

    If xd.Equals(txtLib.Text) Then

    ya que xd es la variable en la que has cargado el código devuelto. La variable cod se inicializa a "vacío" al principio y nunca deja de estar vacía.


    O bien al revés, cambia xd = dr("CODIGO_LIBRO") por cod = dr("CODIGO_LIBRO")
    lunes, 25 de junio de 2018 5:53
  • Hola,

    cuando dices..."La cuestion es que tengo que hacer una base de datos de una biblioteca y necesito que cuando en un textbox se ingrese el codigo de un libro, el programa me mande los datos del libro que se encuentran en la BD."

    Debes ver que tu Select no va a filtrar por el código del libro, te falta el where donde debes filtrar por el código.

    Debes pasar el valor que tienes en txtLib.Text y filtrar tu sentencia SQL.

    Algo así "select códigolibro, nombrelibro, autor from libro where CODIGO_LIBRO = txtLib.Text"

    Espero haberte ayudado.

    Saludos.


    lunes, 25 de junio de 2018 17:03

Todas las respuestas

  • Aunque la forma en la que lo estás haciendo es poco eficiente (deberías filtar el codigo_libro en la Select), en realidad funcionar debería de funcionar... salvo que hay un pequeño error porque has confundido un nombre de variable:

    Donde pones esto:

    If cod.Equals(txtLib.Text) Then

    deberías poner esto otro:

    If xd.Equals(txtLib.Text) Then

    ya que xd es la variable en la que has cargado el código devuelto. La variable cod se inicializa a "vacío" al principio y nunca deja de estar vacía.


    O bien al revés, cambia xd = dr("CODIGO_LIBRO") por cod = dr("CODIGO_LIBRO")
    lunes, 25 de junio de 2018 5:53
  • Hola,

    cuando dices..."La cuestion es que tengo que hacer una base de datos de una biblioteca y necesito que cuando en un textbox se ingrese el codigo de un libro, el programa me mande los datos del libro que se encuentran en la BD."

    Debes ver que tu Select no va a filtrar por el código del libro, te falta el where donde debes filtrar por el código.

    Debes pasar el valor que tienes en txtLib.Text y filtrar tu sentencia SQL.

    Algo así "select códigolibro, nombrelibro, autor from libro where CODIGO_LIBRO = txtLib.Text"

    Espero haberte ayudado.

    Saludos.


    lunes, 25 de junio de 2018 17:03