não consigo exibir meu relatório no ireport

2 respostas
PBOSCO

olá amigos, montei um relatório com o plugin no ireport no netbeans, porém quando mando executar a classe main recebo a mensagem de que o relatório não contém paginas para exibir. eu consigo abrir o relatório certinho no pluguin ireport, mas executando atraves das classes ocorre esse erro.
segue abaixo as tres classes que uso: a conectionfactory é para conexão com banco de dados, a reportutils é para gerar o frame do relatório e a classe main executa tudo:

package tutorialrelatorios.jdbc;

/**
 *
 * @author PAULO
 */

import java.sql.*;
import javax.swing.*;

public class ConnectionFactory {

    static Connection con;
    static Statement stm;

    public static void Conectar(){
    //JOptionPane.showMessageDialog(null, "Preparando para iniciar a conexão com o BD;");

    try
    {
        // Tenta se conectar ao Driver
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    }
    catch (ClassNotFoundException e)
    {
        JOptionPane.showMessageDialog(null, "Impossível carregar o Driver.");
        System.exit(0);
    }
    try
    {

        // nomedobanco é o nome que você deu anteriormente ao seu alias
        con = DriverManager.getConnection("jdbc:odbc:Visita");
        stm = con.createStatement();

    }
    catch (SQLException sqle)
    {
        JOptionPane.showMessageDialog(null, "Problema ao conectar!");
        System.exit(0);
    }
     JOptionPane.showMessageDialog(null, "BEM VINDO AO SISTEMA!");
}
}
package tutorialrelatorios.utils;

/**
 *
 * @author PAULO
 */
import java.awt.BorderLayout;
import java.io.InputStream;
import java.sql.*;
import java.util.Map;
import javax.swing.JFrame;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.swing.JRViewer;

public class ReportUtils {

//public static void openReport(String titulo,InputStream inputStream,Map parametros,Connection conexao )
     public static void openReport(String titulo,InputStream inputStream,Map parametros)
             throws JRException {


        JasperPrint print = JasperFillManager.fillReport(
                inputStream, parametros);

        // abre o JasperPrint em um JFrame
        viewReportFrame( titulo, print );

    }

    private static void viewReportFrame( String titulo, JasperPrint print ) {

        JRViewer viewer = new JRViewer( print );

        // cria o JFrame
       JFrame frameRelatorio = new JFrame( titulo );

        // adiciona o JRViewer no JFrame
        frameRelatorio.add( viewer, BorderLayout.CENTER );

        // configura o tamanho padrão do JFrame
        frameRelatorio.setSize( 500, 500 );

        // maximiza o JFrame para ocupar a tela toda.
        frameRelatorio.setExtendedState( JFrame.MAXIMIZED_BOTH );

        // configura a operação padrão quando o JFrame for fechado.
        frameRelatorio.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );

        // exibe o JFrame
        frameRelatorio.setVisible( true );

    }

}
package tutorialrelatorios;

/**
 *
 * @author PAULO
 */

import java.io.InputStream;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.sql.*;
import net.sf.jasperreports.engine.JRException;
import tutorialrelatorios.jdbc.ConnectionFactory;
import tutorialrelatorios.utils.ReportUtils;

public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        new Main().abrirRelatorioClientes();
    }
    public void abrirRelatorioClientes() {


        //InputStream inputStream = getClass().getResourceAsStream( "C:/Users/PAULO/Documents/NetBeansProjects/TutorialRelatorios/relatorios/visitas.jrxml" );
        InputStream inputStream = getClass().getResourceAsStream( "/visitas.jasper" );

        // mapa de parâmetros do relatório (ainda vamos aprender a usar)
        Map parametros = new HashMap();

            // abre o relatório
            ConnectionFactory.Conectar();
        try {
            ReportUtils.openReport("Visitas", inputStream, parametros);
        } catch (JRException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }
       

    }



}

quem poder por favor me ajude....

2 Respostas

R

Na aba Propriedades do Relatório,procure pela opção ‘When no Data’ e sete para ‘All Sections,no Detail’

PBOSCO

ok raf4ever,

com sua dica consegui que aparecesse o cabeçalho e o titulo das colunas, porém não apareceram os dados.
o que faço?

Criado 22 de fevereiro de 2011
Ultima resposta 22 de fev. de 2011
Respostas 2
Participantes 2