Consultas no jasper Ireport

21/05/2008

3

Ola, alguem sabe como fazer para pegar um campo, dentro de uma SubDataset?

ou como fazer varias consultas SQL no mesmo relatorio?

Ex;

Total de Pessoas :200;
Total de Pessoas sem documento:33;
Total de Pessoas com documento:167;

..
Responder

Posts

21/08/2008

Mazzi

Po galera, ninguem ????
Responder

21/10/2008

Discorpio

Bom dia Mazzi.

Você pode parametrizar a SQL do seu relatório dentro do IReport

Como assim :?:

1º) Crie um parâmetro indo na barra de ferramentas a sua esquerda chamada de Estrutura do Documento, clicando com o botão direito do mouse em Parâmetro --> Add --> Parameter. Dê lhe o nome de SQL e o tipo escolha java.lang.String. Marque a opção ´Usar como sugestão´, esta opção lhe permite informar o valor desse parâmetro antes de executar o relatório dentro do IReport.

2º) Vá no menu superior do IReport em Data --> Query do Relatório e substitua a SQL do seu relatório pela expressão ´$P!´ e click em Ok. Só para testar execute o relatório dentro do IReport, e você verá que a Opção ´Usar como sugestão´ vai colocar uma caixa de diálogo para você informar o valor do Parâmetro SQL.

3º) Dentro do código Java, eu costumo mostrar os meus relatórios em formato PDF, isto porque eu utilizo muito aplicações JAVA - WEB - SERVLET, então passarei a você o código que é gerado em PDF e como se passa essa parâmetro SQL para dentro relatório. Antes porém voce terá que compilar o Relatório, e copiar para dentro da pasta do seu relatório, o arquivo como o nome do seu relatório e com a extensão *.Jasper, esse arquivo é gerado na pasta do IReport. Vamos ao código Java.

  public void Print() {
 
      Connection conn = MinhaConexao;

      Map param = new HashMap();
      param.put("SQL", "Select * From Tabela Where.......");

      byte[] bytes = new byte[0];
      bytes = JasperRunManager.runReportToPdf(path, param, conn);
      
      OutputStream out = new OutputStream();
      out.write(bytes);
      out.flush();
      out.close();
      
  }

Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira