Pessoal,
Estou começando a trabalhar com o JasperReport e estou com várias dúvidas.
Uma delas é:
Eu inclui uma consulta com todos os campos do cabeçalho da nota, esta consulta traz apenas 1 linha, então inclui em Page Header.
Agora, preciso incluir uma segunda consulta, com os itens desta nota em Detail1, mas como coloco esta segunda consulta?
Agradeço desde já…
Você pode usar Subreport ou passar como parametro uma list com os dados da consulta e usar um JRBeanCollectionDataSource
Vou pesquisar sobre isso e retorno, obrigado!
Pessoal, eu tentei fazer com subreport, porém estou fazendo o seguinte processo.
1- No relatório master, eu incluo o subreport em Detail1
2 - Na inclusão estou fazendo o seguinte:
2.1 - Criar um novo Report - Próximo
2.2 - Layout Blank A4 - Próximo
2.3 - Informo a query e o banco - Próximo
2.4 - Seleciono os campos - Próximo
2.5 - Não agrupo - Próximo
2.6 - Coloco o nome - Próximo
2.7 - Uso a mesma conexao do relatório master - Fanalizo
3 - No subrelatório, eu incluo um Static text em Detail1 só para testar
4 - Mando visualizar meu subrelatório e aparece o texto ok
5 - Volto ao relatório master e mando visualizar, porém o relatório não gera, e recebo a seguinte mensagem:
Error filling print… Error executing SQL statement for : null
net.sf.jasperreports.engine.JRException: Error executing SQL statement for : null at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:229) at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:731) at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:629) at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1159) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:802) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:746) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247) at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:879) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:577) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1030) Caused by: java.sql.SQLException: Incorrect syntax near ‘.’. at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368) at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2820) at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2258) at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:632) at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:477) at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:776) at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:222) … 11 more
Print not filled. Try to use an EmptyDataSource…
A consulta esta certa e retorna dado.
E ai…alguem sabe o que tenho que fazer?