|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.08.2012, 09:34 | #1 | |
Форумчанин
Регистрация: 02.09.2008
Сообщений: 340
|
MsSql добавление параметров в запрос
Всем привет. Необходимо добавить в запрос произвольное кол-во параметров. На форме GridView с чекбоксами, пользователь выбрал необходимые записи, нажал на кнопку и надо что бы в запрос передались параметры которые он выбрал.
Например в GridView 25 записей и у каждой показывается ее номер, пользователь выбрал скажи 15 записей, и нажал на кнопку, надо что бы в запрос передались эти 15 параметров со своими номерами Не очень хотелось бы приходить к данному способу т.к тут указано статическое кол-во параметров =(. Пока в голову ничего не пришло Код:
Цитата:
|
|
09.08.2012, 09:55 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Я в таких случаях создаю на сервере временную таблицу с одним полем и записую туда перечень значений. Сам запрос к основной таблице выглядит примерно так
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
09.08.2012, 10:10 | #3 | |
Форумчанин
Регистрация: 02.09.2008
Сообщений: 340
|
а как это? Сначала вы используете один CommandText для записи во временную таблицу и выполняете этот запрос а затем другой CommandText для выборки данных уже?
Цитата:
Последний раз редактировалось Claster; 09.08.2012 в 10:15. |
|
09.08.2012, 10:20 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Лучше всего сделать пользовательскую процедуру с двумя параметрами - именем временной таблицы и перечнем значений и вызывать её. Пусть она и создает временную таблицу. Для 2000-го длина символьного параметра до 8000, так что уместится достаточно длинный список. После создания обычные средства для SELECT-а
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
09.08.2012, 10:24 | #5 | |
Форумчанин
Регистрация: 02.09.2008
Сообщений: 340
|
Надо так сделать?
Код:
Цитата:
Последний раз редактировалось Claster; 09.08.2012 в 10:34. |
|
09.08.2012, 10:27 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Можно и так, только лучше
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 09.08.2012 в 10:29. |
09.08.2012, 11:47 | #7 | |
Форумчанин
Регистрация: 02.09.2008
Сообщений: 340
|
Еще где то затупил, не получается вставить данные в цикле
Код:
Цитата:
Последний раз редактировалось Claster; 09.08.2012 в 11:52. |
|
09.08.2012, 12:04 | #8 | |
Форумчанин
Регистрация: 02.09.2008
Сообщений: 340
|
Вопрос решен и в принципе он очевиден =)
Код:
Цитата:
|
|
09.08.2012, 12:25 | #9 | |
Форумчанин
Регистрация: 02.09.2008
Сообщений: 340
|
при использовании подобной конструкции происходит задвоение данных, почему?
Distinct не помог Код:
Цитата:
|
|
09.08.2012, 12:29 | #10 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Скорее всего во временную таблицу записали дважды список.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрос на добавление | Slame | Помощь студентам | 4 | 20.11.2011 23:01 |
Запрос на добавление | Slame | Microsoft Office Access | 3 | 15.11.2011 11:24 |
Параметрический запрос с использованием 2 и более параметров | Nurik27 | БД в Delphi | 2 | 23.04.2011 12:09 |
Запрос на добавление | Grushka | Microsoft Office Access | 3 | 03.05.2010 10:00 |
Добавление (запрос) | warshadow | Microsoft Office Access | 8 | 23.10.2009 01:15 |