0
我聽說我可以通過使用參數化查詢來防止SQL注入攻擊,但我不知道如何編寫它們。如何將SQL查詢重寫爲參數化查詢?
我該如何將以下內容寫入參數化查詢?
SqlConnection con = new SqlConnection(
"Data Source=" + globalvariables.hosttxt + "," + globalvariables.porttxt + "\\SQLEXPRESS;" +
"Database=ha;" +
"Persist Security Info=false;" +
"UID='" + globalvariables.user + "';" +
"PWD='" + globalvariables.psw + "'");
string query = "SELECT distinct ha FROM app WHERE 1+1=2";
if (comboBox1.Text != "")
{
query += " AND firma = '" + comboBox1.Text + "'";
}
if (comboBox2.Text != "")
{
query += " AND type = '" + comboBox2.Text + "'";
}
if (comboBox3.Text != "")
{
query += " AND farve = '" + comboBox3.Text + "'";
}
SqlCommand mySqlCmd = con.CreateCommand();
mySqlCmd.CommandText = query;
con.Open();
…
@marc_s謝謝錯字 – 2014-09-13 08:24:08
OK - 現在作爲下一步,我建議你總是定義一個明確的** **長:'command.Parameters.Add( 「@ FIRMA」,SqlDbType.Varchar,100);' – 2014-09-13 08:26:40
由於這是有查詢執行計劃中的任何差異?或性能? – 2014-09-13 08:53:15