Pessoal, por favor me ajudem. 
Tenho que entregar um Projeto de Conclusão de Curso em 
Java, está chegando o final do prazo e não consigo resolver um Problema. 

Ocorre a seguinte exceção na execução do código abaixo: 
A exceção ocorre no método prepareStatement(), conforme indicado 
abaixo. 

java.lang.NullPointerException 
        at BancoDados.abrirConta(BancoDados.java:37) 
        at BancoDados.main(BancoDados.java:56) 

Código: 

import java.sql.*; 
import java.util.GregorianCalendar; 
import java.text.SimpleDateFormat; 
import javax.swing.*; 

public class BancoDados { 
  private static Connection con; 
  private static GregorianCalendar dt = new GregorianCalendar(); 
  private static SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); 

  BancoDados(){} 

  public static String CarregaBanco() { 
    Connection con; 
    // Carrega o driver para permitir conexão ao Banco de Dados 
    try { 
      // Carregando o JDBC driver 
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
      con = DriverManager.getConnection("dsnMySQL","guioberto","123456"); 
      return null; 
    } 
    catch (ClassNotFoundException ex) { 
      // Driver não encontrado 
      return "O Driver especificado não foi encontrado!"; 
    } 
    catch (Exception ex) { 
      // Não está conseguindo se conectar ao Banco de Dados 
      return "Não foi possível estabelecer conexão com o Banco de Dados!"; 
    } 
  } 

  public static String abrirConta(String dadosCliente[]) { 
    String conectado = CarregaBanco(); 
    String data = df.format(dt.getTime()); 
    String sqlAbr = "INSERT INTO tabClientes 
VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)"; 
    try { 
      PreparedStatement ps = con.prepareStatement(sqlAbr); //<= A EXCEÇÃO 
OCORRE AQUI 
      for( int i = 0; i <= 9; i++ ) { 
        ps.setString( i + 1 , dadosCliente[i] ); 
      } 
      ps.setString(11, dadosCliente[10]); 
      ps.setString( 12, data); 
      ps.setString( 13, data); 
      ps.execute(); 
      return null; 
    } 
    catch (Exception e) { 
      e.printStackTrace(); 
      return e.getMessage(); 
    } 
  } 

  public static void main(String[] args) { 
       String dados[] = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", 
"11"}; 
       String resp = abrirConta(dados); 
       JOptionPane.showMessageDialog(null, resp); 
  } 
} 


A conexão com o Banco obteve sucesso. 
O número de parâmetros passados está correto. 
Não sei o que pode ser. 

Desde já agradeço, 
Guioberto. 

_________________________________________________________
Voce quer um iGMail protegido contra vírus e spams? 
Clique aqui: http://www.igmailseguro.ig.com.br


------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a