JasperReport (DataSource)  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Gregoryan
JavaBaby

Membro desde: 12/04/2004 09:34:10
Mensagens: 77
Localização: Recife
Offline

Olá para todos...
Sou iniciante em JasperReport, estou usando o front-end iReport. Desenvolvi os XML´s no iReport sem nenhuma dúvida, usei com conexão e sem conexão. Daí vem o problema a conexão com o banco aqui na empresa não vai ficar no iReport vai se construir uma Classe ue implementara o JRDataSource que vai funcionar como Interligação do .XML com o banco!!! blz??

só que a minha dúvida está em como usar este dataSource.. como ele interagi com o XML? através dos fields? parametros? e a principal dúvida é como implementar os dois metodos da interace o Boolean Next() e o Object getField... alguem poderia me dar um exemplo??
qualquer coisa pode ser pelo email tb

mut4nte_pe@hotmail.com

obrigado desde já...
=)
[MSN] [ICQ]
rocharrv
JavaChild

Membro desde: 21/05/2003 13:36:48
Mensagens: 144
Offline

Gregoryan wrote:Olá para todos...
Sou iniciante em JasperReport, estou usando o front-end iReport. Desenvolvi os XML´s no iReport sem nenhuma dúvida, usei com conexão e sem conexão. Daí vem o problema a conexão com o banco aqui na empresa não vai ficar no iReport vai se construir uma Classe ue implementara o JRDataSource que vai funcionar como Interligação do .XML com o banco!!! blz??

só que a minha dúvida está em como usar este dataSource.. como ele interagi com o XML? através dos fields? parametros? e a principal dúvida é como implementar os dois metodos da interace o Boolean Next() e o Object getField... alguem poderia me dar um exemplo??
qualquer coisa pode ser pelo email tb

mut4nte_pe@hotmail.com

obrigado desde já...
=)


Gregoryan, segue abaixo exemplo de uma classe que uso para Fazer conexao com o banco, etc...

import dori.jasper.engine.JasperCompileManager;
import dori.jasper.engine.JasperReport;
import dori.jasper.engine.JRException;
import dori.jasper.engine.JasperExportManager;
import dori.jasper.engine.JasperFillManager;
import dori.jasper.engine.JREmptyDataSource;
import dori.jasper.engine.JasperPrint;
import dori.jasper.view.JasperViewer;

import java.util.HashMap;
import java.util.Map;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
* Realiza a leitura de um arquivo XML que representa o design de um
* relatório e cria um arquivo para jasper
*/
public class Teste{
public static void main(String args[]){
try{
// compila o arquivo xml para um arquivo jasper
JasperCompileManager.compileReportToFile("nomedoarquivo.xml", "classic.jasper");
JasperPrint print = JasperFillManager.fillReport("classic.jasper", getParameters(), getConnection());
// Exporta o arquivo compilado para um arquivo pdf
JasperExportManager.exportReportToPdfFile(print, "RelatorioProdutosDuto.pdf");

}catch(JRException jre){
jre.printStackTrace();
System.out.println("O Arquivo encontra-se aberto!!!!!!!");

}catch(ClassNotFoundException clazz){
System.out.println("Problemas para carregar o driver");

}catch(SQLException sql){
System.out.println("Problemas para abrir a conexão");

}
}
//aqui vc coloca os nomes da colunas de sua tabela
private static Map getParameters(){
Map valores = new HashMap();
valores.put("xxx" ,null);
valores.put("www" ,null);
valores.put("zzz" ,null);
return valores;
}

private static Connection getConnection()throws ClassNotFoundException, SQLException{
final String url = "coloque aqui a sua URL";
final String username = "";
final String password = "";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(url, username, password);
return conn;
}
}

Qlq. duvida estou a disposicao

Abraços

Rocha
Gregoryan
JavaBaby

Membro desde: 12/04/2004 09:34:10
Mensagens: 77
Localização: Recife
Offline

Brigadão Rocha...
nesta classe voce está compilando um .xml para um .jasper... blz..
isso eu tou fazendo pelo ireport...
agora o meu problema é de como usar um DataSource para controlar a SQL q passo para o relatório... achei um examplo aqui na empresa..



o problema eh como eh o corpo da classe dsTesteJasper para que funcione como DataSource?? sei q tem q implementar a interface JRDataSource...

entendesse?
[MSN] [ICQ]
brlima
Moderador
[Avatar]

Membro desde: 12/05/2003 14:03:38
Mensagens: 1537
Localização: São Paulo - SP
Offline

Dá uma lidinha nesse topido aqui.

Bruno R. Lima
-------------------------------------------
flickr :: twitter
[MSN]
Gregoryan
JavaBaby

Membro desde: 12/04/2004 09:34:10
Mensagens: 77
Localização: Recife
Offline

valeu kra..
descobri como se usa...
se alguem tiver dúvidas ... tow ake
falow!
[MSN] [ICQ]
mantabodyboarder
JavaBaby
[Avatar]

Membro desde: 14/05/2004 15:58:53
Mensagens: 85
Localização: São Bernardo do Campo - SP
Offline

Gregoryan wrote:valeu kra..
descobri como se usa...
se alguem tiver dúvidas ... tow ake
falow!


Eu estou procurando exatamente algo assim, como passar o resultado de uma query já executada para o relatório, sem ter que executar novamente esta query.

Alguem tem algum exemplo de com fazer isso?

Thanks

faloha

How can you say that I'm a fool when all I do is help
Well I guess I'm a fool but I know that I'm not your pawn
That feeling is dead and gone
[MSN] [ICQ]
brlima
Moderador
[Avatar]

Membro desde: 12/05/2003 14:03:38
Mensagens: 1537
Localização: São Paulo - SP
Offline

Cria um JRDataSource que receba um tablemodel entao, ou algo do tipo. Ai vc guarda teu resultado nele, e quando precisar imprimir eh so passar.

Eu disse um TableModel, pq eu usso ele mto, pois mts resultados eu exibo em uma JTable, dai pra imprimir eh so passar o TableModel dela


Flw!!!

Bruno R. Lima
-------------------------------------------
flickr :: twitter
[MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team