none
hacer busqueda por nombre en db accress desde vb RRS feed

  • Pregunta

  • Hola soy felix y mil gracias de ante mano solo por tomarse la molestia de leer esto.

    mi situación es

    Que quisiera hacer una búsqueda por nombre no por id, al hacerlo por id no tengo problemas con el query

    Select  * from personas  where  perid  =’    & perid.txt  &

    Pero  deseo hacerlo por  nombres que elijo de un combo box el cual lleno de una db  en Access 2007  desde vb  2008 express y al seleccionar el nombre, busque el resto de la informacion y lo muestre en un msgbox  pero solo obtengo: No value given for one or more required parameters.  

    Si al quien me pudiera dar luz en esto selo agradeceré

    Private Sub cmbname_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbname.SelectedValueChanged

           

    conecting()

       

     

            coman.CommandText = "SELECT * FROM personas    WHERE  pername  =" &    me.cmbname.SelectedItem.ToString

            DataR = coman.ExecuteReader()

            If DataR.HasRows Then

                While DataR.Read

                    MsgBox(DataR(0).ToString + " " + DataR(1).ToString) + " " + DataR(2).ToString + " " + DataR(3).ToString + " " + DataR(4).ToString)

                End While

               

            End If


    martes, 5 de enero de 2016 5:19

Respuestas

  • Supongo que el campo pername existe y que es de tipo texto, por lo que te faltararía la comilla.

    coman.CommandText = "SELECT * FROM personas WHERE pername ='" &    me.cmbname.SelectedItem.ToString & "'"

    De todas formas debes usar parámetros en la consulta:

    coman.CommandText = "SELECT * FROM personas WHERE pername = @nombre"
    coman.Parameters.AddWithValue("@nombre", me.cmbname.SelectedItem.ToString)

    DataR = coman.ExecuteReader()


    Saludos, Javier J

    • Marcado como respuesta felix149 miércoles, 6 de enero de 2016 3:52
    martes, 5 de enero de 2016 8:35

Todas las respuestas

  • Supongo que el campo pername existe y que es de tipo texto, por lo que te faltararía la comilla.

    coman.CommandText = "SELECT * FROM personas WHERE pername ='" &    me.cmbname.SelectedItem.ToString & "'"

    De todas formas debes usar parámetros en la consulta:

    coman.CommandText = "SELECT * FROM personas WHERE pername = @nombre"
    coman.Parameters.AddWithValue("@nombre", me.cmbname.SelectedItem.ToString)

    DataR = coman.ExecuteReader()


    Saludos, Javier J

    • Marcado como respuesta felix149 miércoles, 6 de enero de 2016 3:52
    martes, 5 de enero de 2016 8:35
  • Mil gracias javier tenias razon  eran las comillas simples 

    miércoles, 6 de enero de 2016 3:55