NullPointerException

3 respostas
nandobgi

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

3 Respostas

deniswsrosa

em qual linha tah sendo gerada a exeção???

nandobgi

Nessa linha,

Empresa empresa = daoEmpresa.getEmpresaId(empresaCodigo);

nandobgi

Resolvido já, obrigado

Eu estava setando a ref. do objeto empresa para null dentro do laço

[ ]'s

Criado 20 de setembro de 2006
Ultima resposta 20 de set. de 2006
Respostas 3
Participantes 2