Boa tarde,
estou fazendo um programa para inserir alguns dados numa tabela local, escrevo esse código porem apresenta o erro.
Error(27,10): exception java.lang.ClassNotFoundException is never thrown in body of corresponding try statement
Segue o código.
[code]package testeconexao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Conexao {
public static void main(String [] args) throws Exception{
Connection connection = null;
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:XE";//localizacao do banco
String user = "hr";
String password = "hr";
connection = DriverManager.getConnection(url, user, password);//conexao com o banco
try{
Statement stmt = connection.createStatement();//enviando comandos sql para o servidor
String sql = "insert into Pessoa (id, nome, email, telefone) values ('1', 'Diego', " +
"'diego@hotmail.com','1234-5678')";
}catch (ClassNotFoundException e) {
System.out.println("ClassNotFoundException" + e.getMessage());
} catch (SQLException e) {
System.out.println("SQLException" + e.getMessage());
} catch (Exception e) {
System.out.println("Exception = " + e.getMessage());
}
}
}[/code]
Tente desta forma para ver se vai:
package testeconexao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Conexao {
public static void main(String [] args) throws Exception{
Connection connection = null;
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:XE";//localizacao do banco
String user = "hr";
String password = "hr";
connection = DriverManager.getConnection(url, user, password);//conexao com o banco
String sql = "insert into Pessoa (id, nome, email, telefone) values ('1', 'Diego', " +
"'diego@hotmail.com','1234-5678')";
PreparedeStatement pstmt = null;
try{
pstmt = connection.prepareStatement(sql);
pstmt.executeUpdate();
}catch (ClassNotFoundException e) {
System.out.println("ClassNotFoundException" + e.getMessage());
} catch (SQLException e) {
System.out.println("SQLException" + e.getMessage());
} catch (Exception e) {
System.out.println("Exception = " + e.getMessage());
} finally {
pstmt.close();
connection.close();
}
}
}
Não leve a mal mas é como dizem por aí:
“É mais fácil pedir suporte do que ler a mensagem de erro”
Obrigado leocantanhede foi de grande ajuda!
[quote=marciosouzajunior]Não leve a mal mas é como dizem por aí:
“É mais fácil pedir suporte do que ler a mensagem de erro”[/quote]
Seria mais construtivo vc colocar ai como sugestão uma outra forma de insersão de dados, falta bom senso de sua parte, pelo menos o outro rapaz teve bom senso em ajudar e deu certo.
Bom da próxima vez eu leio melhor, mais vê se da próxima vez coloca algo mais construtivo como comentário!
Obrigado e boa tarde! :?:
Na verdade o que ele postou não deu certo porque eu testei aqui e esse erro não tem a ver com inserção
mas sim com tentar capturar uma excessão que nunca é lançada:
...
} catch (ClassNotFoundException e) {
System.out.println("ClassNotFoundException" + e.getMessage());
...
Estou só repetindo o que o compilador já disse.
[quote=marciosouzajunior]Na verdade o que ele postou não deu certo porque eu testei aqui e esse erro não tem a ver com inserção
mas sim com tentar capturar uma excessão que nunca é lançada:
...
} catch (ClassNotFoundException e) {
System.out.println("ClassNotFoundException" + e.getMessage());
...
Estou só repetindo o que o compilador já disse.[/quote]
É realmente tinha um pequeno erro nesta linha, porem bem facil de identificar.
Ficaria no caso…
Mais o que ele postou realmente funcionou, assim diz meu compilador e a minha tabela.