Amigos…to usando java + mysql + ireport/jasper…blz…ja consigo no ireport gerar o designe e ate ver os dados e gero o .jasper…ate ai tudo bem…ai na java tenho um form onde preencho um JTextField e depois clico no botao que chama o relatorio. Como filtro para aparecer no relatorio os dados que digitei no JTextField do form?
To tentando assim: no ireport criei um parametro chamado NUMANALISE que tem o mesmo nome do campo do banco de dados: NUMANALISE. Na query criei um:
select * from tbl_amostragem
e na classe java para chamar o .jasper fiz como abaixo:
esta consulta é feita no proprio Ireports, então quando ele visualizar o relatório é feito a consulta e montado o relatório.
R
rodrigoccnv
Então…mas e aquele select que ta na classe java? pra que server?
ResultSet RS1 = stmt1.executeQuery(“Select * from tbl_amostragem”);
Rodrigo
R
rodrigoccnv
Entao, fiz o proposto mas nao funcionou…pergunto?
Na Minha classe:
*sql=>("Select * from tbl_amostragem")*map=>HashMapparameters=newHashMap();RS1.next();parameters.put("rNumAnalise",RS1.getLong("NUMANALISE"));-OnderNumAnalisetambeméonomedaminhavariavelquearmazenaovalorquequeroqueapareçanorelat.:intrNumAnalise=Integer.parseInt(eNumAnalise.getText());
no caso o nome do meu parametro em parameters.put(“rNumAnalise”,RS1.getInt(“NUMANALISE”)); tambem é rNumAnalise e o mesmo nome do parametro q coloquei na query do ireport:
select * from tbl_amostragem WHERE NUMANALISE = $F{rNumAnalise}
entao, tenho:
rNumAnalise => variavel que pega valor do JTextField => int rNumAnalise = Integer.parseInt(eNumAnalise.getText());
rNumAnalise => parameters de HashMap => parameters.put(“rNumAnalise”,RS1.getLong(“NUMANALISE”));
rNumAnalise => parametro dentro do ireport => select * from tbl_amostragem WHERE NUMANALISE = $F{rNumAnalise}
tem em tres lugares e ainda tem esse outro select da classe:
ResultSet RS1 = stmt1.executeQuery(“Select * from tbl_amostragem”);
select * from tbl_amostragem WHERE NUMANALISE = $P{rNumAnalise}
onde:
$P{rNumAnalise} = parametro obtido pelo Hashmap parameters que tem o valor do JTextField eNumAnalise
se vc usar esse comando
select * from tbl_amostragem WHERE NUMANALISE = $F{rNumAnalise}
o $F{rNumAnalise} é um dos fields (campos) que resulta da tua consulta como antes de ralizar a consulta esse campo não tem nenhum valor vai dar em nada.
Agora vc só tem um rNumAnalise o do parameters que é pego pelo relatório para a execução da consulta.
espero ter ajudado no começo também fiz bastante confusão com os parametros