sql >> Databáze >  >> RDS >> Mysql

vyhledávací textové pole mysql c#

Kromě možného SQL-Injection zřetězením řetězců je použití parametrů velmi blízké.

Váš řetězec dotazu má (barras ='@čárové kódy'), odstraňte jednotlivé 'uvozovky' a vaším parametrem by měly být "čárové kódy", nikoli barras. Pokud jde o váš produkt se zástupnými znaky "%", vytvořte řetězec, který vynutí výchozí nastavení celého parametru, aby byly zahrnuty... like

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. UNION 2 Select-query s počítanými sloupci

  2. Rozdíl v požadovaném čase pro vložení záznamů InnoDB/MyISAM

  3. Operátor ALL v klauzuli WHERE v Rails

  4. Chyba připojení Android java.lang.UnsupportedOperationException