Passar vários parâmetro para uma consulta ireport

7 respostas
ireportjava
L

Preciso efetuar uma consulta no ireport baseado em 9 parâmetros, mas esses parâmetros quem define é a pessoa… No caso a pessoa vai selecionar quais desses 9 parâmetro ela quer, podendo escolher mais de um. Tentei fazer assim:

Where

 QRY.Resultado."DTESTE" = $P{teste1} AND QRY.Resultado."DTESTE" = $P{teste2}...

Mas não deu certo

Tentei também assim

QRY.Resultado."DTESTE" = $P{teste1} OR QRY.Resultado."DTESTE" = $P{teste2}...

se eu passar valor no primeiro, até da certo, mas se eu passar no primeiro, segundo, terceiro… já não da certo… Alguém pode me da uma luz?

Lembrando que eu preciso deixar de uma maneira q a pessoa possa escolher 1 ou até 9 dos testes

7 Respostas

darlan_machado

Isso acontece por um simples fato: não é responsabilidade do relatório executar esta query. É responsabilidade do teu sistema.
Veja bem, o java possui uma palavra chave chamada goto. Ela está lá, portanto, pode ser usada. Porém, você provavelmente jamais verá qualquer código com goto. Por que não é para usar.
O mesmo ocorre com a query no jasper report. Existe, está disponível, mas não é para usar. Use JRBeanCollectionDataSource, se ajude e ajude o mundo a ser melhor.

L

Sim, eu sei e estou fazendo corretamente pelo netbeans, mas estou testando pelo jasper para ver se da certo e arrumando o design, mas tem alguma solução para esse meu problema? Aguardando…

darlan_machado

Veja, você pode passar alguns parâmetros em uma consulta e outros não, certo? Talvez, dos 9, você tenha alguns obrigatórios e outros não.
Você vai precisar de vários ifs, validando cada um dos parâmetros, para criar a query.
Eu entendo que seja muito complexo para o que você quer fazer.

L

na verdade nenhum é obrigatório, a pessoa entra, escolhe qual ou quais ela quer ver e faz a busca.

L

Capturar

ela entra e escolhe um desses Darlan para fazer o filtro com base nos escolhidos

darlan_machado

Mas, concorda comigo que este filtro deve ser tratado pelo java?
Se você está testando, precisa passar todos os parâmetros na query e testar passando um por vez.

L

Entendi, pensei que daria para ser feito pelo jasper também… tem um mini exemplo de como posso tratar pelo java?

Criado 25 de abril de 2018
Ultima resposta 25 de abr. de 2018
Respostas 7
Participantes 2