Как правильно использовать $ X в яшме ?? Проблема с параметрами и предложением IN в JSS - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть отчет, сделанный с помощью Jaspersoft Studio, и в запросе набора данных мне нужно использовать предложение IN, для этого я использую выражение "$X{IN ..."

Вопрос № 1: Что такое правильный тип для использования в качестве параметра? Я использую следующий формат: enter image description here

Вопрос № 2: Как проверить в окне предварительного просмотра? Экран параметров:

enter image description here

Чтобы помочь, следуйте отрывку, где используется используемый параметр:

"...Where (($X{IN, db.empresa, paramIdEmpresa}) OR $ P!{ParamIdEmpresa} IS NULL) and (db_view ... "

Ошибка, которая появляется в предварительный просмотр с указанными выше параметрами:

net.sf.jasperreports.engine.JRException: Error executing SQL statement
for: unit1. at com.jaspersoft.studio.editor.preview.view.control.ReportController.fillReport
(ReportController.java:551) at com.jaspersoft.studio.editor.preview.view.control.ReportController.access
 (BaseFillHandle.java:135) at java.lang.Thread.run (Thread.java:748)
 Caused by: org.postgresql.util.PSQLException: ERROR: syntax error at
 or near "["   Position: 199 at
 org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse
 (QueryExecutorImpl.java:2440) at
 org.postgresql.core.v3.QueryExecutorImpl.processResults

1 Ответ

0 голосов
/ 23 апреля 2020

проблема была в запросе, а не в яшме ...

правильный запрос:

where 
    (($X{IN,db.idempresa, paramIdEmpresa}) OR db.idempresa IS NULL ) 

благодаря GP ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...