Tenho esse código que chama um relatorio com tres campos criados como PARAMETER no IREPORT. codigo, descricao e emUso.
No fillreport, ele está me retornando NullPointer Exception por causa da tal HashTable, acho eu. Alguem tem alguma luz pra lançar sobre meu problema?
try{
//captura os dados na tabela em MySQL
//e retorna em um vetor
Vector filtro = dbTipoEquipamento1.TipoEquipamentoFiltrar();
Hashtable parametros = new Hashtable();
TipoEquipamento registroLocalizado;
// Acresce os parametros conforme os registros
// que forem sendo encontrados no loop
// Tenho minhas dúvidas quanto a essa parte do código
for (int contador=0; (contador<=filtro.size()-1); contador++){
registroLocalizado = (TipoEquipamento) filtro.get(contador);
int codigo;
String descricao, emUso;
codigo = registroLocalizado.getCodigo();
descricao = registroLocalizado.getDescricao();
emUso = registroLocalizado.getEmUso();
parametros.put("codigo",String.valueOf(codigo));
parametros.put("descricao",descricao);
parametros.put("emUso",emUso);
}
JasperReport relatorio = JasperCompileManager.compileReport("C:\\TiposEquipamento.jrxml");
JasperPrint impressao = JasperFillManager.fillReport(relatorio, parametros, (new JREmptyDataSource()));
JasperViewer view = new JasperViewer(impressao);
view.setVisible(true);
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, "Não foi possível a processar o relatório.\nMotivo:"+e.getMessage());
}
Aqui vai o erro retornado.
Tenho uma incerteza quanto aos parametros, mas não consegui esclarecê-las em nenhum tutorial que encontrei pela net. Se alguem puder me ajudar, ficarei muito agradecido e até pago uma cerveja se morar em Porto Alegre, hehehehehe…
Desde já agradeço
Bonissauro