PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Relatório por período #554501

27/05/2016

0

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

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

Gustavo Barbosa

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar