Tenho um relatório chamado relBairro.jasper e não sei como chamar ele apartir de um botão na minha app desktop.
Estou usando netbeans 6.8 e MySQL.
obs: se puder colocar um exemplo eu agradeço.
Obrigado pela ajuda de todos!!
Tenho um relatório chamado relBairro.jasper e não sei como chamar ele apartir de um botão na minha app desktop.
Estou usando netbeans 6.8 e MySQL.
obs: se puder colocar um exemplo eu agradeço.
Obrigado pela ajuda de todos!!
CARA … NAO SEI SE VAI TE AJUDAR … MAS TA AQUI UM JEITO DE CHAMAR UM RELATORIO PASSANDO PARAMETRO
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Connection conn = null;
try {
//cria a conexao com o banco de dados
Class.forName("com.mysql.jdbc.Driver");
String db = "jdbc:mysql://localhost:3306/relatorios";
conn = DriverManager.getConnection(db, "root", "adminadmin");
System.out.println("Gerando relatórios ...");
System.out.println("ddddd" + System.getProperty("user.dir"));
HashMap<String, Integer> parameterMap = new HashMap<String, Integer>();
//nome do parametro e o valor eh passado ao HashMap
parameterMap.put("PAR_PEDID", 10249);
//PEGA O CAMINHO FISICO ATEH O ARQUIVO .jasper
String arquivo = "C:/Users/wagner/Documents/NetBeansProjects/TesteRelJasperReports/src/testereljasperreports/Relatorio_Imprimir.jasper";
//chama fillReport
JasperPrint jp = JasperFillManager.fillReport(arquivo, parameterMap, conn);
//exibe o relatorio com o viewReport
JasperViewer.viewReport(jp, false);
} catch (SQLException ex) {
ex.printStackTrace();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
} catch (JRException ex) {
ex.printStackTrace();
} finally {
try {
if (!conn.isClosed()) {
conn.close();
}
System.out.println("Finalizado!");
} catch (Exception e) {
}
}
}
}
sendo o arquivo Relatorio_Imprimir.jasper um relatorio jasperreport compilado …
caso nao tenha adicionado ainda os JARS necessarios para imprimir um relatorio JasperReports … sao esses :
commons-beanutils-1.8.2.jar
commons-collections-3.2.1.jar
commons-digester-1.7.jar
commons-javaflow-20060411.jar
commons-logging-1.1.jar
iText-2.1.7.jar
jasperreports-4.0.0.jar
no caso … utilizo o iReports4.0
No windows estes jars estao na pasta:C:\Program Files\Jaspersoft\iReport-4.0.0\ireport\modules\ext
URL arquivo = getClass().getResource(nome);
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(arquivo);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,map,local.abreConexao());
JasperViewer jrviewer = new JasperViewer(jasperPrint, false);
jrviewer.setTitle(titulo);
jrviewer.setVisible(true);
[quote=SamuelFFerreira]Tenho um relatório chamado relBairro.jasper e não sei como chamar ele apartir de um botão na minha app desktop.
Estou usando netbeans 6.8 e MySQL.
obs: se puder colocar um exemplo eu agradeço.
Obrigado pela ajuda de todos!!
[/quote]
cara, fiz meu projeto funcionar esses dias, vou colocar parte do meu codigo ,ai vc analisa o que vc precisa, eu criei meu projeto para abrir em pdf , mas ai vc decidi , tem o jasperviewer , tbm funciona, bom eu acho melhor em pdf.
[code] String driver = “org.firebirdsql.jdbc.FBDriver”; //Classe do driver JDBC
String url = “jdbc:firebirdsql:localhost/3050:C:\Sistema de Igreja\bd\IGREJA.GDB”;
String usuario = “SYSDBA”; //Usuário do banco
String senha = “masterkey”; //Senha de conexão
String d = cpCodigo.getText();
String rel = "C:/Sistema de Igreja/rel/imp/RelatorioMembros.jasper";
try {
Class.forName(driver); //Carrega o driver
//Obtém a conexão com o banco
Connection conn;
conn = (Connection) DriverManager.getConnection(url, usuario, senha);
String sql = "SELECT * FROM CADASTROMEMBROS WHERE CODIGO = " + d + "";
java.sql.Statement rec = conn.createStatement();
ResultSet rs = rec.executeQuery(sql);
if (rs.next()){
if (rs.getInt(6) == 4){ // obr
if(rs.getInt(5) == 2){ // ade
String nome = rs.getString(8);
String relatorio = "C:/Sistema de Igreja/rel/" + nome + ".pdf";
JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);
Map param = new HashMap();
param.put("COD" , Integer.toString(rs.getInt(1)));
param.put("NUM" , Integer.toString(rs.getInt(2)));
param.put("TIT" ,rs.getString(7));
param.put("ZONA" , Integer.toString(rs.getInt(3)));
param.put("SECAO" , Integer.toString(rs.getInt(4)));
param.put("NOME" , rs.getString(8));
param.put("CONJ" , rs.getString(9));
param.put("ENDERECO" , rs.getString(10));
param.put("CEP" , rs.getString(11));
param.put("BAIRRO" , rs.getString(12));
param.put("CIDADE" , rs.getString(13));
param.put("ESTADO" , rs.getString(14));
param.put("TELEFONE" , rs.getString(15));
param.put("NACIONAL", rs.getString(16));
param.put("METURAL" , rs.getString(17));
param.put("EMAIL" , rs.getString(18));
param.put("PROF" , rs.getString(19));
param.put("ESCOLA" , rs.getString(20));
param.put("CARTEIRA" , rs.getString(21));
param.put("ORIGEM" , rs.getString(22));
param.put("DATADE" , rs.getString(23));
param.put("CPF", rs.getString(24));
param.put("QIDADEUF" , rs.getString(25));
param.put("BATABA" , rs.getString(26));
param.put("QUALIG" , rs.getString(27));
param.put("SEDEIG" , rs.getString(28));
param.put("OBS" , rs.getString(29));
byte[] fto = rs.getBytes(30);
ByteArrayInputStream fto1 = new ByteArrayInputStream(fto);
param.put("FOTOOO", fto1);
param.put("FUNCAO","Obreiro");
param.put("RECEBIDO", "Adesão");
JasperPrint print = JasperFillManager.fillReport(rel, param, jrRS);
JasperExportManager.exportReportToPdfFile( print, relatorio );
java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
desktop.open(new File("C:\Sistema de Igreja\rel\" + nome + ".pdf"));
rs.close();
conn.close();
}[/code]