Relatorio e subrelatorio

7 respostas
M

Fiz um relatorio no ireport q contem um subrelatorio, o relatorio principal seria o conhecimento, tipo uma nota fiscal, e o subrelatorio seria os itens conhecimento, tipo os itens dessa nota, quando compilo e executo esse relatorio no ireport , funciona perfeitamente , mas quando coloco esse relatorio para rodar na aplicacao, esta dando o seguinte erro:

12/05/2007 02:04:36 net.sf.jasperreports.engine.query.JRJdbcQueryExecuter <init>
WARNING: The supplied java.sql.Connection object is null.

esse e o metodo onde esta sendo gerado o relatorio:

public void relatorioConhecimento&#40;int codigo&#41; throws ClassNotFoundException, SQLException, JRException 
&#123; 

String sql="SELECT C.CODIGO ..."; 
String sql2="SELECT * ... "; 
String conhecimento="src/relatorio/conhecimento"; 
String itemconhecimento="src/relatorio/itemconhecimento"; 
Connection conn=null; 
PreparedStatement pstmt=null; 
ResultSet rs=null; 
JRResultSetDataSource jrRS =null; 

//RELATORIO ITEMCONHECIMENTO 
conn=Conexao.getConnection&#40;&#41;; 
pstmt=conn.prepareStatement&#40;sql2&#41;; 
pstmt.setInt&#40;1, codigo&#41;; 
rs=pstmt.executeQuery&#40;&#41;; 

jrRS = new JRResultSetDataSource&#40; rs &#41;; 
JasperFillManager.fillReportToFile&#40;itemconhecimento+".jasper", new HashMap&#40;&#41;, jrRS &#41;; 


//RELATORIO CONHECIMENTO 
conn=Conexao.getConnection&#40;&#41;; 
pstmt=conn.prepareStatement&#40;sql&#41;; 
pstmt.setInt&#40;1, codigo&#41;; 
rs=pstmt.executeQuery&#40;&#41;; 

jrRS = new JRResultSetDataSource&#40; rs &#41;; 
JasperFillManager.fillReportToFile&#40;conhecimento+".jasper", new HashMap&#40;&#41;,jrRS &#41;; 
JasperViewer.viewReport&#40;conhecimento+".jrprint", false,false &#41;; 

&#125;

Pesso a ajuda de vcs, pois so falta isso para eu finalizar meu projeto final na faculdade,
Desde ja agradeco

[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Erko[/color][/size] :joia:

7 Respostas

R

alguma stack trace no console ?

M

Somente esse erro mesmo
12/05/2007 02:04:36 net.sf.jasperreports.engine.query.JRJdbcQueryExecuter <init>
WARNING: The supplied java.sql.Connection object is null.

R

na execução de qual linha do código é impressa a msg no console ?

tente usar o fillReport e atribuir o retorno dele ao jrprint

jrprint = JasperFillManager.fillReport&#40;conhecimento+".jasper", new HashMap&#40;&#41;,jrRS &#41;;
M

O erro ocorre na linha

JasperFillManager.fillReportToFile&#40;conhecimento+&quot;.jasper&quot;, new HashMap&#40;&#41;,jrRS &#41;; JasperViewer.viewReport&#40;conhecimento+&quot;.jrprint&quot;, false,false &#41;;

R

vc tentou da maneira que eu falei ?

e vc informou duas linhas de código…

M

Valew galera , mas consegui resolver o problema utilizando um dataSource no subrelatorio em vez de conexao com o banco de dados, ai passei um arrayList nesse datasource

mas valew pela a ajuda

A

Caro colega,

Estou tentando aqui no forum, alguma dica para utilizar impressão a partir do Java. Não sei nada com relação a relatórios por aqui. É possivel me dar alguma dica?
Qual programa eu terei que instalar e como usar?

Ficarei muito garato,

Edson
[email removido]

Criado 12 de maio de 2007
Ultima resposta 19 de mai. de 2007
Respostas 7
Participantes 3