2011-06-08 76 views
1

我的舒適區外有點...帶有值列表的ODBC參數

有沒有什麼辦法通過VB.Net中的ODBC參數傳遞多個值(值列表)給查詢?

舉例來說,有沒有方法來創建的線沿線的查詢:

- vb.net有類似昏暗itemNumbers作爲新的列表(整數)(SomeCount)

SELECT Cost, Description 
FROM MyItemList 
WHERE ItemNum IN (<my list of item numbers>) 

謝謝!

+0

[這個答案](http://stackoverflow.com/questions/337704/parameterizing-a-sql-in-clause/337792#337792)似乎也適用。你的問題很可能是[參數化SQL IN子句?](http://stackoverflow.com/q/337704)的重複... – Jorik 2011-06-08 13:17:00

回答

1

不幸的是ODBCParameter只能保存一個值。它可能更容易做這樣的事情

cmd.CommandText = "SELECT Cost, Description FROM MyItemList WHERE ItemNum IN (@Items)" 
cmd.Paramaters.AddWithValue("@Items", String.Join(", ", itemNumbers.Select(Function(i) i.ToString()))) 
+0

我會避免這種方法 - 它對SQL注入是開放的。這是一個與SQL注入相似的答案:http://stackoverflow.com/a/337792/614523 – sennett 2013-04-16 23:31:48