sql >> データベース >  >> RDS >> Mysql

mysql c#検索テキストボックス

    文字列を連結することによるSQLインジェクションの可能性は別として、パラメータをそのまま使用することは非常に近いです。

    クエリ文字列には(barras ='@barcodes')があり、単一の'quotes'を削除します。パラメータは、barrasではなく「barcodes」である必要があります。 「%」ワイルドカードを使用した商品については、パラメータ全体をデフォルトで含めるように強制する文字列を作成します...のように

    string selectQuery = 
    @"select 
          descricao,
          codigo 
       from 
          produtos 
       where 
              barras = @barcodes 
          or descricao like @product";
    
    MySqlCommand command = new MySqlCommand(selectQuery, connection);
    // the "@" is not required for the parameter NAMEs below, jut the string
    // name of the parameter as in the query.
    
    // Ok to use the actual text from your textbox entry here
    command.Parameters.AddWithValue("barcodes", Txtcodigo.Text);
    
    // but use the STRING created with '%' before/after created above
    string parmProduct = '%' + Txtcodigo.Text.Trim() + '%';
    command.Parameters.AddWithValue("product", parmProduct);
    
    // NOW you can execute the reader and pull your data
    connection.Open();
    MySqlDataReader reader = command.ExecuteReader();
    DataTable dt2 = new DataTable();
    dt2.Load(reader);
    DataView dvDataTable = new DataView(dt2);
    Txtproduto.Text = reader.GetString("descricao");
    



    1. Oracleでグループの上位n個の要素を選択する

    2. MySQLでDISTINCTまたはGROUPBYを選択すると、何が速くなりますか?

    3. Spring / Hibernate / JPA内でPostgreSQL関数(ストアドプロシージャ)を適切に呼び出す方法は?

    4. MySQLとPHPのデータベースが空ですか?