Estou começando a estudar java com BD e estou encontrando o seguinte problema, criei a classe ConectaBanco:
packageBD;importjava.sql.*;importjavax.swing.JOptionPane;publicclassConectaBanco{publicvoidconecta()throwsSQLException{// public String nome;Connectionconnection=null;Statementstm=connection.createStatement();Stringres;try{// Carregando o JDBC DriverStringdriverName="com.mysql.jdbc.Driver";// MySQL MM JDBC driverClass.forName(driverName);// Criando a conexão com o Banco de DadosStringserverName="localhost";Stringmydatabase="pcjardim";Stringurl="jdbc:mysql://"+serverName+"/"+mydatabase;// a JDBC urlStringusername="root";Stringpassword="";connection=DriverManager.getConnection(url,username,password);JOptionPane.showMessageDialog(null,"Legal conectou");}catch(ClassNotFoundExceptione){//Driver não encontradoSystem.out.println("O driver expecificado não foi encontrado.");}catch(SQLExceptione){//Não está conseguindo se conectar ao bancoSystem.out.println("Não foi possível conectar ao Banco de Dados");}}//connection.close();}
quando vou rodar ta dando erro, ta dizendo que o código fonte é imcompatível:
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - unreported exception java.sql.SQLException; must be caught or declared to be thrown
at contas.Contas.main(Contas.java:9)
Por favor, alguém pode me ajudar??
cara, na declaração do seu método conecta você diz que ele pode lançar uma exception do tipo SQLException, mas no metodo main, vc nao joga a exception pra frente ou trata ela, por isso ocorre o erro.
Experimente lança-la pra frente usando no método main:
ou circular a chamada ao método conecta com try/catch:
try {
ConectaBanco con = new ConectaBanco();
con.conecta();
} catch( SQLException ex) {
//tratar a exception caso ela seja lançada
}
espero ter ajudado :}
P
pcjardim
xjunior valeu pela ajuda… vou estudar, achei mais complexo ou completo, mas vou estudar o seu código.
Agora, nathanpsouza quando eu faço isso: public static void main(String[] args) throws SQLException {, aliás ja tinha feito antes, da o seguinte erro:
Exception in thread “main” java.lang.NullPointerException
at BD.ConectaBanco.conecta(ConectaBanco.java:10)
at contas.Contas.main(Contas.java:10)
Java Result: 1
nathanpsouza
Sim, é porque voce esta tentando chamar um método em um objeto nulo, repare que: