Relatório por período
Pessoal,
estou montando uma aplicação Java Desktop e estou tentando exibir um relatório por período através do iReport.
Creio que entre o meu SQL esteja tudo correto, pois quando tento exibir apenas chamando o Preview do iReport, o relatório é exibido, porém quando pego as datas direto da janela da aplicação, aparece a mensagem de que o relatório não possui páginas.
Eu acredito que o erro esteja, pois preciso exibir o relatório em um ArrayList, porém não estou conseguindo montar, alguém tem alguma ideia?
MÉTODO DAO QUE EXECUTA O SQL
MÉTODO DA CLASSE CONTROLE
MÉTODO DO FRAME
estou montando uma aplicação Java Desktop e estou tentando exibir um relatório por período através do iReport.
Creio que entre o meu SQL esteja tudo correto, pois quando tento exibir apenas chamando o Preview do iReport, o relatório é exibido, porém quando pego as datas direto da janela da aplicação, aparece a mensagem de que o relatório não possui páginas.
Eu acredito que o erro esteja, pois preciso exibir o relatório em um ArrayList, porém não estou conseguindo montar, alguém tem alguma ideia?
MÉTODO DAO QUE EXECUTA O SQL
public ResultSet saldoPeriodo(String inicio, String fim) {
ResultSet rs;
try{
SaldoDaoImpl saldoDAO = new SaldoDaoImpl();
EmpresaClienteDaoImpl empresaDAO = new EmpresaClienteDaoImpl();
ProdutoDaoImpl produtoDAO = new ProdutoDaoImpl();
rs = comando.executeQuery ("SELECT credito, fkEmpresa, fkProduto, data "
+ "FROM saldo "
+ "WHERE data between '"+inicio+"' and '"+fim+"'");
while(rs.next()){
Saldo temp = new Saldo();
temp.setSaldo(rs.getFloat("credito"));
int id = rs.getInt("fkEmpresa");
String empresa = empresaDAO.getEmpresaCliente(id).getNome();
//int idProduto = rs.getInt("fkProduto");
//String produto = produtoDAO.getProduto(idProduto).getProduto();
temp.setData(rs.getString("data"));
}
return rs;
} catch (SQLException ex){
System.out.println("Erro ao buscar movimentações por período" + ex.getMessage());
} catch (ClassNotFoundException ex) {
Logger.getLogger(FuncionarioDaoImpl.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
MÉTODO DA CLASSE CONTROLE
public ResultSet saldoPeriodo(String inicio, String fim) throws ClassNotFoundException, SQLException{
SaldoDaoImpl saldoDAO = new SaldoDaoImpl();
ResultSet saldo = saldoDAO.saldoPeriodo(inicio, fim);
return saldo;
}
MÉTODO DO FRAME
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
SaldoControle saldoControle = new SaldoControle();
JasperPrint jpPrint = null;
String inicio = this.jTextField1.getText();
String fim = this.jTextField2.getText();
ResultSet rs = null;
try {
rs = saldoControle.saldoPeriodo(inicio, fim);
} catch (ClassNotFoundException | SQLException ex) {
Logger.getLogger(Relatório.class.getName()).log(Level.SEVERE, null, ex);
}
JRResultSetDataSource relatResul = new JRResultSetDataSource(rs);
try {
jpPrint = JasperFillManager.fillReport("src/Relatório/RelatorioSaldo.jasper", new HashMap(), relatResul);
} catch (JRException ex) {
Logger.getLogger(Relatório.class.getName()).log(Level.SEVERE, null, ex);
}
JasperViewer jv = new JasperViewer(jpPrint);
jv.setVisible(true);
}
Gustavo Barbosa
Curtidas 0