ola td bem? estou precisando de uma grande ajuda criei um filtro de relatorio mais a conexao…mais quero q retorne apenas os resultados da consulta que foi feita no filtro mais nao estou conseguindo…fiz o relatório no ireport ja… segue abaxo o meu código mais nao sei se tem q fazer algo no ireport o meu código é esse que segue abaixo…
minha conexao
[code]import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
public class RelatorioCliente
{
Connection con;
public JasperPrint gerarRelatorioCliente()
throws Exception
{ JasperPrint rel=null;
String url = "jdbc:postgresql://localhost:5432/TurmaN40";
try {
Class.forName("org.postgresql.Driver");
} catch(java.lang.ClassNotFoundException e1) {
System.err.print("ClassNotFoundException: ");
System.err.println(e1.getMessage());
}
try {
con = DriverManager.getConnection(url,"postgres", "postgres");
} catch(SQLException ex) {
System.err.print("SQLException: ");
System.err.println(ex.getMessage());
}
try { // Connection con = Conexao.criaConexao();
HashMap<String, JasperPrint> map= new HashMap<String, JasperPrint>();
map.put("data", rel);
String arquivoJasper= "C:\\vidracaria\\RelatoriodeCliente.jasper";
rel=JasperFillManager.fillReport(arquivoJasper,map,con);
con.close();
}
catch (JRException e)
{ e.printStackTrace();
}
return rel;
}
}[/code]
meu filtro
[code]import java.awt.;
import java.awt.event.;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.swing.*;
import Modelo.Cliente;
import Modelo.Compra;
import Modelo.Conta;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
//import controle.Utilitarios;
// Ctrl+Shift+F => Formata o código
// Ctrl+A e Ctrl+i => Formata a seleção
public class FiltroCliente extends JFrame {
private JLabel rotulo1;
private JTextField caixa1;
private JButton botao1;
private static EntityManagerFactory fabricaDeEntidades = null;
private static EntityManager gerenciador = null;
Cliente objetoCliente;
public FiltroCliente(EntityManagerFactory fabricaDeEntidades2, EntityManager gerenciador2) {
super("Filtrar Relatório Cliente");
Container tela = getContentPane();
tela.setLayout(null);
fabricaDeEntidades=fabricaDeEntidades2;
gerenciador=gerenciador2;
rotulo1 = new JLabel("Data:");
caixa1 = new JTextField();
botao1 = new JButton("Gerar Relatório");
// coluna, linha, largura, altura
rotulo1.setBounds(24, 19, 56, 20);
caixa1.setBounds(75, 19, 56, 20);
botao1.setBounds(24, 186, 70, 20);
//rotulo2.setBounds(24, 50, 100, 20);
//caixa2.setBounds(75, 50, 100, 20);
tela.add(rotulo1);
tela.add(caixa1);
//tela.add(rotulo2);
//tela.add(caixa2);
tela.add(botao1);
botao1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
RelatorioCliente rep = new RelatorioCliente();
objetoCliente =
(Cliente) gerenciador.createQuery(
"from Cliente pr WHERE pr.data = :data").setParameter("data", caixa1.getText()).getSingleResult();
JasperPrint relat;
try {
relat = rep.gerarRelatorioCliente();
JasperViewer.viewReport(relat, false);
} catch (Exception e1) {
e1.printStackTrace();
}
//
}
});
// setSize(largura, altura);
setSize(315, 350);
setVisible(true);
setLocationRelativeTo(null);
}
public static void main(String[] args) {
fabricaDeEntidades = Persistence
.createEntityManagerFactory("TurmaN40PostgreSQL");
gerenciador = fabricaDeEntidades.createEntityManager();
FiltroCliente app = new FiltroCliente(fabricaDeEntidades, gerenciador);
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}[/code]