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

すべてのフィールドでintまたはstringを検索する方法は?

編集コード:

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); 
} 
4

1 に答える 1

0

そのメソッドは SQL インジェクション攻撃を受ける可能性があるため、サニタイズする必要があります。それ以外の場合の 1 つの解決策 (攻撃を確認した後) は次のとおりです。

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

これは、アイテムの ID がわからない場合はその列をチェックしないという事実によって、より簡単にすることができます。それ以外の場合は、検索対象の列を選択するドロップダウンがあります。

于 2012-04-04T20:13:34.303 に答える