2013-09-29 34 views
3

你好,我想知道什麼是保護SQL injectionSqlDataAdapter(因爲沒有辦法使用參數化查詢)的最佳方法?在SqlDataAdapter中防止SQL注入的最佳方法

例如可以使用這部分代碼:

da_services = new SqlDataAdapter("SELECT * from table WHERE column='" + textBox1.Text + "' AND column2='" + somestring + "'", conn); 
scd_services = new SqlCommandBuilder(da_services); 
dt_services = new DataTable(); 
da_services.Fill(dt_services); 
dtg_services.DataSource = dt_services; 
conn.Close(); 

謝謝您的時間。

+2

*因爲沒有辦法使用參數化查詢* [呃.......(HTTP:// MSDN。 microsoft.com/en-us/library/system.data.sqlclient.sqldataadapter.selectcommand.aspx) –

回答

4

可以嘗試訪問DataAdapter的SqlCommand對象:

da_services = new SqlDataAdapter("SELECT * from table WHERE [email protected] AND [email protected]", conn); 
da_services.SelectCommand.Parameters.AddWithValue("@column", textBox1.Text); 
da_services.SelectCommand.Parameters.AddWithValue("@column2", somestring);