Pra variar só uma dica rápida no blog. Se você tem uma aplicação e precisa usar a clausula IN no IReport deve ter feito algo assim e encontrou dificuldades
SELECT table.`row` AS table_row, FROM `table` table WHERE table.`row` IN ($P{ROW})
Vi que algumas pessoas em fóruns por aí apanhando com isso.
A solução é MUITO simples. Aprendemos a inserir parâmetros como $P{ROW} onde ROW é o nome do meu parâmetro. O problema é que quando tentamos usar a cláusula IN desejamos passar algo como ('v1','v2'...) ou seja uma lista de parâmetros. Para isso dar certo a QUERY SQL deve ser escrita assim:
SELECT table.`row` AS table_row, FROM `table` table WHERE table.`row` IN ($P!{ROW})
A diferença para quem não percebeu foi a '!' entre o 'P' e a '{'.
Se você quer montar sua QUERY SQL inteira na aplicação e passa-la ao IReport em tempo de execução deve usar o mesmo conceito. Acredito que hajam soluções melhores do que passar a QUERY inteira em tempo de execução, mas quem quer começar a usar o IReport e encontrar alguma dificuldade com campos mais complexos deve se lembrar dessa exclamação, porque ela faz TODA a diferença.
Se você quer montar sua QUERY SQL inteira na aplicação e passa-la ao IReport em tempo de execução deve usar o mesmo conceito. Acredito que hajam soluções melhores do que passar a QUERY inteira em tempo de execução, mas quem quer começar a usar o IReport e encontrar alguma dificuldade com campos mais complexos deve se lembrar dessa exclamação, porque ela faz TODA a diferença.
Poxa, muito bom... vlw..
ResponderExcluir