Como chamar relatorio em minha aplicaÇÃo?

BOA TARDE!!
AMIGOS!!

JA FIZ UM RELATORIO  NO IREPORT CONECTADO HA UMA BASE DE DADOS.
 COMO FAÇO PARA CHAMAR ESTE RELATÓRIO EM MINHA CLASSE NO JAVA???
 JA TESTEI MINHA APLICAÇÃO A CONEXÃO ESTA FUNCIONANDO TUDO OK, OS DADOS ESTÃO EXIBINDO JTEXTFIELD.

AGRADEÇO QUEM PUDER ME AJUDAR…

GRATO

ELIAS

Olá ELIASRS

Você pode usar o seguinte código para chamar um relatório feito com o JasperReports:

JasperPrint print = JasperFillManager.fillReport(endereco_relatorio, params,
        conexao);
JasperViewer.viewReport(print, false);

Onde:
endereco_relatorio é uma String com o endereço do relatório (o arquivo compilado, .jasper);
params é um mapa contendo os parâmetros que vão ser usados no relatório (nome -> valor). Se você não for usar nenhum parâmetro, pode passar null;
conexao é um objeto java.sql.Connection que deve conter uma conexão válida com um banco de dados;

E o segundo atributo do método viewReport é indicando se o programa inteiro deve ser finalizado quando a pessoa fechar o seu relatório. É meio estranho mesmo… nunca precisei disso :razz: Por isso eu coloquei false.

Ah, e evite escrever em fóruns com tudo em maiúsculo, porque parece que você tá gritando com a gente, ok? :wink:

Até mais,

Ola

Espero que esteja utilizando o jasperrports 1.2.0 ou superior
e a connection do bando de dados.

------------------- olha ai ------------
import java.io.IOException;
import java.io.StringReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;

import javax.swing.text.BadLocationException;
import javax.swing.text.rtf.RTFEditorKit;

import net.sf.jasperreports.engine.JasperManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.view.JasperViewer;

/* Primeira parte */
public class RelatorioLaboratorio {

private Connection con = null;
private String driver = “oracle.jdbc.driver.OracleDriver”;
private String endereco = “enderecoBanco”;
private String user = “usuarioBanco”;
private String pass = “senhaBanco”;
private ResultSet rs = null;
private String valores[] = new String[10];
private int chamada = 1;
private String dir = “local onde está o arquivo do relatorio”;
private StringReader stream;
/*Segunda parte */

public RelatorioLaboratorio() {
/* Efetua a conexao a base de dados e coleta os valores da base de dados armazenando-os
em um array para ser futuramente utilizado /
try {
if (con == null) {
Class.forName(driver);
con = DriverManager.getConnection(endereco, user, pass);
Statement statement = con.createStatement();
rs = statement.executeQuery(“select a ser executado”);
HashMap teste = new HashMap();
while(rs.next()) {
//for até o numero de campos da tabela
for (int i = 1; i < 10; i++) {
valores[i] = rs.getString(i);
}
}
}
}
catch (Exception e) {
System.err.println(“Problemas apresentados na operacao de conexao”);
e.printStackTrace();
}
/
Inicio do bloco que ira gerar nossos relatorios e 3ª parte /
try {
String array[] = valores;
JasperDesign design = JasperManager.loadXmlDesign(dir + “NomeDoRelatorio.jrxml”);
JasperReport jr = JasperManager.compileReport(design);
HashMap parameters = new HashMap();
parameters.put(“PARAMETRO_1”,array[1]);
parameters.put(“PARAMETRO_2”, array[2]);
parameters.put(“PARAMETRO_3”, array[5]);
parameters.put(“PARAMETRO_4”, array[4]);
parameters.put(“PARAMETRO_5”,array[9]);
JasperPrint impressao = JasperManager.fillReport(jr,parameters,con);
JasperViewer jrviewer = new JasperViewer(impressao,false);
jrviewer.show();
}
catch (Exception e) {
e.printStackTrace();
}
}
/
Aqui chamamos o construtor de nossa classe para exibirmos o relatorio e 4ª parte*/
public static void main (String args[]) {
new RelatorioLaboratorio();
System.out.println(“ok”);
}
}


nao esqueca de criar o CLASSPATH

espero ter ajudado

Lindberg