Erro no código

2 respostas
E

Pessoal, alguém poderia me explicar pq está dando erro no código abaixo ?

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

public class Connection{
	private final static String driver  = "sun.jdbc.odbc.JdbcOdbcDriver";
	private final static String url		= "jdbc:odbc:Cadastro";
	
	private final static String username = "";
	private final static String password = "";
	
	private Connection con;
	private Statement stmt;
	private ResultSet rs;
	
	private String nome = null;
	private int    tel	= 0;
	
	/************ ABRE BANCO ************/
	public void openDB(){
		try{
			Class.forName(driver);
			
			con = DriverManager.getConnection(url, username, password);
			stmt = con.createStatement();
		}
		catch(ClassNotFoundException e){
			JOptionPane.showMessageDialog(null,
					"Falha ao carregar JDBC/ODBC driver." + e,
					"Erro",
					JOptionPane.OK_OPTION,
					JOptionPane.WARNING_MESSAGE);
		}
		catch(SQLException e){
			JOptionPane.showMessageDialog(null,
					"Falha ao estabelecer conexão." + e,
					"Erro",
					JOptionPane.OK_OPTION,
					JOptionPane.WARNING_MESSAGE);
		}
	}
	
}

Obrigado !

[]'s
J P

2 Respostas

J

Kara… eu estava ficando quase loco, pois não via o problema…

É o seguinte, vc colocou o nome da classe como Connection e dentro da classe vc estava tentando usar a classe Connection do pacote java.sql, só que a classe tem precedência, o que ocorria um conflito…

Tb tinha parâmetros passados errados no JOptionPane… o último parâmetro é um Icon e não um inteiro… blz?

Mudei o nome para Conexao…

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

public class Conexao{
   private final static String driver  = "sun.jdbc.odbc.JdbcOdbcDriver";
   private final static String url      = "jdbc:odbc:Cadastro";

   private final static String username = "";
   private final static String password = "";

   private Connection con;
   private Statement stmt;
   private ResultSet rs;

   private String nome = null;
   private int    tel   = 0;

   /************ ABRE BANCO ************/
   public void openDB(){
      try{
         Class.forName(driver);

         con = DriverManager.getConnection(url, username, password);
         stmt = con.createStatement();
      }
      catch(ClassNotFoundException e){
         JOptionPane.showMessageDialog(null,
               "Falha ao carregar JDBC/ODBC driver." + e,
               "Erro",
               JOptionPane.WARNING_MESSAGE
               );
      }
      catch(SQLException e){
         JOptionPane.showMessageDialog(null,
               "Falha ao estabelecer conexão." + e,
               "Erro",
               JOptionPane.WARNING_MESSAGE);
      }
   }

}

Uma outra alternativa é deixar com o mesmo nome, mas declarar explicidamente o pacote java.sql.Connection do atributo con.

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

public class Connection{
   private final static String driver  = "sun.jdbc.odbc.JdbcOdbcDriver";
   private final static String url      = "jdbc:odbc:Cadastro";

   private final static String username = "";
   private final static String password = "";

   private java.sql.Connection con;
   private Statement stmt;
   private ResultSet rs;

   private String nome = null;
   private int    tel   = 0;

   /************ ABRE BANCO ************/
   public void openDB(){
      try{
         Class.forName(driver);

         con = DriverManager.getConnection(url, username, password);
         stmt = con.createStatement();
      }
      catch(ClassNotFoundException e){
         JOptionPane.showMessageDialog(null,
               "Falha ao carregar JDBC/ODBC driver." + e,
               "Erro",
               JOptionPane.WARNING_MESSAGE
               );
      }
      catch(SQLException e){
         JOptionPane.showMessageDialog(null,
               "Falha ao estabelecer conexão." + e,
               "Erro",
               JOptionPane.WARNING_MESSAGE);
      }
   }

}

As duas maneiras funciona… blz?

E

Putz cara… era isso mesmo !!!

Eu já tava ficando doido… ehuaheuahea

Valew cara ! :brinde:

[]'s
J P

Criado 24 de junho de 2004
Ultima resposta 25 de jun. de 2004
Respostas 2
Participantes 2