OLA PESSOAL SOU INICIANTE EM JAVA,
Meu problema e o seguinte: estou terminando uma aplicação java ,um sistema de estoque, so que esta faltando a parte de Relatórios.eu criei um JTextField TF_DEDATA e um TF_ATEDATA eu quero que gere um relatorio com a datas que forem digitadas no JTextField,
eu fiz um codigo assim:
[code]try
{
con_fax.resultset.first(); //Posiciona o primeiro registro
String sql = “SELECT * from ControleEstoque where Data >= '”+tf_dedata.getText()+"’" +
" and Data <= ‘"+tf_atedata.getText()+"’";
con_fax.executeSQL(sql);
HashMap parameters = new HashMap(); //Cria um parametro
parameters.put(“Data”,tf_dedata.getText()); //Aqui passa o parametro para data
parameters.put(“Data”,tf_atedata.getText());
JRResultSetDataSource jrRS = new JRResultSetDataSource(con_fax.resultset);
JasperPrint jasperPrint = JasperFillManager.fillReport(
“relatorio/RelControleFax.jasper”, new HashMap(), jrRS);
JasperViewer.viewReport(jasperPrint,false);
}
catch (Exception erro)
{
JOptionPane.showMessageDialog(null,"Ocorreu um erro ao Gerar o relatório"+erro);
}[/code]
MAS ELE FILTRA SO O PRIMEIRO PARAMETRO!!! o que pode estar errado
[quote=cloude]OLA PESSOAL SOU INICIANTE EM JAVA,
Meu problema e o seguinte: estou terminando uma aplicação java ,um sistema de estoque, so que esta faltando a parte de Relatórios.eu criei um JTextField TF_DEDATA e um TF_ATEDATA eu quero que gere um relatorio com a datas que forem digitadas no JTextField,
eu fiz um codigo assim:
[code]try
{
con_fax.resultset.first(); //Posiciona o primeiro registro
String sql = “SELECT * from ControleEstoque where Data >= '”+tf_dedata.getText()+"’" +
" and Data <= ‘"+tf_atedata.getText()+"’";
con_fax.executeSQL(sql);
HashMap parameters = new HashMap(); //Cria um parametro
parameters.put(“Data”,tf_dedata.getText()); //Aqui passa o parametro para data
parameters.put(“Data”,tf_atedata.getText());
JRResultSetDataSource jrRS = new JRResultSetDataSource(con_fax.resultset);
JasperPrint jasperPrint = JasperFillManager.fillReport(
“relatorio/RelControleFax.jasper”, new HashMap(), jrRS);
JasperViewer.viewReport(jasperPrint,false);
}
catch (Exception erro)
{
JOptionPane.showMessageDialog(null,"Ocorreu um erro ao Gerar o relatório"+erro);
}[/code]
MAS ELE FILTRA SO O PRIMEIRO PARAMETRO!!! o que pode estar errado
ALGUEM AE PODE ME AJUDAR…[/quote]
Vc estah passando dois parametros com o mesmo nome, lah no iReport vc deve ter dois parametros com nomes diferente para fazer o filtro.
De uma olhada no exemplo abaixo especificamente na classe RelatorioDepartamento.java:
acho q isto abaixo vai lhe ajudar… o problema que tem poucos que sacam de ralatorio.fiquei garrado mto tempo com sub+parametros…
faça um teste com este fonte abaixo que esta legal
Agora lhe aconselho a voce nao usar textField em sua aplicacao para trabalhar com data e sim com jcalendar ou nachocalendar.pois se der um espaço pode dar erro!!!
try{
Connection con = new ConexaoMySQL().getConnection();
HashMap parametros = new HashMap();
parametros.put("DATA_INICIO", "2007/07/01");
parametros.put("DATA_FIM", "2007/07/10");
JasperPrint jp = JasperFillManager.fillReport("./jasper/Grafico.jasper", parametros, con);
JasperViewer jrv = new JasperViewer(jp);
jrv.setVisible(true);
}
catch(Exception e){
e.printStackTrace();
}