Bom dia!
Estou tentando fazer um relatório com subrelatório em Java e IReport, mas não estou conseguindo chamar o subrelatório.
O meu relatório principal se chama compras e o subrelatorio comprassubrelatorio, o relatório está sendo filtrado pelo número do pedido “getPedComCodigo()”, no IReport funciona, mas cahamando pelo Java, não funciona.
Preciso de Ajuda, Obrigado
public void relatorioPedidoCompras(PedidoCompraVO q) throws ClassNotFoundException, SQLException, JRException
{
String pdf = "c:\geff\relatorios\compras.pdf";
String relat = "c:\geff\relatorios\compras.jasper";
String relatsub = "c:\geff\relatorios\comprassubrelatorio.jasper";
String driver = "org.postgresql.Driver";
String url = "jdbc:postgresql://"localhost":5432/geff";
String login = "Alex";
String senha = "mattos";
Class.forName(driver);
Connection conn = DriverManager.getConnection(url,login,senha);
conn.setAutoCommit(false);
PreparedStatement consulta = conn.prepareStatement( "SELECT p.pedcomcodigo, p.pedcomdata, c.clinome, p.pedcomvaltotal, p.pedcomcondpagamento, p.pedcompraentrega, p.pedcomfrete, p.pedcomimpostos, p.pedcomobservacoes, p.pedresponsavel FROM pedidocompra p,clientes c WHERE p.clicodigo=c.clicodigo and p.pedcomcodigo='"+q.getPedComCodigo()+"';");
ResultSet rs = consulta.executeQuery();
JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);
PreparedStatement consulta2 = conn.prepareStatement( "SELECT DISTINCT i.procodigo, i.itepedcomdescricao, i.itepedcomquantidade, i.itepedcomunidade, i.itepedcomvlrunitario, i.itepedcomvlrtotal FROM itenspedcompra i, pedidocompra p WHERE i.pedcomcodigo='"+q.getPedComCodigo()+"';");
ResultSet rs2 = consulta2.executeQuery();
JRResultSetDataSource jrRSS = new JRResultSetDataSource(rs2);
HashMap parameters = new HashMap();
parameters.put("SUBREPORT_DIR", relatsub);
parameters.put("REPORT_CONNECTION",jrRSS);
String impressao = JasperFillManager.fillReportToFile(relat, parameters, jrRS );
JasperViewer.viewReport("c:\geff\relatorios\compras.jrprint",false,false);
JasperExportManager.exportReportToPdfFile(impressao, pdf);
conn.rollback();
consulta.close();
}
erro:
Erro Incompatible net.sf.jasperreports.engine.JRResultSetDataSource value assigned to parameter REPORT_CONNECTION in the compras dataset.