Ireport com clausula where

0 respostas
rafa27187

Pessoal to precisando montar um relatório no Ireport. A primeira parte eu já consegui por exemploo: select * from livros; POrém eu queria passar um parâmetro por JTextField ele ele filtrar o relatório através do que eu passei no JTextField.

Aqui está o meu código:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

import java.util.HashMap;
import net.sf.jasperreports.engine.JasperManager;

import net.sf.jasperreports.engine.JasperPrint;

import net.sf.jasperreports.engine.JasperReport;

import net.sf.jasperreports.engine.design.JasperDesign;

import net.sf.jasperreports.view.JasperViewer;
/* Primeira parte */

public class Bancos

{

private Connection con = null;

private String driver = com.mysql.jdbc.Driver;

private String endereco = jdbc:mysql://localhost/malvezzi”;

private String user = malvezzi;

private String pass = malvezzi;

private ResultSet rs = null;

private String valores[] = new String[11];

private String dir = C:/Documents and Settings/Malvezzi/Meus documentos/NetBeansProjects/MalvezziFinanceiro/src/aplicacao/Relatorios/;

/*Segunda parte */
public Bancos()

{

/* Efetua a conexao a base de dados e coleta os valores da base de dados armazenando-os

em um array para ser futuramente utilizado <em>/

try

{

if (con == null)

{

Class.forName(driver);

con = DriverManager.getConnection(endereco, user, pass);

Statement statement = con.createStatement();

rs = statement.executeQuery(“SELECT * FROM conta”);

HashMap teste = new HashMap();

while(rs.next()) {

//for até o numero de campos da tabela

for (int i = 1; i < 4; i++) {

valores[i] = rs.getString(i);

}

}

}

}

catch (Exception e) {

System.err.println(“Problemas apresentados na operacao de conexao”);

e.printStackTrace();

}

/</em> Inicio do bloco que ira gerar nossos relatorios e 3ª parte */

try {

String array[] = valores;

JasperDesign design = JasperManager.loadXmlDesign(dir + Bancos1.jrxml);

JasperReport jr = JasperManager.compileReport(design);

HashMap parameters = new HashMap();

parameters.put(PARAMETRO,array[0]);

parameters.put(PARAMETRO, array[1]);

parameters.put(PARAMETRO, array[2]);

parameters.put(PARAMETRO, array[3]);
JasperPrint impressao = JasperManager.fillReport(jr,parameters,con);
     JasperViewer jrviewer = new JasperViewer(impressao,false);
     jrviewer.show();
  }
  catch (Exception e) {
     e.printStackTrace();
  }
}

public static void main(String args[])

{

Bancos p = new Bancos();

}

}
Criado 28 de abril de 2009
Respostas 0
Participantes 1