Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

brenocristovao

Ireport

Recommended Posts

bom dia !

 

bom... eu tenho usado alguns relatorio no ireports e tem funcionado tudo ok ! beleza !

 

eu ultilizo parametros.. como o exemplo a seguir :

 

SELECT a.NOME, t.MATRICULA, f.FALTA01

FROM SESPA_01_2007.dbo.TURMALU t LEFT OUTER JOIN

ALUNOSS a ON a.MATRICULA = t.MATRICULA INNER JOIN

FICHALU f ON f.TURMA = t.TURMA AND f.MATRICULA = t.MATRICULA

WHERE (f.COD_DISC = $P{COD_DISC}) AND (t.TURMA = $P{COD_TURMA})

ORDER BY a.NOME

 

beleza.. dai o que tem que ser feito... tem que criar os parametros no ireports e colocar o tipo dele ex:

 

COD_TURMA = java.lang.Integer

COD_DISC = java.lang.Integer

 

 

dai... o que preciso !

eu preciso de um parametro do tipo que ele pegua a base de dados... dai ficaria assim

 

 

SELECT a.NOME, t.MATRICULA, f.FALTA01

FROM $P(NOME DA BASE).dbo.TURMALU t LEFT OUTER JOIN

ALUNOSS a ON a.MATRICULA = t.MATRICULA INNER JOIN

FICHALU f ON f.TURMA = t.TURMA AND f.MATRICULA = t.MATRICULA

WHERE (f.COD_DISC = $P{COD_DISC}) AND (t.TURMA = $P{COD_TURMA})

ORDER BY a.NOME

 

alguem sabe se tem como fazer isto ??? pois este relatorio é para um sistema de notas de alunos.. .e dai cada periodo é uma base de dados com as mesmas tabelas...

 

 

att

Breno

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom dia !!

 

depois de muito tempo... conseguir resolver o problema e pelo que vi muitos colaboradores visitaram o post mas as vezes não tinham passado por este problema... então vai a solução ai para quem entendeu minha necessidade !!

 

 

 

Bom, não é possível utilizar este tipo de consulta dentro do Ireports... bom a solução e executar a consulta fora do relatório e passar o resultado na forma de ResultSet ou Lista para o relatório.

 

Bom depois de executar a consulta usando JDBC que você já tiver o ResultSet use o código abaixo:

view plaincopy to clipboardprint?

 

 

   1. JasperReport jasperReport = (JasperReport) JRLoader.loadObject (urlRelatorio);  
   2. jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, new JRResultSetDataSource(resultSet));  
   3. OutputStream outputStream = servletResponse.getOutputStream();  
   4. ByteArrayOutputStream baos = new ByteArrayOutputStream();  
   5. JRPdfExporter exporter = new JRPdfExporter();  
   6. exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);  
   7. exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);  
   8. exporter.exportReport();  
   9. byteStream = baos.toByteArray();  
  10. outputStream.write(byteStream);  
  11. outputStream.flush();  
  12. outputStream.close()

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.