我有一個數據集連接到MS Access數據庫。如何使用可變數量的參數的IN運算符?
我想在WHERE子句等IN操作人員使用:
WHERE DepartmentID IN (1,2,3)
這意味着,具有1,2和3的ID的所有記錄將被過濾。但問題是我不能創建像這樣的參數:
WHERE DepartmentID IN (?)
它只適用於WHERE DepartmentID IN(?,?,?)。這沒關係,但參數不應僅限於3個參數。
IN運算符中的值可能爲1或更多值。
如何在VB.NET中做到這一點?
http://stackoverflow.com/a/337792/284240 – 2012-03-11 23:14:34
我敢肯定這是重複的(但不是當前鏈接的那個......這更具語言特定性)。無論如何,訣竅是根據參數的* count *動態地生成'(?,...?)(不要在這裏放入任何數據!),然後將相同數量的參數添加到查詢。 (這是可擴展的,並防止注入攻擊。) – 2012-03-11 23:20:19
[看看這個](http://stackoverflow.com/questions/337704/parameterizing-an-sql-in-clause),第二個答案它真的很喜歡解決方案建議由@pst提供。 – Steve 2012-03-12 00:00:08