Parâmetro no Ireport

3 respostas
java
Jothar_Aleksander

Pessoal, estou desenvolvendo uma aplicação JSE (desktop) e estou fazendo uso de relatórios. Daí, em caráter de estudo, quero passar um parâmetro para comparar no where. A minha query (bem simplesinha) está assim:

SELECT * FROM produtos WHERE produtos.codigo_portfolio = $P{codex}

Dai no java passo:

Map parametro = new HashMap();
parametro.put(“codex”, 20137);

Acontece que a ‘filtragem’ não acontece, ou seja, vem todos os produtos no relatório. E o mais estranho é que o parâmetro está sendo enviado, já que eu coloquei ele dentro de uma textfield no ireport e o parâmetro é mostrado. Além disso, se eu executo no designer do Ireport, a caixa de informação do parâmetro é mostrada e se insiro um valor, filtra corretamente. O que pode ser?
Desde já agadeço.

3 Respostas

darlan_machado

Eu sou totalmente contra o uso de queries direto no relatório. Afinal, o mínimo que deve-se fazer é manter o front bem longe do banco de dados, mesmo que não se use um modelo como o MVC.
De qualquer maneira, você precisa se certificar que:

  • Recompilou o relatório
  • Substituiu o arquivo antigo pelo novo, na tua aplicação

É bem comum copiarmos o jrxml e o jasper para outra pasta, alterarmos o relatório e, na hora de rodar o sistema, termos esquecido de pegar a versão com as correções.

Jothar_Aleksander

Sim darlan_machado, eu vou passar o parâmetro para o ‘string sql’ para realizar esse serviço, por isso comentei “… em caráter de estudo”.
O que acontece de verdade é que tenho um relatório que possui um sub-relatório, mas eu não estou conseguindo chamar ele completo, ou seja, só vem o relatório principal, com a parte do sub-relatório vazio. No caso o sub-relatório utiliza-se do valor (textfield) do relatório principal para trazer as informações correspondestes. Eu pesquisei e descobri que tenho que passar o caminho do sub-relatório na chamada do relatório principal, daí como não está funcionando, estou ‘tentando’ estudar como funciona essa questão.
De qualquer forma, muito obrigado por responder.

darlan_machado

Veja

Independente de estudo, de artigo ou o que seja: esse é o tipo de coisa que existe, funciona, mas não se deve usar.

Criado 23 de agosto de 2018
Ultima resposta 23 de ago. de 2018
Respostas 3
Participantes 2