Я создал список типов параметров, в котором я разрешил выбирать несколько значений. Я хочу использовать этот параметр в наборе данных. Я использовал значения в другом наборе данных с StoredProcdureName (?,?) В качестве параметра для SP. Проблема с этим фильтром заключается в том, что он показывает Selection, если я выбираю одно или несколько значений, но при передаче в sp он отправляет только одно значение. Как мне с этим справиться?
1 ответ
Вы должны хотя бы опубликовать свою хранимую процедуру, чтобы мы могли видеть, как используется этот параметр. Параметры с несколькими значениями обрабатываются BIRT как массивы Java, которые не являются типом данных, распознаваемым хранимыми подпрограммами. Вот почему вы получаете только первый предмет.
Поэтому, предполагая, что этот параметр является фильтром SQL в предложении «IN», нам нужно передать его хранимой процедуре в виде строки, разделенной запятыми.
Объявите свой параметр набора данных как String и не связывайте его с параметром report , а вместо этого установите выражение значения по умолчанию, основанное на параметре отчета. В этом примере myMultivalueParam представляет числовое поле в вашей базе данных:
params["myMultivalueParam"].value.join(",");
Если myMultivalueParam представляет строку, нам нужно добавить кавычки:
params["myMultivalueParam"].value.join("','");
Затем используйте эту строку, разделенную запятыми, в своей хранимой процедуре.
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.