2012-04-04 12 views
0
SqlDataAdapter da = 
    new SqlDataAdapter("SELECT * 
     FROM Patient 
     Where Registration_Id = '" + textBox1.Text + "' 
      OR Patient_Name = '" + textBox1.Text + "'", cn); 

Wie suche ich int oder string in allen Feldern?Suche nach int oder string in allen Feldern

bearbeiten Code:

if (comboBox1.Text == "Registration_Id") 
{ 
    da = new SqlDataAdapter("SELECT * 
          FROM Patient 
          Where Registration_Id = '" + textBox1.Text + "'", cn); 
} 
else if (comboBox1.Text == "Patient_Name") 
{ 
    da = new SqlDataAdapter("SELECT * 
          FROM Patient 
          Where Patient_Name = '" + textBox1.Text + "'", cn); 
} 
+7

Schreiben Sie nicht Code wie dieser, es unterliegt SQL-Injection-Angriff. – RedFilter

+0

if (comboBox1.Text == "Registration_Id") { da = neuer SqlDataAdapter ("SELECT * FROM Patient Wobei Registration_Id = '" + textBox1.Text + "'", cn); } else if (comboBox1.Text == "Patient_Name") { da = new SqlDataAdapter ("SELECT * FROM Patient Wo Patient_Name = '" + textBox1.Text + "'", cn); } –

Antwort

0

Für eine, die Methode unter SQL-Injection-Attacke sein kann, so dass Sie es sanieren müssen. Ansonsten eine Lösung (nachdem Sie für Angriffe überprüfen) ist:

SELECT * 
FROM Patient 
Where column1 like "'%" + textBox1.Text + "%'" 
    or column2 like "'%" + textBox1.Text + "%'" 
    ...... 
    or columnn like "'%" + textBox1.Text + "%'" 

Dies kann durch die Tatsache, einfacher gemacht werden, wenn sie nicht wissen, die ID des Elements dann nicht, dass die Spalte überprüfen. Ansonsten haben Sie ein Dropdown-Feld, das aussucht, nach welcher Spalte gesucht wird.

Verwandte Themen