NullPointerException

6 respostas
ricardocomp

Olá pessoal,
eu estou recebendo toda hora um NullPointerException
aqui, e não sei onde deve estar essa referencia nula
será q te como qlguém me dar uma ajuda Fazendo o Favor?

O meu código está dessa maneira:

public class TesteEndereco {
    
    public static void main(String[] args){

        Endereco endereco1 = new Endereco();
        
        EnderecoDao enderecoDao = new EnderecoDao();
        
        try {                                                
            endereco1.setRua("rua1");
            endereco1.setNumero(1);
            endereco1.setBairro("Centro");
            endereco1.setCidade("Lavras");
            endereco1.setEstado("Minas Gerais");
            endereco1.setCep("37200-000");
            endereco1.setUf("MG");
            int idEndereco = enderecoDao.salvarEndereco(endereco1);
            System.out.println("Endereco 1 = " + idEndereco);
            System.out.println("Endereco 1 Cadastrado com Sucesso!");            

        } catch (LAFQADaoException ex) {
            System.out.println("Falha ao cadastrar o usuário!");
            Logger.getLogger(TesteEndereco.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

Será que tem como alguém me dar uma ajuda?
[]'s.

6 Respostas

ricardocomp

A mensagem do NullPointer:

init:
deps-jar:
Compiling 1 source file to C:\Documents and Settings\Ricardo\Meus documentos\NetBeansProjects\LAFQA\build\classes
compile:
run:
Falha ao cadastrar o usuário!
18/09/2009 22:04:31 lafqa.TesteEndereco main
SEVERE: null
dao.LAFQADaoException: Erro ao inserir dados
java.lang.NullPointerException
        at dao.EnderecoDao.salvarEndereco(EnderecoDao.java:47)
        at lafqa.TesteEndereco.main(TesteEndereco.java:41)
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)

[]'s.

F

Acho que a referencia nula esta no metodo “salvarEndereco”, posto o codigo fonte de EnderecoDao ae.

ricardocomp

Jóia Felipe?
O código do salvar Endereco está aqui
eu consegui arrumar o problema de refêrencia aqui
debugando o meu código, o problema agora é que
não consigo retornar o id do Endereco cadastrado,
você ou alguém Felipe poderia me dar uma ajudinha?

public int salvarEndereco(Endereco endereco) throws LAFQADaoException {

        PreparedStatement ps = null;
        Connection conn = null;

        if (endereco == null)
            throw new LAFQADaoException("o valor passado não pode ser lido");

        try {

            String sql = "INSERT INTO endereco(rua, numero, bairro, " +
                    "cidade, estado, cep, uf) VALUES(?,?,?,?,?,?,?)";

            conn = this.conn;
            ps = conn.prepareStatement(sql);
            ps.setString(1, endereco.getRua());
            ps.setInt(2, endereco.getNumero());
            ps.setString(3, endereco.getBairro());
            ps.setString(4, endereco.getCidade());
            ps.setString(5, endereco.getEstado());
            ps.setString(6, endereco.getCep());
            ps.setString(7, endereco.getUf());
            ps.executeUpdate();
            //Retorna o id do endereco cadastrado
            return ps.; // ???
        }
        catch (Exception sqle) {
            throw new LAFQADaoException("Erro ao inserir dados\n" + sqle);

        } 
        finally {
            try {
                ConnectionFactory.closeconnection(conn, ps);
            }
            catch (SQLException ex) {
                Logger.getLogger(ProdutorDao.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }

Abraço e Obrigado pela ajuda.

ironpoa

Posta o DAO inteiro aí cara.
Tá dando erro na tua linha 47.

ironpoa

[code]Logger.getLogger(ProdutorDao.class.getName()).log(Level.SEVERE, null, ex);

Acho que o erro ta aí, tu tah trabalhando com a classe EnderecoDao e tá logando ProdutorDao?

Copy/paste #fail

hehehehehhehehe

S

Olá Ricardo

Vc pode postar o código da classe na qual vc está tentando persistir os dados na tabela. Talvez eu possa lhe ajudar. Um abraço

Marcelo

Criado 18 de setembro de 2009
Ultima resposta 19 de set. de 2009
Respostas 6
Participantes 4