none
Ayuda con Busqueda RRS feed

  • Pregunta

  • Buenas tengo una pregunta que de seguro es medio tonta pero aqui va.

    Suponiendo que tengo una tabla que tiene solo dos columnas, codigotarjeta y nombretarjeta.

    Yo quiero poner en un campo de texto el nombre de la tarjeta, es decir nombretarjeta, y que me devuelva el codigo.

    Como hago esto?


    Rodrigo Mocca

    martes, 29 de mayo de 2012 16:38

Respuestas

  • hola

    podrias hace algo como ser

    using (SqlConnection conn = new SqlConnection("connection string")) {
    
    	string query = "select * from <tabla> WHERE nombretarjeta LIKE '%' + @nombre + '%'";
    
    	SqlCommand cmd = new SqlCommand(query, conn);
    	cmd.Parameters.AddWithValue("@param", TextBox1.Text);
    
    	SqlDataAdapter adaptador = new SqlDataAdapter(cmd);
    	DataTable dt = new DataTable();
    	adaptador.Fill(dt);
    
    	DataGridView1.DataSource = dt;
    
    }

    en este caso se busca por aproximacion, pero si quitas el like y pones

    string query = "select * from <tabla> WHERE nombretarjeta = @nombre";

    para buscar exacto

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 29 de mayo de 2012 17:00

Todas las respuestas

  • Para esto deves utilizar un ComboBox y especificamente en este link te orientara

    Bind Combobox

    Saludos


    Luis Y. Ramirez "Recuerda marcar la repuesta como VALIDA si te ha ayudado"

    martes, 29 de mayo de 2012 16:51
  • El tema del Combobox es que son muchisimas tarjetas y no quisiera que tenga que andar buscando en una lista desplegable.

    Yo se del metodo Find que le paso la clave primaria y me devuelve toda la fila de esa clave. Como busco en otra columna?


    Rodrigo Mocca

    martes, 29 de mayo de 2012 16:54
  • primero realizas una consulta y el resultado de esta la almacenas en una variable y esta la puedes retornar donde tu quieras, si es que no entendí mal la pregunta 

    saludos

    SqlCeCommand cmd = new SqlCeCommand("SELECT  codigotarjeta  FROM tarjeta WHERE (nombretarjeta= @nomtraj)", conn);
    cmd.Parameters.AddWithValue("@nomtraj", textbox.text);
                       

    SqlCeDataReader lector = cmd.ExecuteReader();
    lector.Read();
    long codigo= lector.GetInt64(0); // variable con el codigo de tarjeta o resultado de la consulta
    lector.Close();
    cmd.ExecuteNonQuery();

                   
    martes, 29 de mayo de 2012 17:00
  • hola

    podrias hace algo como ser

    using (SqlConnection conn = new SqlConnection("connection string")) {
    
    	string query = "select * from <tabla> WHERE nombretarjeta LIKE '%' + @nombre + '%'";
    
    	SqlCommand cmd = new SqlCommand(query, conn);
    	cmd.Parameters.AddWithValue("@param", TextBox1.Text);
    
    	SqlDataAdapter adaptador = new SqlDataAdapter(cmd);
    	DataTable dt = new DataTable();
    	adaptador.Fill(dt);
    
    	DataGridView1.DataSource = dt;
    
    }

    en este caso se busca por aproximacion, pero si quitas el like y pones

    string query = "select * from <tabla> WHERE nombretarjeta = @nombre";

    para buscar exacto

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 29 de mayo de 2012 17:00