Ola pessual criei um relatório no irereport e la fica tudo beleza, consigo compilar ele, e visualizar, ai criei ma classe no java para chamar, chama beleza tb, mas os campos não vem preenchidos com o conteudo que tenho o codigo é esse:
packageRelatorios;importjava.util.HashMap;importjavax.swing.JOptionPane;importnet.sf.jasperreports.engine.JRException;importnet.sf.jasperreports.engine.JRResultSetDataSource;importnet.sf.jasperreports.engine.JasperCompileManager;importnet.sf.jasperreports.engine.JasperFillManager;importnet.sf.jasperreports.engine.JasperManager;importnet.sf.jasperreports.engine.JasperPrint;importnet.sf.jasperreports.view.JasperViewer;importUtilitarios.conexao;importnet.sf.jasperreports.engine.JasperExportManager;importnet.sf.*;publicclassRelat_Acervo{conexaocon=newconexao();publicRelat_Acervo(){try{con.conecta();con.executeSQL("select * from Cad_Acervo");JRResultSetDataSourcejrRS=newJRResultSetDataSource(con.resultset);JasperPrintjasperPrint=JasperFillManager.fillReport("Relatorios/Relatorio_Acervos.jasper",newHashMap(),jrRS);//JasperExportManager.exportReportToPdfFile(jasperPrint, "Relatorios/Relatorio_Usuarios.pdf");JasperViewer.viewReport(jasperPrint);}catch(Exceptionerro){JOptionPane.showMessageDialog(null," Erro "+erro);}}publicstaticvoidmain(Stringargs[]){newRelat_Acervo();}}
ao invés de passar o jrRS, passe somente a conexão para o banco.
//O getConnection retorna para eu uma conexão pronta para o meu banco;Connectionconnection=ConnectionFactory.getConnection();JasperPrintjasperPrint=JasperFillManager.fillReport("Relatorios/Relatorio_Acervos.jasper",newHashMap(),connection);
T
TCalderoni
castiel:
ao invés de passar o jrRS, passe somente a conexão para o banco.
//O getConnection retorna para eu uma conexão pronta para o meu banco;
Connection connection = ConnectionFactory.getConnection();
JasperPrint jasperPrint = JasperFillManager.fillReport("Relatorios/Relatorio_Acervos.jasper", new HashMap(), connection);
mas este conection que c usou é de onde, vc tem uma classe conexão???
ele retorna um Connection pronto para o seu banco.
dudu_sps
Desculpem ai.. entrar de bicão...
mas to precisando instanciar meu relatorio tbm
e no meu botão dei o seguinte evento
publicvoidactionPerformed(java.awt.event.ActionEvente){Connectionconnection;try{connection=ConnectionFactory.getConnection();try{JasperPrintjasperPrint=JasperFillManager.fillReport("relatorios/Rel_MoviBanco.jasper",newHashMap(),connection);JasperViewer.viewReport(jasperPrint);}catch(JRExceptione1){// TODO Auto-generated catch blocke1.printStackTrace();}}catch(SQLExceptione1){// TODO Auto-generated catch blocke1.printStackTrace();}}
se vc criou um pacote relatorios dentro de src, vc terá que usar outra maneira para mandar a localização do relatório, sugiro que crie uma pasta, para fazer isso.
dudu_sps
desculpe a ignorancia… mas criar uma pasta ond, ou como achar o caminho?
castiel
No meu caso eu fiz no eclipse, então eu criei uma pasta um nivel abaixo do projeto, na raiz do projeto.
MeuProjetoJava
|-src
|-libs
|-reports
Mais ou menos assim.