where .. in в параметрах запроса

Обсуждение Stimulsoft Reports.NET
Ответить
iOgre
Сообщения: 26
Зарегистрирован: 04 июн 2010, 01:35
Откуда: Moscow

where .. in в параметрах запроса

Сообщение iOgre »

Вот есть запрос в датасорсах отчета

select ... from
where id in [а вот тут я хочу передать параметр]

как это можно сделать, какой тип должен иметь данный параметр?
id - int

а вот число параметров в in () произвольно
может быть и id in (1)
и id in(5,7)
и id in(1,4,5,6,7,8)
Ivan
Сообщения: 641
Зарегистрирован: 10 авг 2006, 05:40
Откуда: Stimulsoft Office

where .. in в параметрах запроса

Сообщение Ivan »

Здравствуйте.

Попробуйте использовать следующий вариант:

Код: Выделить всё

            select ... from ... where id in ({var1})
В словаре заведите переменную var1 типа string, в которую через запятую пишите нужные параметры, например "1,4,5,6,7,8".
Это можно сделать из вашего кода или из кода события в самом отчете. Например, пусть параметры передаются в переменной list типа ArrayList:

Код: Выделить всё

            StringBuilder sb = new StringBuilder();
            for (int index = 0; index < list.Count; index++)
            {
                sb.Append(((int)list[index]).ToString());
                if (index < list.Count - 1) sb.Append(",");
            }
            report.Dictionary.Variables["var1"].Value = sb.ToString();
Спасибо.
Ответить