Fala pessoal, tudo bem ?
Bom, tenho duas perguntas sobre IReport:
1-) Como montar uma delcaração SQL em tempo de execução no JAVA e passar como parametros para o IReport.
Por exemplo: Se for um relatório de clientes e mando gerar o relatório básico (sem nenhum parametro) ele teria que montar por exemplo a seguinte declaração e gerar o relatório com os dados:
SELECT * FROM cliente
Porém, posso colocar para filtrar por cidade, estado, ordenar por nome, etc… ai ficaria assim por exemplo:
SELECT * FROM cliente WHERE cidade IN (“São Paulo”, “Rio de Janeiro”, “Bauru”) AND estado (“SP”, “RJ”)
ORDER BY nome
Portanto minha dúvida é como montar essas declarações SQL em tempo de execução e passar para o IReport
apenas executar e mostrar os dados na tela
2-) Como faço para que essa declaração que montar em tempo de execução seja “genérica” para executar em vários banco de dados ? Pois posso usar o mesmo relatório no banco de dados MySQL, PostGres, SQL Server, Oracle, etc.
Ai como vcs sabem a declaração SQL varia de banco para banco.
Quem puder explicar ou passar algum tutorial que fala sobre isso ajudaria muito. 
Aguardo !