JasperReports e o IN do SQL

Como usar o operador IN do SQL no JasperReports para localizar registros no banco de dados?

O JasperReports é uma ferramenta de geração de relatórios open source que permite aos desenvolvedores criar relatórios personalizados a partir de dados de banco de dados. Um dos recursos mais úteis do JasperReports é a capacidade de usar o operador IN do SQL para localizar registros no banco de dados com base em uma lista de valores.

Um dos meus alunos do curso de JasperReports me questionou recentemente sobre como criar uma consulta onde uma coluna receberia uma lista de valores para localizar determinados registros no banco de dados.

Para ficar mais claro, suponha que você tem um tabela de endereços e uma das colunas desta tabela é a UF. Assim, você deseja adicionar um clausula no SQL para retornar endereços a partir de uma lista de UFs. Para esse tipo de consulta nós usamos o operador IN, como no exemplo a seguir:

SELECT * FROM ENDERECOS WHERE UF IN('RS', 'SP');

A consulta acima vai retornar todos as linhas da tabela de endereços que contenham ‘RS’ ou ‘SP’ como UF. O problema é que, ao adicionar essa consulta no JasperReports ele não a processa e lança uma exceção ao executar o relatório.

Mas isso pode ser contornado com uma função existente no JasperReports que é justamente preparada para se trabalhar com o operador IN. A função é a seguinte:

$X(IN, <column_name>, <parameter_name>)

Se quiser ver na pratica como trabalhar com essa função, assista o vídeo em que demonstro como usar tal recurso.

O operador IN do SQL é um recurso poderoso que pode ser usado para localizar registros no banco de dados com base em uma lista de valores. A função $X() do JasperReports fornece uma maneira fácil de usar o operador IN do SQL no JasperReports.

🤔 Ainda não sabe gerar relatórios em Java com JasperReports?

👉 Então matricule-se em meu curso Gere relatórios com JasperReports.

Até a próxima!

Referencias:

Ballem

Marcio Ballem é bacharel em Sistemas de Informação pelo Centro Universitário Franciscano em Santa Maria/RS. Tem experiência com desenvolvimento Delphi e Java em projetos para gestão pública e acadêmica. Possui certificação em Java, OCJP 6.

Você pode gostar...