Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
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






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

×