[RESOLVIDO]Ajuda com conexão ao banco de dados para insersão de dados

6 respostas
diegogm

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.

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', " +
            "'[email removido]','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());  
           }  
    }
    
   
}

6 Respostas

leocantanhede

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', " +
            "'[email removido]','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();

           }
    }
    
   
}
marciosouzajunior

Não leve a mal mas é como dizem por aí:

“É mais fácil pedir suporte do que ler a mensagem de erro”

diegogm

Obrigado leocantanhede foi de grande ajuda!

diegogm

marciosouzajunior:
Não leve a mal mas é como dizem por aí:

“É mais fácil pedir suporte do que ler a mensagem de erro”

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! :?:

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.

diegogm

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.

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

Criado 17 de abril de 2012
Ultima resposta 17 de abr. de 2012
Respostas 6
Participantes 3