Olá galera
Como eu faço pra passar 2 SQL pro relatório
Exemplo:
eu tenho no relatório 2 campos NOME e DESCRICAO
essa SQL preenche o campos
[code]
“SELECT t.nomeDescricao, d.descricao FROM tiposDescricao t, descricoes d WHERE d.codTipoDescricao = t.codTipoDescricao AND d.codTipoDescricao = 2 AND codInspecao = 2 AND codComponente = 2 AND codPeriferico = 2 AND codSub = 2”[/code]
certo com essa SQL eu preenche umá página
ae pra outra página eu preciso adicionar mais uma sql
"SELECT t.nomeDescricao, d.descricao FROM tiposDescricao t, descricoes d WHERE d.codTipoDescricao = t.codTipoDescricao AND d.codTipoDescricao = 1 AND codInspecao = 1 AND codComponente = 1 AND codPeriferico = 1 AND codSub = 1"
ou seja a mesma sql com valores diferentes, cada SQL que eu passar vai preencher uma página
A classe que chama o relatório é essa, tem umas linhas comentadas com uma solução que eu não entendi direito e deu erro
[code]
public void gerar( String jasperFile ) throws JRException , SQLException, ClassNotFoundException {
Class.forName( driver );
Connection con = DriverManager.getConnection( url , login , pwd );
Statement stm = con.createStatement();
String sql = "SELECT t.nomeDescricao, d.descricao FROM tiposDescricao t, descricoes d WHERE d.codTipoDescricao = t.codTipoDescricao AND d.codTipoDescricao = 1 AND codInspecao = 1 AND codComponente = 1 AND codPeriferico = 1 AND codSub = 1";
String sql1 = "SELECT t.nomeDescricao, d.descricao FROM tiposDescricao t, descricoes d WHERE d.codTipoDescricao = t.codTipoDescricao AND d.codTipoDescricao = 2 AND codInspecao = 2 AND codComponente = 2 AND codPeriferico = 2 AND codSub = 2";
ResultSet rs = stm.executeQuery( sql );
/*ArrayList<String> numPaginas = new ArrayList<String>();
numPaginas.add(sql);
numPaginas.add(sql1);*/
//implementação da interface JRDataSource para DataSource ResultSet
//JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(numPaginas);
JRResultSetDataSource jrRS = new JRResultSetDataSource( rs );
Map<String, String> parametro = new HashMap<String, String>();
parametro.put("nomeEclusa", "BARRA BONITA");
parametro.put("nomeCadastro", "INSPEÇÃO");
parametro.put("data", "08/02/2002");
parametro.put("data1", "09/02/2002");
parametro.put("nomeEstrutura", "PORTA JUSANTE");
parametro.put("nomeComponente", "PORTA JUSANTE PARTE 1");
parametro.put("nomeItem", "PORTA JUSANTE PARTE 11");
/* Preenche o relatório com os dados. Gera o arquivo BibliotecaPessoal.jrprint */
//JasperFillManager.fillReportToFile( jasperFile, parametros, jrRS );
/* Exporta para o formato PDF */
//JasperExportManager.exportReportToPdfFile( "teste.jrprint" );
JasperPrint jp = JasperFillManager.fillReport(jasperFile, parametro, jrRS);
JasperViewer.viewReport(jp, false);
}[/code]
Atenciosamente