Erro

Código fonte

private void jTextField1FocusLost(java.awt.event.FocusEvent evt) {
if(jTextField1.getText().length() == 14){
conexao.executeQuery(“select * from cliente where CPF = '”+jTextField1.getText()+"’");
try {
jtxtFieldNome.setText(conexao.resultSet.getString(“Nome”));
} catch (SQLException erro) {
JOptionPane.showMessageDialog(null,"Erro: "+erro,“ERRO”,JOptionPane.ERROR_MESSAGE);
}
}
else
JOptionPane.showMessageDialog(null,“CPF digitado com 11 caracteres”);
}

Erros

Compiling 1 source file to C:.metadata\workspace\AutoCar\build\classes
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at ConexaoBancoDados.Conexao.executeQuery(Conexao.java:58)
at Forms.Venda.jTextField1FocusLost(Venda.java:557)
at Forms.Venda.access$700(Venda.java:21)
at Forms.Venda$8.focusLost(Venda.java:249)
at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:213)
at java.awt.Component.processFocusEvent(Component.java:6026)
at java.awt.Component.processEvent(Component.java:5890)
at java.awt.Container.processEvent(Container.java:2023)
at java.awt.Component.dispatchEventImpl(Component.java:4501)
at java.awt.Container.dispatchEventImpl(Container.java:2081)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:889)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:562)
at java.awt.Component.dispatchEventImpl(Component.java:4373)
at java.awt.Container.dispatchEventImpl(Container.java:2081)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
CONSTRUÍDO COM SUCESSO (tempo total: 20 segundos)

Como apresentado acima, estou utilizando o evento FocusLost … tentei fazer o seguinte: quando o usuario digitasse o CPF do cliente, ele iria executar uma select no banco na tabela cliente, e quando o CPF digitado fosse igual ao da consulta, ele retornaria o nome do cliente no campo Nome.

MAS ISSO NÃO ESTA FUNCIONANDO !!!

PRECISO DE ALGUMA SOLUÇÃO !!! FAZ UMA SEMANA QUE EU VENHO COLANDO MEUS FONTS AQUI , E NÃO OBTIVE UMA AJUDA CONCRETA.

PEÇO A TODOS VOCES, QUE VISITAREM ESTE POST, POR FAVOR … ME AJUDEM … É UMA COISA FACIL DE SE FAZER, POREM SOU INESPERIENTE NO ASSUNTO ‘JAVA’ …

POR FAVOR …

Se alguem tiver algum pedaço de codigo para me ajudar …

Para ajudar voces, estou desenvolvendo um trabalho de faculdades … para ser mais preciso um Sistema de Venda de Veiculos (Carros e Caminhões) …

Na parte de vendas …

quando o usuario, digitar o cpf do cliente , o sistema devera pegar o cpf digitado e verificar no banco se existe o cpf, se existir o cpf, ele retorna o nome do cliente no campo NOME .

A mesma coisa eu preciso para os veiculos …

MAS SE ME AJUDAREM A PELO MENOS NA PARTE DO CLIENTE QUE TENHO DIFICULDADES … EU CONSEGUIREI FAZER O RESTO.

POR FAVOR.

OBRIGADO.

Velho a stack trace diz o seguinte

[quote]Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at ConexaoBancoDados.Conexao.executeQuery(Conexao.java:58) [/quote]
ou seja, na tua Classe Conexao na linha 58 você deve estar acessando algum objeto nulo, veja se você está mesmo setando a tua conexão, debugue o seu programa!

[quote=thiago.correa]Velho a stack trace diz o seguinte

[quote]Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at ConexaoBancoDados.Conexao.executeQuery(Conexao.java:58) [/quote]
ou seja, na tua Classe Conexao na linha 58 você deve estar acessando algum objeto nulo, veja se você está mesmo setando a tua conexão, debugue o seu programa!
[/quote]

Amigo, abaixo minha conexao

package ConexaoBancoDados;
import java.sql.*;
import javax.swing.JOptionPane;

/**

  • Classe que irá fazer a conexão com o banco de dados,
  • executar os comandos SQL e fechar a conexão.
  • @author Renato José Chignolli Soares
  • @date 25/10/2008
    */

public class Conexao{

final private String driver = "com.mysql.jdbc.Driver";
final private String url = "jdbc:mysql://localhost:3309/database";
final private String usuario = "root";
final private String senha = "root";
private Connection conexao;
public Statement statement;
public ResultSet resultSet = null;
public int linhas;

public boolean conecta() {
    try {
        Class.forName(driver).newInstance();
        conexao = DriverManager.getConnection(url, usuario, senha);
        //JOptionPane.showMessageDialog(null,"Conectou");
        return true;
    } catch (InstantiationException erro) {
        //JOptionPane.showMessageDialog(null,"Driver não localizado: "+erro);
        return false;
    } catch (IllegalAccessException erro) {
        //JOptionPane.showMessageDialog(null,"Driver não localizado: "+erro);
        return false;
    } catch(ClassNotFoundException Driver) {
        //JOptionPane.showMessageDialog(null,"Driver não localizado: "+Driver);
        return false;
    } catch(SQLException Fonte) {
        //JOptionPane.showMessageDialog(null,"Erro na conexão com a fonte de dados: "+Fonte);
        return false;
    } 
}
        
public void desconecta() {
    try {
        if(this.conexao != null){
            this.conexao.close();
            //JOptionPane.showMessageDialog(null,"Banco Fechado");
        }
    } catch(SQLException erro){
        //JOptionPane.showMessageDialog(null,"Não foi possivel fechar o Banco de dados, "+erro);
      }
}
   
public boolean executeQuery(String sql) {
    resultSet =  null;
    try {
        statement = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
        resultSet = statement.executeQuery(sql);
        return true;
    } catch(SQLException erro) {
        //JOptionPane.showMessageDialog(null,"Não foi possível executar o comando sql, "+erro+", o sql passado foi: "+sql);
        return false;
      }
}
   
public void executeUpdate(String sql) {
    try {
        statement = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
        linhas = statement.executeUpdate(sql);
    } catch(SQLException erro) {
        //JOptionPane.showMessageDialog(null,"Não foi possível executar o comando sql, "+erro+", o sql passado foi: "+sql);
      }
}

}

Referente a linha 58, eh essa

public boolean executeQuery(String sql) {
resultSet = null;
try {
statement = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
resultSet = statement.executeQuery(sql);
return true;
} catch(SQLException erro) {
//JOptionPane.showMessageDialog(null,"Não foi possível executar o comando sql, “+erro+”, o sql passado foi: "+sql);
return false;
}
}

Amigo, da umas ideias pra mim, fazendo favor…

Por que é dificil de obter ajuda aqui no guia java … posto todas informações que voces mandam colocar para ajudar a solucionar os erros … e nada …

pessoal, POH !!! … eu preciso de ajuda …

POR FAVOR …

Olá

Todos nós aqui somos voluntários, ninguém é remunerado para ficar respondendo perguntas.
Isto que você escreveu abaixo só espanta os “respondedores” de perguntas, ai fica mais dificil de obter ajuda.
Então tenha [size=18]paciência![/size]

[quote=renatosoares]Por que é dificil de obter ajuda aqui no guia java … posto todas informações que voces mandam colocar para ajudar a solucionar os erros … e nada …

pessoal, POH !!! … eu preciso de ajuda …

POR FAVOR …[/quote]

No mais, faça com seus catchs mostres os erros, assim fica mais fácil saber o que é.

[code]public class Conexao{

final private String driver = “com.mysql.jdbc.Driver”;
final private String url = “jdbc:mysql://localhost:3309/database”;
final private String usuario = “root”;
final private String senha = “root”;
private Connection conexao;
public Statement statement;
public ResultSet resultSet = null;
public int linhas;

public boolean conecta() {
try {
Class.forName(driver).newInstance();
conexao = DriverManager.getConnection(url, usuario, senha);
JOptionPane.showMessageDialog(null,“Conectou”);
return true;
} catch (InstantiationException erro) {
JOptionPane.showMessageDialog(null,"Driver não localizado: "+erro);
return false;
} catch (IllegalAccessException erro) {
JOptionPane.showMessageDialog(null,"Driver não localizado: "+erro);
return false;
} catch(ClassNotFoundException Driver) {
JOptionPane.showMessageDialog(null,"Driver não localizado: "+Driver);
return false;
} catch(SQLException Fonte) {
JOptionPane.showMessageDialog(null,"Erro na conexão com a fonte de dados: "+Fonte);
return false;
}
}

public void desconecta() {
try {
if(this.conexao != null){
this.conexao.close();
JOptionPane.showMessageDialog(null,“Banco Fechado”);
}
} catch(SQLException erro){
JOptionPane.showMessageDialog(null,"Não foi possivel fechar o Banco de dados, "+erro);
}
}

public boolean executeQuery(String sql) {
resultSet = null;
try {
statement = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
resultSet = statement.executeQuery(sql);
return true;
} catch(SQLException erro) {
JOptionPane.showMessageDialog(null,"Não foi possível executar o comando sql, “+erro+”, o sql passado foi: "+sql);
return false;
}
}

public void executeUpdate(String sql) {
try {
statement = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
linhas = statement.executeUpdate(sql);
} catch(SQLException erro) {
JOptionPane.showMessageDialog(null,"Não foi possível executar o comando sql, “+erro+”, o sql passado foi: "+sql);
}
}
}
[/code]

E não é guia java, é GUJ!!!