Como os métodos CarregaBanco e abrirConta são estáticos, não estão disponíveis á 
partir de instância de Classe e somente á partir da Classe.
Veja se resolveu !



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[]) { 
          //
                // Inclusao de BancoDados.
                //
    String conectado = BancoDados.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"}; 
                        //
                        // Inclusao de BancoDados.
                        //
       String resp = BancoDados.abrirConta(dados); 
       JOptionPane.showMessageDialog(null, resp); 
  }
}



-----Mensagem original-----
De: Celeguim, Luiz (Cadmus) [mailto:[EMAIL PROTECTED] 
Enviada em: quinta-feira, 6 de março de 2003 12:30
Para: '[EMAIL PROTECTED]'
Assunto: RE: [java-list] Conexão JAVA-MySQL-JDBC - Exceção

acho que essa eh facil de resolver.
existem duas declaracoes para o Connection, uma
no escopo da classe e outra no escopo do método,
remove a declaracao do metodo, deve funcionar.




-----Original Message-----
From: Rodrigo Albani [mailto:[EMAIL PROTECTED]
Sent: quarta-feira, 5 de março de 2003 23:49
To: [EMAIL PROTECTED]
Subject: Re: [java-list] Conexão JAVA-MySQL-JDBC - Exceção


Posso estar enganado, mas estou achando estranho duas coisas no teu
código.
Primeiro aquele return null no método CarregaBanco, se conecta ele tá
sempre retornando null.
Segundo o retorno do método CarregaBanco cai sempre na variável
conectado que não é usada pelo menos nesse pedaço de código.

Será que não seria mais interessante o teu método CarregaBanco retornar
o objeto Connection e consequentemente o abrirConta receber esse
Connection con, para ser usado no preparedeStatement?

To achando que o con tá sempre chegando null no preparedeStatement, por
isso dá essa exceção.

Tente dar uma olhada nisso.


                        Rodrigo         


On Tue, 2003-02-25 at 13:31, [EMAIL PROTECTED] wrote:
> 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] 
> -------------------------------------------------------------------------



------------------------------ 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] 
-------------------------------------------------------------------------

------------------------------ 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] 
-------------------------------------------------------------------------


------------------------------ 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