none
Método de Busqueda por TxtBox RRS feed

  • Pregunta

  • Hola, necesito hacer un método de búsqueda q consista en escribir parte o toda una palabra en una caja de texto y me traiga una fila de una base de datos..yo lo hacia con un DataSet pero en aplicaciones para Windows, ahora estoy en ASP.NET y no se como usar un DataSet, si alguien me pudiera decir por codigo como hacer se lo agradeceria mucho..desde ya Muchisimas Gracias..
    lunes, 22 de febrero de 2010 11:05

Respuestas

Todas las respuestas

  • hola

    el datasetr lo usas exactamente de la misma forma que en Winforms, la funcionalidad no cambia

    podrias ahcer algo asi

    using(SqlConnection cn = new SqlConnection(cadenaConexion))
    {
        cn.Open(); 

        string query = "SELECT * AS Cant FROM <tabla> WHERE <campo> LIKE '%' + @param + '%'"
        SqlCommand cmd = new SqlCommand(query, cn);
        cmd.Parameters.AddWithValue("param", TextBox1.Text);
       
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);
       
        GridView1.DataSource = dt;
        GridView1.DataBind();
       
    }

    en este caso estas usando ado.net para conectarte con la db, usando sql server

    ADO.NET  

    Recuperaci ó n y modificaci ó n de datos en ADO.NET



    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Leandro TuttiniMVP lunes, 22 de febrero de 2010 14:24
    • Desmarcado como respuesta Interluk miércoles, 24 de febrero de 2010 13:00
    lunes, 22 de febrero de 2010 12:47
  • Gracias Leandro..me sirvio muchisimo..ahora si yo quisiera buscar por un numero?...tbm se usa el like?
    • Marcado como respuesta Interluk lunes, 22 de febrero de 2010 14:23
    • Desmarcado como respuesta Leandro TuttiniMVP lunes, 22 de febrero de 2010 14:24
    lunes, 22 de febrero de 2010 13:50
  • hola

    si es una busqueda exacta no debes suar el like, si es aproximada si podrias usarlo

    igualmente has una prueba sino llega a funcionar podrias castear el campo a string, algo como esto



    string query = "SELECT * AS Cant FROM <tabla> WHERE CAST(CAST(<campo> AS varbinary(20)) LIKE '%' + @param + '%'"

    como veras se usa el CAST para apsar el campo numerico a string, en este caso busaca un numero que contenga el valor pasado
    si quieres ver solo los qeu empiecen debes quitar el % final

    string query = "SELECT * AS Cant FROM <tabla> WHERE CAST(CAST(<campo> AS varbinary(20)) LIKE '%' + @param"

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    lunes, 22 de febrero de 2010 14:03
  • Se entiende..pero me especifico mas...si lo tuviera q igualar con el id de la tabla?..osea..en la caja de texto escribo exactamente el numeri id de la tabla como seria?...Where id = ¿?
    lunes, 22 de febrero de 2010 14:09
  • hola

    asi es

    string query = "SELECT * AS Cant FROM <tabla> WHERE <campo> = @param"


    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    lunes, 22 de febrero de 2010 14:15
  • Muchas Gracias Leandro..pude solucionar todo..
    lunes, 22 de febrero de 2010 14:23
  • Leonardo, disculpa q te moleste nuevamente..si yo quisiera hacer 2 metodos de busqueda, por el nombre y por el numero, puedo meter dos consulta en esta conexion q habia hecho?...osea..puedo usar 2 like?...en una misma consulta?..
    miércoles, 24 de febrero de 2010 12:27