Erro no st.executeUpdate

alguem poderia me ajudar com o erro:

Exception in thread “main” java.lang.NullPointerException

Criei uma classe Pessoa e estou conectando ela com o DAO. Bem simples. Apenas passando o “nome” para o método “insere” para fazer a conexão.
O Banco está acessando numa boa, as tabelas foram criadas tb… tudo roda numa boa… Só q acontece algo e não cadastra o bendito nome! :evil:
Se alguem puder dar uma força… abraços.

public void insere(String tb, String campos, String vals){ conecta(); try{ String q= "insert into "+tb+" "+campos+ " values "+ vals; //Executar o SQL upd= st.executeUpdate(q); // Teste do banco if (upd!=0) msg.append("Insercao OK!"); else msg.append("Erro: Insercao"); }catch(SQLException e){ msg.append("Erro: SQL insercao"); } desconecta(); }// FIM INSERE

Aqui está o metodo Insere na Classe Pessoa

public void inserePessoa(){ //PREPARA OS DADOS PARA O DAO String tb, cps, vals; tb= "pessoa"; cps= "(nome)"; vals= "('"+nome+"')"; db.insere(tb, cps, vals);

e a tão gloriosa MAIN!

[code]public static void main(String[] args) {

    Pessoa p= new Pessoa();
    p.setNome("Vitor");
    System.out.println("Nome retornado: "+ p.getNome());
    p.inserePessoa();
    [/code]

O Erro q aparece:

Compiling 2 source files to C:\Documents and Settings\Negrão\TesteDAO\build\classes compile: run: Exception in thread "main" java.lang.NullPointerException at testedao.DAO.insere(DAO.java:43) at testedao.Pessoa.inserePessoa(Pessoa.java:33) at testedao.Main.main(Main.java:26) Nome retornado: Vitor Java Result: 1 BUILD SUCCESSFUL (total time: 1 second)

qual é a linha 43 no DAO.java?

a linha 43 é a

 upd= st.executeUpdate(q); 

cara, vc iniciou a instancia do seu statement?

st= con.createStatement();

se nao criou, crie antes de fazer st.executeUpdate(sql);

abraços.

instanciei sim amigo.

Vou colocar a classe completa aqui depois… aí dá ter uma visão melhor da coisa… :smiley:

Executa e encerra a tua st desse jeito:

public void insere(String tb, String campos, String vals){ conecta(); try{ String q= "insert into "+tb+" "+campos+ " values "+ vals; //Executar o SQL upd= st.executeUpdate(q); st.execute; st.close; // Teste do banco if (upd!=0) msg.append("Insercao OK!"); else msg.append("Erro: Insercao"); }catch(SQLException e){ msg.append("Erro: SQL insercao"); } desconecta(); }// FIM INSERE