Ter eu tenho, mas nao tenho sua base de dados.
E também estou em serviço né hehe…
Mas se quiser pode mandar, posso dar uma olhada rápida.
E-mail: thekill87@gmail.com
Att. Jonas
Ter eu tenho, mas nao tenho sua base de dados.
E também estou em serviço né hehe…
Mas se quiser pode mandar, posso dar uma olhada rápida.
E-mail: thekill87@gmail.com
Att. Jonas
hehehe valew
Eu vou passar a base de dados tbm caso vc tenha o mysql instalado ^^
Muito obrigado pela ajuda
Nao tenho, trabalho com Firebird
Conseguiu resolver o problema caro amigo?
Se sim, seria legal renomear o topico para Resolvido …
Já abri umas 4x esse topico rsrsrs
consegui nada TheKill
Eu mandei um e-mail pra vc, vou digitar o que eu mandei pra vc aki
Tipo eu peguei um tutorial e fiz isso
[code]import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
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;
public class RelatorioTeste {
private static final String url = “jdbc:mysql://localhost/banco_eclusas”;
private static final String driver = “com.mysql.jdbc.Driver”;
private static final String login = “root”;
private static final String pwd = “root”;
public RelatorioTeste() {
}
public void gerar( String jasperFile ) throws JRException , SQLException, ClassNotFoundException {
Class.forName( driver );
Connection con = DriverManager.getConnection( url , login , pwd );
Statement stm = con.createStatement();
String query = "select nomeEclusa from eclusas";
ResultSet rs = stm.executeQuery( query );
//implementação da interface JRDataSource para DataSource ResultSet
JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );
//executa o relatório
Map parametros = new HashMap();
//parametros.put("nota", new Double(10));
/* Preenche o relatório com os dados. Gera o arquivo BibliotecaPessoal.jrprint */
JasperFillManager.fillReportToFile( jasperFile, parametros, jrRS );
/* Exporta para o formato PDF */
JasperExportManager.exportReportToPdfFile( "classic.jrprint" );
}
public static void main(String[] args) {
try {
new RelatorioTeste().gerar( "classic.jasper" );
} catch (Exception e) {
e.printStackTrace();
}
}
}[/code]
compilei e deu o seguinte erro
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at net.sf.jasperreports.engine.fill.JRBaseFiller.<clinit>(JRBaseFiller.java:96)
at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:147)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:83)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:492)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:448)
at Teste.RelatorioTeste.gerar(RelatorioTeste.java:42)
at Teste.RelatorioTeste.main(RelatorioTeste.java:50)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 8 more
o erro acontece quando chega nessa linha
[code]
/* Preenche o relatório com os dados. Gera o arquivo BibliotecaPessoal.jrprint */
JasperFillManager.fillReportToFile( jasperFile, parametros, jrRS );[/code]
eu não sei oq está acontecendo
Pra q serve o HashMap q eu passo como parâmetro?
Exato.
HashMap serve para quando vc estiver usando parametros no seu relatório.
exemplo: $P{cor}
no java:
String cor=“red”;
HashMap h = new HashMap();
h.put(cor);
Cerfique-se que esteja utilizando o library correto do iReport. no meu eu utilizo o jasperreports-3.5.3.jar
e Tambem necessita de outros Jars.
Vou colocar os nomes e você adiciona no projeto:
commons-beanutils-1.8.0.jar
commons-collections-3.2.1.jar
commons-digester-1.7.jar
commons-javaflow-20060411.jar
commons-logging-1.1.jar
jasperreports-3.5.3.jar
iText-2.1.0.jar
Provavel que esteja sem a library commons.logging …
Verifique
Bom nos libraies tem o jasperReport3.0.jar, o mysqlConector.jar e a library do java 1.6
Tem q ter mais algumas?
Sim, veja oque falei anteriormente…
[quote=TheKill]Cerfique-se que esteja utilizando o library correto do iReport. no meu eu utilizo o jasperreports-3.5.3.jar
e Tambem necessita de outros Jars.
Vou colocar os nomes e você adiciona no projeto:
commons-beanutils-1.8.0.jar
commons-collections-3.2.1.jar
commons-digester-1.7.jar
commons-javaflow-20060411.jar
commons-logging-1.1.jar
jasperreports-3.5.3.jar
iText-2.1.0.jar[/quote]
Onde eu baixo esses jars?
Na pasta de instalação do JasperSoft…
\Ireport\ireport\modules\ext
Tem todos os Jars… Localize os nomes que falei e importe no projeto
AEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
DEU CERTOOO ^^
Ow valew mesmo TheKill, muito obrigado, sou muito grato a vc kra
Precisar de alguma coisa, alguma ajuda é soh pedir
Muito obrigado mesmo, foi soh importar as bibliotecas ^^
Tipo mais agora como q eu faço pra aparece na tela jah, pq ali ele gerou um pdf na pasta do projeto
qual é o comando pra aparecer na tela?
Obrigado
JasperViewer.viewReport(jp, false);
Testa ae!! Foi nada não… Precisar estamos ae
JasperPrint jp = JasperFillManager.fillReport("teste.jasper", parametros, jrRS);
JasperViewer.viewReport(jp, false);
Coloquei esse código e aparecer q o documento não contém páginas, oq aconteceu?
[quote=brunorota] JasperPrint jp = JasperFillManager.fillReport("teste.jasper", parametros, jrRS);
JasperViewer.viewReport(jp, false);
Coloquei esse código e aparecer q o documento não contém páginas, oq aconteceu?[/quote]
É este é um erro comum… tem que dar uma analisada … Pode ser varias coisas…
Mas eu penso que é na transmissão dos dados para o relatório…
Voce ta passando por HashMap ou SQL ?
Se for HashMap tem que colocar os atributos no relatório do tipo $P{atributo}
E se for SQL no relatorio tem que ser $F{NOME_DO_CAMPO_NA_TABELA}
é por sql
e no relatório já está $F{nome} que é o nome do campo da tabela no banco
o código é esse, o pdf gerou normal
[code]import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
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.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
public class RelatorioTeste {
private static final String url = “jdbc:mysql://127.0.0.1/teste”;
private static final String driver = “com.mysql.jdbc.Driver”;
private static final String login = “root”;
private static final String pwd = “root”;
public RelatorioTeste() {
}
public void gerar( String jasperFile ) throws JRException , SQLException, ClassNotFoundException {
Class.forName( driver );
Connection con = DriverManager.getConnection( url , login , pwd );
Statement stm = con.createStatement();
String query = "select * from turma";
ResultSet rs = stm.executeQuery( query );
//implementação da interface JRDataSource para DataSource ResultSet
JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );
//executa o relatório
Map parametros = new HashMap();
//parametros.put("nota", new Double(10));
/* Preenche o relatório com os dados. Gera o arquivo BibliotecaPessoal.jrprint */
JasperFillManager.fillReportToFile( jasperFile, parametros, jrRS );
/* Exporta para o formato PDF */
JasperExportManager.exportReportToPdfFile( "teste.jrprint" );
JasperPrint jp = JasperFillManager.fillReport("teste.jasper", parametros, jrRS);
JasperViewer.viewReport(jp, false);
}
public static void main(String[] args) {
try {
new RelatorioTeste().gerar( "teste.jasper" );
} catch (Exception e) {
e.printStackTrace();
}
}
}[/code]
att
Uma pergunta,
Você quer que gere automaticamente o PDF no HD???
Ou ele salva o PDF se ele quiser?!
Se for pra salvar Opcionalmente retire a linha
//Exporta para o formato PDF */
JasperExportManager.exportReportToPdfFile( "teste.jrprint" );
Se a parte de código que comentei anteriormente nao funcionou…
Faça o seguinte teste:
/* Preenche o relatório com os dados. Gera o arquivo BibliotecaPessoal.jrprint */
//JasperFillManager.fillReport(jasperFile, parametros, jrRS);
/* Exporta para o formato PDF */
//JasperExportManager.exportReportToPdfFile( "teste.jrprint" );
JasperPrint jp = JasperFillManager.fillReport(jasperFile, parametros, jrRS);
JasperViewer.viewReport(jp, false);
Opa
Testei aki deu certinho TheKill
Vc me ajudou bastante mesmo, muito obrigado, agora que eu tenho a formulá vou bolar o relatório que eu preciso fazer ^^
Qualquer problema que eu não conseguir resolver de jeito nenhum eu posto outro tópico
Muito obrigado mesmo TheKill ^^
Atenciosamente
Bruno Rota Sargi