Olá pessoal,
Estou tentando retornar um registro do BD para que eu posso apresentar em um JTable, o problema está no método que reune as informações em um ArrayList.
Tenho uma tabela Empresa e essa faz parte de uma tabela Ficha
Segue os métodos:
public ArrayList<Ficha> listar() {
ArrayList<Empresa> listEmpresa = new ArrayList<Empresa>();
ArrayList<Setor> listSetor = new ArrayList<Setor>();
ArrayList<Cargo> listCargo = new ArrayList<Cargo>();
ArrayList<EPI> listEpi = new ArrayList<EPI>();
DAOEmpresa daoEmpresa = new DAOEmpresa();
DAOSetor daoSetor = new DAOSetor();
DAOCargo daoCargo = new DAOCargo();
DAOEpi daoEpi = new DAOEpi();
try {
prepared = con.prepareStatement("SELECT * FROM FICHA");
ResultSet rs = prepared.executeQuery();
listFicha = new ArrayList<Ficha>();
while ( rs.next() ) {
Ficha ficha = new Ficha();
ficha.setCodigo(rs.getLong("CODIGO"));
long empresaCodigo = rs.getLong("EMPRESA");
//Problema está ocorrendo na linha abaixo
Empresa empresa = daoEmpresa.getEmpresaId(empresaCodigo);
ficha.setEmpresa(empresa);
empresa = null;
daoEmpresa = null;
listFicha.add(ficha);
ficha = null;
}
Classe DAOEmpresa
public Empresa getEmpresaId(long id) {
try {
Empresa empresa = new Empresa();
prepared = con.prepareStatement("SELECT * FROM EMPRESA WHERE CODIGO = ? ");
prepared.setLong(1,id);
ResultSet rs = prepared.executeQuery();
while( rs.next() ) {
empresa.setCodigo(rs.getLong("CODIGO"));
empresa.setEmpresa(rs.getString("EMPRESA"));
empresa.setEndereco(rs.getString("ENDERECO"));
empresa.setNumero(rs.getString("NUMERO"));
empresa.setBairro(rs.getString("BAIRRO"));
empresa.setCidade(rs.getString("CIDADE"));
empresa.setEstado(rs.getString("UF"));
} // fim do while
return empresa;
} catch(Exception e) {
e.printStackTrace();
return null;
} finally {
closeBD();
}
} // fim do método getEmpresaID
Alguém poderia me ajudar
Obrigado