可能重複:
Parameterizing an SQL IN clause?SQL SELECT語句 - 在IN子句多個ID
時不時地,我一個系統,允許用戶選擇多個項目,然後執行上工作對他們採取大規模行動。通常情況下,我使出建立在運行時的SQL,像這樣:
string inClause = String.Join(", ", selectedIds);
string command = "SELECT * FROM Customer WHERE CustomerId IN ({0})";
command = String.Format(command, inClause);
當然,這種風格的代碼是因爲SQL注入的不安全。我可以通過加入參數佔位符和創建參數來解決這個問題。
不過,我想知道是否有另一種方法,我沒有考慮。我當然不希望爲每個ID執行一次命令。
http://stackoverflow.com/a/337792/284240 –
看一看http://stackoverflow.com/questions/337704/parameterizing-an-sql-in-clause –
如果'selectedIds'是一個數組整數,沒有SQL注入的危險。沒有辦法在一個整數中填充一個''''。 – Andomar