SQL中相同列名的多个值

时间:2010-11-29 23:32:20

标签: c# asp.net sql sqlcommand

这可能看起来像一个奇怪的问题,早些时候我通过会话变量发布了关于ASP多个值的另一个问题,我现在已经想到了并且设法将所有三个值传递给标签。但是现在我需要传递三个ID来为这三个值创建一个gridview ...所以对于我的SQL语句,我有:

SelectCommand="SELECT [BookID], [book_title] FROM [tblBook] WHERE ([BookID] = ?)">

所以我需要有3个BookID =?,?,?例如,这可能吗?

或者在ASP中有另一种方法吗?

3 个答案:

答案 0 :(得分:2)

我认为你所寻找的是这样的:

SELECT [BookID], [book_title] FROM [tblBook] WHERE [BookID] in (?,?,?)

答案 1 :(得分:1)

在SQL中,您可以使用“IN”运算符来执行此操作。 SQL查询将是

SELECT [BookID], [book_title] FROM [tblBook] WHERE [BookID] IN (@Book1,@Book2,@Book3)

您必须将book1,2,3作为参数传递给asp函数。您可能必须通过附加参数来动态构造查询。像这样的东西

string query = string.Format("SELECT [BookID], [book_title] FROM [tblBook] WHERE [BookID] IN ({0},{1},{2})",book1,book2,book3)

答案 2 :(得分:0)

我不确定你的问题,但我认为你是在IN陈述之后

SelectCommand="SELECT [BookID], [book_title] FROM [tblBook] WHERE ([BookID] in (1,2,3)">