2011-06-08 48 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