Popular Relatorio com ResultSet [RESOLVIDO]

3 respostas
A

Pessoal to tentanto gerar um relatorio porem o método que possuo para gerar o relatorio pede como parametro uma Collection, e eu preciso passar um ResultSet já que minha pesquisa JDBC me retorna uma ResultSet.

Alguma Sugestão?
Esse é o meu código.

System.out.println("Gerando relatório");
			ResultSet listaUs = new ProfessorRegimeDAO().consultarRelatorio(num);
		    FileInputStream f = null;
			f = new FileInputStream("relatorios/RelatorioFinal.jrxml");
			
			JasperReport pathjrxml = JasperCompileManager.compileReport(f);
			JasperPrint printReport = JasperFillManager.fillReport(pathjrxml, null, new JRBeanCollectionDataSource(listaUs));
			JasperViewer.viewReport(printReport,true);
			System.out.println("Relatorio gerado");

desde já Agradeço..

3 Respostas

E

Crie um método que pegue esse ResultSet, o percorra, e vá gerando um ArrayList com objetos. Um ArrayList é uma Collection.
Provavelmente você terá de criar uma classe bem boboca, só com os campos que serão necessários para o seu relatório.
Não tem mistério - é só você criar o método e ter um pouco de paciência.

EDIT - falei besteira, o JasperReports tem um método que aceita ResultSet :slight_smile:

Procure por JRResultSetDataSource

lele_vader

Você pode iterar o seu resultset e ir populando a sua lista.

Lembrando que o jasper também pode gerar relatórios baseados em consultas no banco, eu acho com jdbc mesmo.

Apesar de preferir o JRBeanCollectionDataSource

A

Ah beleza, consegui chamar o relatorio passando um parametro pra ele usando o SQL que tinha nele mesmo(jasper),
sem precisar passar o resulttado da consulta (ResultSet)…

Obrigado pela ajuda Pessoal.

Criado 6 de junho de 2012
Ultima resposta 6 de jun. de 2012
Respostas 3
Participantes 3