Ir ao conteúdo
  • Cadastre-se

Dúvida com java.lang.NullPointerException


Posts recomendados

Caros colegas,

tenho esta classe:

public class ClienteDAO extends ConectionMySql{public List listar() throws Exception    {        OpenDatabase();                sql = "SELECT * FROM cliente ORDER BY nome";                ps = con.prepareStatement(sql); //o erro aponta para esta linha                rs = ps.executeQuery();                List listaClientes = new ArrayList();                while(rs.next())        {            Cliente c = new Cliente();                        c.setId(rs.getInt("id"));            c.setNome(rs.getString("nome"));            c.setEndereco(rs.getString("endereco"));            c.setCidade(rs.getString("cidade"));            c.setUf(rs.getString("uf"));            c.setTelefone(rs.getLong("telefone"));            c.setEmail(rs.getString("email"));                        listaClientes.add(c);        }        CloseDatabase();        return listaClientes;    }}

esta outra

public class FormFacade extends BaseFacade{    public String getListClientes()    {        try        {            ClienteDAO dao = new ClienteDAO();            return html.getList(dao.listar());        }        catch(Exception ex)        {            return "Exceção: RETORNA ESTE ERRO " + ex.getMessage();        }    }}

e este metodo para mostrar os clientes cadastrados.

public class TesteListar{    public static void main (String[] args) throws Exception    {        ClienteDAO dao = new ClienteDAO();                List <Cliente> clientes = dao.listar(); //e para esta linha                for (Cliente cliente : clientes) {            System.out.println("Cod: " + cliente.getId());            System.out.println("Nome: " + cliente.getNome());            System.out.println("Endereco: " + cliente.getEndereco());            System.out.println("Cidade: " + cliente.getCidade());            System.out.println("UF: " + cliente.getUf());            System.out.println("Telefone: " + cliente.getTelefone());            System.out.println("Email: " + cliente.getEmail());            System.out.println("");        }    }}

Porém quando executo este último gera o seguinte erro:

Exception in thread "main" java.lang.NullPointerException    at dao.ClienteDAO.listar(ClienteDAO.java:69)    at teste.TesteListar.main(TesteListar.java:22)

Não estou conseguindo entender este erro, já que estou seguindo um tutorial a "risca". Será que alguém pode indicar onde estou errando?

Obrigado.


Resolvido.

Estava esquecendo de abrir a conexão com banco de dados.

Link para o comentário
Compartilhar em outros sites

Veja, um segredo do famoso NullPointerException, é olhar o ponto onde esse objeto está sendo instanciado ou onde o atributo está sendo setado.

 

Pelo que pude constatar, na instrução con.prepareStatement() o atributo con não está instanciado. Alguma coisa não ocorreu de forma correta dentro da função de inicialização OpenDatabase()

 

Tente debugar essa parte que você encontrará a solução.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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...