Ir ao conteúdo
  • Cadastre-se
Bruna Roseguine

Java Erro : java.lang.NullPointerException ao tentar inserir dados

Recommended Posts

Estou fazendo um trabalho para a faculdade com o conceito MVC e estou tendo esse erro "java.lang.NullPointerException", quando tento inserir a informação que peguei de um formulário para o Banco de Dados. Meu conhecimento em Java é SUPER básico. 

 

Tenho o ActionListener no meu botão inserir

 ActionListener actionListener = new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ev) {
                if (ev.getSource() == cliente1.getBtnIncluir()) {
                    System.out.println("Inserir");
                    inserirDados();
                }
            }
        };
            cliente1.getBtnIncluir().addActionListener(actionListener);
       }
    

 

Dentro do meu controller da tela de cadastro de cliente, criei o método para pegar todos os dados do formulário, fiz um teste e todos eles estão retornando o valor corretamente.

public Cliente pegarDados(){
        //cliente
        String nome = cliente1.getTxtNome().getText();
        int codigoCliente = Integer.parseInt(cliente1.getTxtCodigo().getText());
        int documentoIdentificacao = Integer.parseInt(cliente1.getTxtCpf().getText());
        int rg = Integer.parseInt(cliente1.getTxtRg().getText());
                
        String sexo = "";
            sexo += (String) cliente1.getCbmxSexo().getSelectedItem();
        String estadoCivil = "";
          estadoCivil += (String) cliente1.getCbmxEstadoCivil().getSelectedItem();

 

E o meu método para inserir os dados, que chama o ClienteDAO, com os comandos SQL.

public void inserirDados() {
        Cliente cliente1 = this.pegarDados();
       
        if (cliente1 != null) {
            ClienteDAO pessoaDAO1 = new ClienteDAO();
            if (pessoaDAO1.inserirCliente(cliente1)) {
                JOptionPane.showMessageDialog(null, "Inserido com sucesso!");
            } else {
                JOptionPane.showMessageDialog(null, "Registro não foi inserido!", "ERRO", 0);
            }
            //tela.listarDados();
        }
    }

 

Até o momento, tô fazendo alguma bobeira?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o ponto nesse codigo está dendo o erro? se possivel passa o stacktrace

 

O mais provável é você estar passando uma variável que não está inicializada ainda... você lembrou dos getters e setters?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@bngomes

 

tenho os getters e setter na minha classe Cliente, e os getters do formulário no código da view.

image.png.72c70033c6ff7dc4230b0c2307e45273.png

 

Ele acusa do ClienteDAO, mas fiz o teste no banco de dados para verificar meu código de inserção e está ok

image.thumb.png.c474f6a37ae7f35d657fcf8442e2d149.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente isso: se j

PreparedStatement stm = con.prepareStatement(sql);

stm.setString(1, colaborador.getMatricula());
stm.setString(2, colaborador.getNome());
stm.setString(3, colaborador.getTelefone());
stm.setString(4, colaborador.getEmail());

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entáo confira o valor dos get.. algum deles pode estar vindo nulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×