Bom dia a todos! Sei que já existem tópicos sobre esse assunto, mas de TODOS que eu já acessei, não consegui resolver meu problema. Sou novo em Java e estou com problemas para passar parâmetros para o iReport. Estou enviando o trecho do meu código, onde os parâmetros teriam que ser passados.
public void abrirRelatorioCondominos()throws SQLException, ClassNotFoundException{
// exemplo para criar um ResultSet
Relatorio r = new Relatorio();
Connection conn = null;
Class.forName(DRIVER);
System.out.println("Driver registrado.");
conn = DriverManager.getConnection(URL, USUARIO, SENHA);
System.out.println("Conectado ao banco.");
String SQL = ("select condominio, bloco, unidade, nome from cndunida where condominio LIKE ? order by condominio,bloco,unidade");
PreparedStatement stm = conn.prepareStatement(SQL);
stm.setString(1, jtxtCondominio.getText());
ResultSet resultSet = stm.executeQuery();
JRResultSetDataSource jrRS = new JRResultSetDataSource(resultSet); // cria o JRResultSetDataSource passando o ResultSet
Map<String,String> parametros = new HashMap<String,String>();
//InputStream relatorio = this.getClass().getResourceAsStream("/Condominos2.jasper"); // coloque o endereço corretamente aonde esta o seu relatório
InputStream inputStream = getClass().getResourceAsStream( "/Condominos2.jasper" );
while(resultSet.next()){
//Map parametros = new HashMap();
parametros.put("condominio_num", ""+jtxtCondominio.getText()+"%");
}
try{
ReportUtils.openReport("Condominos2", inputStream, parametros, Conexao.getConexao());
}catch(SQLException ex){
ex.printStackTrace();
}catch(JRException e){
e.printStackTrace();
}
}
Esse é o último modo que eu tentei utilizar e não retorna nada!
Ora retorna NullPointerException, ora net.sf.jasperreports.engine.JRException: Error executing SQL statement for : report name
Não sei mais o que fazer! Estou precisando entregar esse projeto o mais rápido possível, me ajudem por favor!
Os dados terão de ser carregados de uma interface. Segue em anexo o print dela.