Chamando o Relatorio do Jasper

1 resposta
F

boa tarde galera, eu estou com um probleminha, eu to tentando criar meu primeiro relaotio em java so que eu nao to conseguindo chama-lo pela classe… segue minha classe e o ero gerado abaixo quem puder me ajudar…

import java.io.IOException;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.HashMap;

import java.util.Map;
import net.sf.jasperreports.engine.JRException;

import net.sf.jasperreports.engine.JRResultSetDataSource;

import net.sf.jasperreports.engine.JasperExportManager;

import net.sf.jasperreports.engine.JasperFillManager;

import net.sf.jasperreports.view.JasperViewer;

import Comunicacao_Banco_de_Dados.CaminhoBanco;
import Tabelas.DadosBDInfo;

public class Demo {

/* Real za con tornan i exão com o banco de dados, re do o objeto Connection */

private java.sql.Connection getConnection() throws ClassNotFoundException, SQLException, IOException

{

DadosBDInfo info = new DadosBDInfo ();

CaminhoBanco caminho = new CaminhoBanco ();
info = caminho.Caminho();
	
	Class.forName("org.firebirdsql.jdbc.FBDriver");
	return DriverManager.getConnection(info.getCaminho(),info.getSenha(),info.getUsuario());
}
/* Gera Relatorio e visualiza-o */ 
public void geraRelatorio( ) throws JRException, Exception 
{
	String comando = "select * from Cadastro_clientes";
	PreparedStatement prep = getConnection().prepareStatement(comando);
	ResultSet rs = prep.executeQuery();
	if(rs.next()) 
	{
		int codigo =(rs.getInt("codigo"));
	}
	
/* implementação da interface JRDataSource para DataSource ResultSet */ 
	JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );
/* HashMap de parametros utilizados no relatório. Sempre instanciados */ 
	Map parameters = new HashMap(); // parameters.put("COLUNA", valor);
	parameters.put("Codigo",String.valueOf(1));
/* Preenche o relatório com os dados. Gera o arquivo BibliotecaPessoal.jrprint */ 
	JasperFillManager.fillReportToFile( "E:/Fabio/WorkSpace/SYSMinasbras/ClientesResumido.jasper", parameters, jrRS );
/* Exporta para o formato PDF */ 
	JasperExportManager.exportReportToPdfFile( "E:/Fabio/WorkSpace/SYSMinasbras/ClientesResumido.jrprint" );
/* Preenche o relatorio e o salva diretamente em arquivo PDF. Sem a necessidade do .jrprint */ // JasperRunManager.runReportToPdfFile("BibliotecaPessoal.jasper", parameters, jrRS);
/* Visualiza o relatório em formato PDF */ 
	JasperViewer.viewReport( "e:/ClientesResumido.pdf", true ); 
}
public static void main(String[] args) throws JRException, Exception 
{
	new Demo().geraRelatorio(); 
}

}

***<strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>ERRO</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>

Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:85)

at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:108)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:429)

at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:320)

at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:276)

at Demo.geraRelatorio(Demo.java:49)

at Demo.main(Demo.java:58)

1 Resposta

J

Ta faltando a lib commons-logging.jar !! Adcione-a a seu classpath !!!

falou !!

Criado 17 de maio de 2005
Ultima resposta 17 de mai. de 2005
Respostas 1
Participantes 2