Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача параметра в запрос через функцию 
:(
    Опции темы
Yagmort
Дата 23.11.2010, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 339
Регистрация: 17.6.2009

Репутация: -1
Всего: -1



Код

SqlCommand command = new SqlCommand(query,cs);
..
..
..
command.Parameters.Add(p1, sql1);
command.Parameters.Add(p2, sql2);
command.Parameters.Add(p3, sql3);

Можно ли как нибудь для запроса query передать параметры в этот запрос динамически, через функцию. Например мне надо передать 30 параметров из разных компонентов. Прийдется завести 30 строковых
Код

 p1="@Name1",p2="@Name2"
переменных и 30 типов данных
Код

SqlDbType sql1=new SqlDbType();
sql1=SqlDbType.string
SqlDbType sql2=new SqlDbType();
sql2=SqlDbType.int
SqlDbType sql3=new SqlDbType();
sql3=SqlDbType.bool

и т.п.
 и соответсвенно 30 компонентов...  Но это не очень удобно. Есть идеи получше ?

Это сообщение отредактировал(а) Yagmort - 23.11.2010, 14:33
PM MAIL   Вверх
RobinHoodPHD
Дата 23.11.2010, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 12.8.2007
Где: Русь

Репутация: нет
Всего: 2



Ну можно тупо генерировать строку запроса по кускам. Забить на хороший способ передачи параметров с помощью коллекции параметров и просто в каждом вашем модуле клепать строки с параметрами. Например у вас запрос что то типа "EXEC dbo.SampleStrdProc @p1,@p2,@p3". В каждом модуле, где вы определяете параметры будущего запроса сразу заносим их в строки, а создании объекта SqlCommand просто сшиваем их в один запрос
Код

SqlCommand command = new SqlCommand("EXEC dbo.SampleStrdProc" + ParamFromModul1 + ParamFromModul2,cs);

а в переменных ParamFromModul1,ParamFromModul2 у нас что то типа "'123','data',0" - ваши параметры
Типы тут никакие не нужны, и переменных будет не так много - по числу модулей
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0670 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.