none
busqueda RRS feed

  • Pregunta

  • como puedo realizar la busqueda de un dato en una base y ese dato me lo despliegue en un gridview
    ______________________________________________________________ ING Dan Montes IT infraestructura
    miércoles, 13 de abril de 2011 18:17

Respuestas

  • hola

    seria algo como esto

     

    Using cn As New SqlConnection("connection string")
       
        Dim sql As String = "SELECT * FROM NombreTabla WHERE campo LIKE @param"

        Dim cmd As New SqlCommand(query, cn)
        cmd.Parameters.AddWithValue("@param", String.Format("'{0}%'", txtValor.Text))
        Dim da As New SqlDataAdapter(cmd)
        Dim dt As New DataTable   
        da.Fill(dt)
       
        GridView1.DataSource = dt

        GridView1.Databind()

      
    End Using

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 13 de abril de 2011 18:20

Todas las respuestas

  • hola

    seria algo como esto

     

    Using cn As New SqlConnection("connection string")
       
        Dim sql As String = "SELECT * FROM NombreTabla WHERE campo LIKE @param"

        Dim cmd As New SqlCommand(query, cn)
        cmd.Parameters.AddWithValue("@param", String.Format("'{0}%'", txtValor.Text))
        Dim da As New SqlDataAdapter(cmd)
        Dim dt As New DataTable   
        da.Fill(dt)
       
        GridView1.DataSource = dt

        GridView1.Databind()

      
    End Using

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 13 de abril de 2011 18:20
  • Using conexion As New SqlConnection(ConfigurationManager.ConnectionStrings("conect").ToString())
                conexion.Open()

                Dim query As String = "select * from users where usuario like @usuario "

                Dim cmd As New SqlCommand(query, conexion)

                cmd.Parameters.AddWithValue("@usario", String.Format("'{0}%'", TextBox1.Text))
                Dim da As New SqlDataAdapter(cmd)
                Dim dt As New DataTable
                da.Fill(dt)

                GridView1.DataSource = dt

                GridView1.DataBind()
            End Using

    me marco un error que tengo que declarar escalar @usuario


    ______________________________________________________________ ING Dan Montes IT infraestructura
    miércoles, 13 de abril de 2011 18:34
  • lo que tambien quiero que haga es que muestre todos los datos una fila como puedo hacer eso???

     


    ______________________________________________________________ ING Dan Montes IT infraestructura
    miércoles, 13 de abril de 2011 18:36
  • hola

    en esta linea

    cmd.Parameters.AddWithValue("@usario", String.Format("'{0}%'", TextBox1.Text))

    no esta bien escrito usuario, falta la "u" has puesto "usario"

     

    saludos

     


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 13 de abril de 2011 18:42
  • si ya vi mi error ya lo corregi pero no hace nada no muestra el gridview y no marca error que puedo hacer

    Using conexion As New SqlConnection(ConfigurationManager.ConnectionStrings("conect").ToString())
                conexion.Open()

                Dim query As String = "select * from users where usuario like @usuario "

                Dim cmd As New SqlCommand(query, conexion)

                cmd.Parameters.AddWithValue("@usuario", String.Format("'{0}%'", TextBox1.Text))
                Dim da As New SqlDataAdapter(cmd)
                Dim dt As New DataTable
                da.Fill(dt)

                GridView1.DataSource = dt
                GridView1.DataBind()


    ______________________________________________________________ ING Dan Montes IT infraestructura
    miércoles, 13 de abril de 2011 18:44
  • hola

    recuerda que con el uso de este LIKe estas filtrando los usuario que comiencen con lo que has escrito

    has validado que el input que haces en el TextBox1 tenga registros en la tabla de la db ?

    pero donde el valor que ingreses empiece el nombre del usuario

     

    segun veo el problema es que la consulta no devuelve registros para el filtro que has definido

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 14 de abril de 2011 2:30
  • Hola,

    prueba ver si te funciona este ejemplo

     Public Function Busqueda(ByVal id As usuario) As DataTable

            Dim dt As New DataTable
            Using cn As New SqlConnection("ConnectionString")

               Dim query As String = "select * from users where usuario like @usuario "

                Dim cmd As New SqlCommand(query, cn)
                cn.Open()

                cmd.Parameters.AddWithValue("@usuario", String.Format("'{0}%'", usuario))
    )
                Dim da As New SqlDataAdapter(cmd)

                Try
                    da.Fill(dt)

                Catch ex As Exception

                Finally
                    cn.Close()
                End Try

            End Using

            Return dt

        End Function

     

    Donde llama la funcion busqueda

     

            Dim dt As New DataTable
            dt = Busqueda("Juan carlos")

            If dt.Rows.Count > 0 Then

                With Me.GridView1
                    .DataSource = dt
                    .DataBind()

                End With

            Else
                Response.Write("hay registro")
            End If

     

    NOTA

    Cualquier duda hasmela saber.


    ASP.NET
    jueves, 14 de abril de 2011 15:48
    Moderador
  • hola Enmanuel

    estas usando un LIKE sin ningun comodin

    Dim query As String = "select * from users where usuario like @usuario "

    o sea algun % deberias definir para que aplique el like

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 14 de abril de 2011 15:53
  • Hola,

    ups , gracias por la observación .

    un saludo

     


    ASP.NET
    jueves, 14 de abril de 2011 15:59
    Moderador