2010-11-29 2 views
1

это может показаться странным вопросом, ранее я разместил еще один вопрос о множественных значениях ASP через переменную сеанса, теперь я понял это и сумел передать все три значения для экземпляр на ярлык. Однако теперь мне нужно пройти три удостоверения личности, чтобы создать GridView для трех значений ... Так что для моего SQL заявления у меня есть:?Несколько значений одного и того же имени столбца в SQL

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

Так что мне нужно там быть 3 BookID =,, ? например, возможно ли это?

Или есть ли другой способ сделать это в ASP?

ответ

0

Я не уверен, ваш вопрос, но я думаю, что вы после IN заявления

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

я думаю, что вы ищете что-то вроде этого:

SELECT [BookID], [book_title] FROM [tblBook] WHERE [BookID] in (?,?,?) 
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) 
+1

Вы должны использовать оператор IN, но будьте осторожны с тем, чтобы просто вставлять строковые переменные прямо в ваш SQL-запрос, что делает вас уязвимыми для SQL-инъекций. – 2010-11-30 12:58:13

Смежные вопросы