1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

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

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);
    }
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java ireport ou faça a sua própria pergunta.