Então pessoal estou fazendo um relatório para meu TCC no iReport-nb-3.6.1, mas não estou conseguindo abrir eles no NetBeans 6.8.
Quando vou no menu do meu programa e clico no relatório, simplesmente abre uma janela escrito “Informação do Sistema” sem nenhuma mensagem.
Aqui esta meu Fonte do Relatório:
[code]public class UtilRel {
private static Connection getConexaoJDBC() {
Connection con = null;
Map map = Dao.getPropriedadeConexao();
String driver = (String) map.get(“hibernate.connection.driver_class”);
String url = (String) map.get(“hibernate.connection.url”);
String usuario = (String) map.get(“hibernate.connection.username”);
String senha = (String) map.get(“hibernate.connection.password”);
try {
Class.forName(driver);
con = DriverManager.getConnection(url, usuario, senha);
} catch (Exception e) {
Util.mensagem("Conexao com o banco de Falhou" + e.getMessage());
}
return con;
}
public static void visualizar(String arquivoDeRelatorio){
try {
HashMap map = new HashMap();
JasperPrint relatorio = JasperFillManager.fillReport(arquivoDeRelatorio, map, getConexaoJDBC());
JasperViewer.viewReport(relatorio, false);
}catch(Exception e){
Util.mensagem(e.getMessage());
}
}
}
[/code]
E aqui o fonte do controlador.
[code]public class RelCidadeController {
public RelCidadeController() {
}
public void visualizar() {
UtilRel.visualizar(“src/relatorios/RelatorioCidade.jasper”);
}
}[/code]
Desde de já Obrigado!
Fala garoto…
O que eu tenho aqui, to usando assim:
InputStream entrada = getClass().getResourceAsStream("/pasta/relatorio.jasper");
JasperReport relatorio = (JasperReport) JRLoader.loadObject(entrada);
// params => eh um HashMap com os parametros
// conexao => a sua conexao com o bd
JasperPrint imp = JasperFillManager.fillReport(relatorio,params,conexao2);
JasperViewer ver = new JasperViewer(imp,false);
Abraco!
Já tentou debugar? Qual o erro que executa?
Alterei meu Dao e agora aparece a seguinte mensagem na Janela de Informação do Sistema: org.postgresql.jdbc4.Jdbc4Connection cannot be cast to java.util.Map
Meu Dao é o seguinte:
[code] private static EntityManagerFactory emf = null;
private static EntityManager em = null;
private static HashMap propConexao = null;
private static EntityManager getEm(){
if(em == null){
try{
propConexao = new HashMap();
propConexao.put("hibernate.connection.driver_class", "org.postgresql.Driver");
propConexao.put("hibernate.connection.url", "jdbc:postgresql://localhost/BancoTeste");
propConexao.put("hibernate.connection.username", "postgres");
propConexao.put("hibernate.connection.password", "senha");
emf = Persistence.createEntityManagerFactory("BancoTestePU");
// Instancia um objeto EntityManager
em = emf.createEntityManager();
}catch (Exception e){
System.out.println(e.getMessage());
}
}
return em;
}
// abrindo uma conexão
public static void conectar(){
getEm();
}
//método ultilizado para iniciar uma transação
public static void startTransaction(){
getEm().getTransaction().begin();
}
//método utilizado para confirmar uma transação aberta
//gravando assim definitivamente os registros no banco de dados
public static void commitTransaction(){
getEm().getTransaction().commit();
}
//método utilizado para desfazer os comandos realizados desde quando
// a transação foi aberta
public static void rollbackTransaction(){
getEm().getTransaction().rollback();
}
//método persiste (grava) um objeto no banco de dados
//é necessario a utilização de transação
public static void persist(Object obj){
try{
startTransaction();
getEm().persist(obj);
commitTransaction();
}catch (Exception e){
System.out.println(e.getMessage());
rollbackTransaction();
}
}
//métodos busca no banco de dados um objeto com a chave primária conforme
//passada por parêmetro
public static Object find(Class classe, Object pk){
try{
return getEm().find(classe, pk);
}catch (Exception e){
System.out.println(e.getMessage());
}
return null;
}
//método remove um objeto no banco de dados
public static void remove(Object obj){
try{
startTransaction();
getEm().remove(obj);
commitTransaction();
}catch (Exception e){
System.out.println(e.getMessage());
rollbackTransaction();
}
}
//método que executa um select passando como parâmetro
public static List select (String sql){
Query query = getEm().createQuery(sql);
return query.getResultList();
}
public static EntityManager getEntityManager(){
return getEm();
}
public static HashMap getPropriedadeConexao() {
return propConexao;
}
}
[/code]
Pessoal consegui resolver já, mas Obrigado pelas dicas.
Ele estava caindo direto no catch.
Obrigado!