public JasperPrint gerarRelatorio(String jasper, HashMap parametros, String SQL) {
facade = Facade.getInstance();
try {
conexao = facade.conectar();
Statement stmt = conexao.createStatement();
ResultSet rs = stmt.executeQuery(SQL);
JRResultSetDataSource dataSource = new JRResultSetDataSource(rs);
System.out.println(dataSource.toString());
JasperPrint printer = JasperFillManager.fillReport(jasper, parametros, dataSource);
return printer;
} catch (JRException ex) {
System.out.println("Erro na geração do relatório");
} catch (SQLException ex) {
System.out.println("Erro com o banco");
}
finally {
facade.desconectar();
}
return null;
}
}
Mandei como parâmetro uma consulta SQL, que me retorna 3 registros. Testei o ResultSet, ele realmente pega os 3 regitros.
Mas quando o relatório é gerado, apenas 1 registro da minha consulta é impresso, alguém sabe porque isso?
O erro é no JRResultSetDataSource ou no xml?