Problemas com exceções

4 respostas
Donizeti

Bom galera sou iniciante em programação, to desenvolvendo uma aplicação com Banco de Dados MySQL , o meu projeto está assim: Tenho uma classe de conexão com o BD com os métodos para conectar e desconectar com o banco, e claro é passado o driver,usuário,password,etc.Tenho uma classe que representa os campos da minha tabela,uma classe JFrame para visualização dos dados ,e tenho a classe que vai acessar o meu Banco de Dados (ClienteControl)…
ela ta gerando uma exceção que eu não to conseguindo saber o que é exatamente…to fazendo isso através de vídeo-aulas e tutoriais…

//classe que vai acessar o banco de dados
public class ClienteControl {
    PreparedStatement pstm;
    //responsável por abrir o caminho até o banco de dados enviar comandos sql do banco de dados 
    ResultSet rs;
    //responsável armazenar comandos sql do banco de dados
    String consulta_cliente= "Select * from clientes where nome like ?";
    
    /** Creates a new instance of ClienteControl */
    public ClienteControl() {
    }
    //nesta lista só vão objetos da classe ClienteBean
    public List<ClienteBean> ListarClientes(String nome){
       List<ClienteBean> clientes = null;//criando um objeto List
       try{
           //instanciando classe de conexão 
           ConexaoBd mysql = new  ConexaoBd();
           //invocando método para conectar com o banco e selecioonar tabela clientes
           //método prepareStatement derivado da classe Connection
           pstm = mysql.conecta().prepareStatement(consulta_cliente);
           pstm.setString(1,nome);//setando o campo ? passado na String consulta_cliente
           rs=pstm.executeQuery();//armazenando a consulta no ResultSset
           
           ClienteBean cli;
           
           while(rs.next()){
               cli=new ClienteBean();
               //setando os campos do objeto cli do tipo ClienteBean, com o valor que estiver no 
               //ResultSet dos campos da tabela Clientes
               cli.setId(rs.getInt("id"));
               cli.setNome(rs.getString("Nome"));
               cli.setTelefone(rs.getString("Telefone"));
               cli.setRg(rs.getString("RG"));
               cli.setCpf(rs.getString("CPF"));  
               cli.setEndereco(rs.getString("Endereco"));
               cli.setBairro(rs.getString("Bairro"));
               cli.setCidade(rs.getString("Cidade"));
               cli.setUf(rs.getString("UF"));
               cli.setCep(rs.getString("CEP"));
               cli.setEmail(rs.getString("EMAIL"));
               cli.setReferencia(rs.getString("Referencia"));
               clientes.add(cli);//adicionando o ClienteBean ao nosso List
           }
           
       }catch(Exception ex){
           
           ex.printStackTrace();
          
       }
       
        return clientes;
    }
    
}

se alguém puder me ajudar fico grato…

4 Respostas

peczenyj

Sem ver alguma coisa sobre a Exception e a sua StackTrace fica dificil…

Donizeti

gera a seguinte excecão…

java.lang.NullPointerException

at Clientes.ClienteControl.ListarClientes(ClienteControl.java:63)

at Clientes.listarClientes(Clientes.java:293)

at Clientes.jButtonPesquisClientActionPerformed(Clientes.java:245)

at Clientes.access$000(Clientes.java:16)

at Clientes$1.actionPerformed(Clientes.java:70)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)

at java.awt.Component.processMouseEvent(Component.java:6041)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)

at java.awt.Component.processEvent(Component.java:5806)

at java.awt.Container.processEvent(Container.java:2058)

at java.awt.Component.dispatchEventImpl(Component.java:4413)

at java.awt.Container.dispatchEventImpl(Container.java:2116)

at java.awt.Component.dispatchEvent(Component.java:4243)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)

at java.awt.Container.dispatchEventImpl(Container.java:2102)

at java.awt.Window.dispatchEventImpl(Window.java:2440)

at java.awt.Component.dispatchEvent(Component.java:4243)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
peczenyj

Ahá. NullPointerException ocorre quando vc faz

MinhaClasse variavel = null; // falta um construtor/fabrica aqui!
variavel.algumMetodo(); // referecia nula não pode executar metodos!

Como resolver?

Na linha
List clientes = null;//criando um objeto List

faça
List clientes = ArrayList();

Dessa forma vc cria um objeto list, ao inves de uma referencia nula :wink:

Donizeti

wleu peczenyj era isso mesmo minha variável não podia ser nula mesmo…ficou assim:

List clientes = new ArrayList();

Muito obrigado pela ajuda…abraço

Criado 18 de abril de 2009
Ultima resposta 18 de abr. de 2009
Respostas 4
Participantes 2