Ir ao conteúdo

erro ao inserir no banco de dados


Carlos.ale.93

Posts recomendados

Postado

Estou aprendendo java agora e estou seguindo uma apostila para criar uma aplicação simples de conexão com o mysql, mais ta dando o seguinte erro ao tentar inserir:

Exception in thread "main" java.lang.NullPointerException

at psv.CarroDAO.inserir (CarroDAO.java:34)

at psv.Test.main (Teste.java:17)

Java Result: 1

Se alguem puder me ajudar deixa o e-mail que eu envio o projeto. Lembrando que so sei o basico de java

Postado


A classe de conexão funciona. O a casse ta assim:------------------------------------------------package psv;import java.sql.*;import java.util.*;public class CarroDAO {    private Connection con;    public CarroDAO(Connection con){        setCon(con);    }    public Connection getCon(){        return con;    }    private void setCon(Connection con){        this.con = con;    }    public String inserir(CarroBean carro){        String sql = "insert into carro(placa,cor,descricao)values(?,?,?)";        try {            PreparedStatement ps = getCon().prepareStatement(sql); //pelo que entendi é aqui que nao deixa executar            ps.setString(1, carro.getPlaca());            ps.setString(2, carro.getCor());            ps.setString(3, carro.getDescricao());            if (ps.executeUpdate() > 0){                return "Inserido com sucesso!";            }else{                return "Erro ao inserir";            }        }catch (SQLException e){            return e.getMessage();        }    }    public String alterar(CarroBean carro){        String sql = "update carro set cor = ?,descricao = ?";        sql += "where placa = ?";        try {            PreparedStatement ps = getCon().prepareStatement(sql);            ps.setString(1, carro.getCor());            ps.setString(2, carro.getDescricao());            ps.setString(3, carro.getPlaca());            if (ps.executeUpdate() > 0){                return "Alterado com sucesso";            }else{                return "Erro ao alterar";            }        }catch (SQLException e) {            return e.getMessage();        }    }    public List<CarroBean> litarTodos(){        String sql = "select * from carro ";        List<CarroBean> listaCarro = new ArrayList<>();        try {            PreparedStatement ps = getCon().prepareStatement(sql);            ResultSet rs = ps.executeQuery();            if (rs != null){                while (rs.next()){                    CarroBean cb = new CarroBean();                    cb.setPlaca(rs.getString(1));                    cb.setCor(rs.getString(2));                    cb.setDescricao(rs.getString(3));                    listaCarro.add(cb);                }                return listaCarro;            }else{                return null;            }        } catch (SQLException e){            return null;        }    }}e no console aparece assim:---------------------------run:Conexão abertaException in thread "main" java.lang.NullPointerExceptionat psv.CarroDAO.inserir(CarroDAO.java:34)at psv.Teste.main(Teste.java:17)Java Result: 1CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)

  • 3 semanas depois...
Postado

Essa exceção está dizendo que você tentou usar um objeto não instanciado.

Acho q o objeto Connection não foi  criado.

 

Verifica os parâmetros q você passou na hora de registrar o driver de conexão com o banco de dados.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!