Principales respuestas
Quisiera verificar si en mi BD se encuentra un texto que esta en un textbox

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
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")- Editado Alberto PoblacionMVP lunes, 25 de junio de 2018 5:55
- Propuesto como respuesta Enrique M. MontejoModerator martes, 26 de junio de 2018 15:04
- Marcado como respuesta Enrique M. MontejoModerator miércoles, 27 de junio de 2018 18:31
-
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.
- Editado odelcarpios lunes, 25 de junio de 2018 17:05
- Propuesto como respuesta Enrique M. MontejoModerator martes, 26 de junio de 2018 15:05
- Marcado como respuesta Enrique M. MontejoModerator miércoles, 27 de junio de 2018 18:31
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")- Editado Alberto PoblacionMVP lunes, 25 de junio de 2018 5:55
- Propuesto como respuesta Enrique M. MontejoModerator martes, 26 de junio de 2018 15:04
- Marcado como respuesta Enrique M. MontejoModerator miércoles, 27 de junio de 2018 18:31
-
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.
- Editado odelcarpios lunes, 25 de junio de 2018 17:05
- Propuesto como respuesta Enrique M. MontejoModerator martes, 26 de junio de 2018 15:05
- Marcado como respuesta Enrique M. MontejoModerator miércoles, 27 de junio de 2018 18:31