Duvida em gerar SubRelatório no Ireport

393 views
Skip to first unread message

Georgy Cristino

unread,
Dec 1, 2007, 11:18:21 AM12/1/07
to javano...@googlegroups.com

Olá javeiros!

é o seguinte...
estou com problema em gerar um subrelatório no iReport!
No iReport ele tá executando certinho, imprime o Relatório e o Subrelatório normalmente.
O Problema é que quando vou executar os " .jasper" através da minha classe Relatorio.java, ele dá o seguinte erro:
01/12/2007 12:43:06 net.sf.jasperreports.engine.query.JRJdbcQueryExecuter <init>
WARNING: The supplied java.sql.Connection object is null.

por favor, alguém tem alguma idéia de como resolver?
estou precisando muito resolver esse problema.

desde já agradeço.

[]'s


//classes

//classe Relatorio
//imports aqui!
public class Relatorio {
 private static final String pathReport = "Relatorio_Teste.jasper";
 private static final String pathSubReport = "Relatorio_Teste_Sub.jasper";
 
 JasperPrint relatorio = null;
 static PreparedStatement st = null;
 static ResultSet rs = null;
 Map parametros;
 
 public void geraRelatorio(String id) throws JRException, Exception{  
  st = Conexao.getConexao().prepareStatement(
    "select * from tbconvenio where id_convenio = '"+id+"'");
  rs = st.executeQuery();
  
  JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );
  
  parametros = new HashMap();
  parametros.put("SUBREPORT_DIR", pathSubReport);
  
  JasperReport jasperReport = (JasperReport)JRLoader.loadObject(pathReport);
  
  relatorio = JasperFillManager.fillReport (jasperReport, parametros, jrRS);
  JasperViewer viewer = new JasperViewer(relatorio, false);
     viewer.setVisible(true);
    
     Conexao.fecharConexao();
 }

 public static void main(String[] args){
  Relatorio rel = new Relatorio();
  
  try {
   rel.geraRelatorio("012002");
  }catch (Exception e) {
   e.printStackTrace();
  }
 }
}

//classe Conexao
//imports aqui!
public class Conexao {
 private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";                             
 private static final String DATABASE_URL = "jdbc:mysql://localhost/dbconvenio";
 public static Connection connection = null;
  
 public static Connection getConexao(){
  try{
   if(connection == null){
       Class.forName(JDBC_DRIVER);
       connection = DriverManager.getConnection (DATABASE_URL, "georgy", "georgy");
       System.out.println ("Banco Conectado");
   }
  }
  catch(java.lang.ClassNotFoundException erroClass){
   erroClass.printStackTrace();
   mensagemErro(); }
  catch(SQLException sqlex){
   sqlex.printStackTrace();
   mensagemErro(); }
  
  return connection;
 }
 
 public static void fecharConexao(){
  try{
   if(connection != null){
      connection.close();
      connection = null;
      System.err.println ("Banco DesConectado");
   }
  }
  catch(Exception ex){
   ex.printStackTrace();
   mensagemErro(); }
 }

 private static void mensagemErro(){
  JOptionPane.showMessageDialog(null, "Erro na Conexão com o Banco de Dados", "ERRO", 0,
    new ImageIcon("imagens/imgerro.png"));
 }
}

Thiago Galbiatti Vespa

unread,
Dec 2, 2007, 8:24:32 AM12/2/07
to javano...@googlegroups.com
A conexão que vc tá passando é inválida.
--
Thiago Galbiatti Vespa
Reply all
Reply to author
Forward
0 new messages