1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Como passar o SQL com parametro do IReport para o java????

tenho um relatorio no IReport funcionando perfeitamente, gostaria de saber como faço pra passar o SQL com parametros para o java, pois o mesmo nao aceita $P{DATA_INICIAL} e $P{DATA_FINAL}.

Gostaria de saber como receber os dados para comparar as datas e assim passa-los para o SQL do relatorio.

SQL no Ireport

select compra.cod_compra, compra.data_compra, fornecedor.razao_social, compra.valor_total from compra, fornecedor where compra.fornecedor = fornecedor.cod_fornecedor and compra.data_compra between $P{DATA_INICIAL} AND $P{DATA_FINAL} ORDER BY COMPRA.DATA_COMPRA DESC

Tenho a seguinte classe para gerar os relatorios (sem parametros)

package relatorio;
import bd.BancoDados;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;

public class GerenciaRelatorio {

    private String geral;
    private String sql;

    public GerenciaRelatorio(String geral, String sql) {
        this.geral = geral;
        this.sql = sql;
    }

    public void Gerar() {
        try {
            Map parametros = new HashMap();
            Statement stmt = BancoDados.getConexao().createStatement();
            ResultSet rs = stmt.executeQuery(sql);
            JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);
            JasperReport relatorio = (JasperReport) JRLoader.loadObject(System.getProperty("user.dir") + "/src/relatorio/cidade/" + geral + ".jasper");
            JasperPrint impressao = JasperFillManager.fillReport(relatorio, parametros, jrRS);
            JasperViewer visualizador = new JasperViewer(impressao, false);
            visualizador.setVisible(true);
        } catch (Exception e) {
            JOptionPane.showConfirmDialog(null, "Erro de Gerencia no relatório");

            System.out.print(e);
            e.printStackTrace();
        }
    }
}

Gostaria de saber como faço a classe para gerar os relatorios com parametros e como passar o SQL para o java.

Vlw

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java java-ee ireport relatórios netbeans ou faça a sua própria pergunta.