Class.forName(com.mysql.jdbc.Driver); ERRO!!
Unhandled exception type ClassNotFoundException
Estou com esse erro na linha do class.forname..
pq esta dando isso?
ja coloquei o .jar la no ext do jdk e no lib do jre.. la no projeto eu fiz um bluid path no .jar tambem.. o codigo eh esse
package pdrpack;
import java.sql.*;
class Bd
{
public static void main(String args[])
{
// A captura de exceções SQLException em Java é obrigatória para usarmos JDBC.
// Para termos acesso ao objeto con, ele deve ter um escopo mais amplo que o bloco try
Connection con = null;
try
{
// Este é um dos meios para registrar um driver
Class.forName("com.mysql.jdbc.Driver");
// Registrado o driver, vamos estabelecer uma conexão
con = DriverManager.getConnection("jdbc:teste","root","pedro");
// Após estabelecermos a conexão com o banco de dados
// Utilizamos o método createStatement de con para criar o Statement
Statement stm = con.createStatement();
// Vamos executar o seguinte comando SQL :
String SQL = "Select nome, idade from nomes";
// Definido o Statement, executamos a query no banco de dados
ResultSet rs = stm.executeQuery(SQL);
// O método next() informa se houve resultados e posiciona o cursor do banco
// na próxima linha disponível para recuperação
// Como esperamos várias linhas utilizamos um laço para recuperar os dados
while(rs.next())
{
// Os métodos getXXX recuperam os dados de acordo com o tipo SQL do dado:
String nom = rs.getString("nome");
String id = rs.getString("idade");
// As variáveis tit, aut e totalFaixas contém os valores retornados
// pela query. Vamos imprimí-los
System.out.println("nome: "+nom+" idade: "+id);
}
}
catch(SQLException e)
{
// se houve algum erro, uma exceção é gerada para informar o erro
e.printStackTrace(); //vejamos que erro foi gerado e quem o gerou
}
finally
{
try
{
con.close();
}
catch(SQLException onConClose)
{
System.out.println("Houve erro no fechamento da conexão");
onConClose.printStackTrace();
}
} // fim do bloco try-catch-finally
} // fim da main
} // fim de nosso primeiro exemplo !
Pdr33n
Curtidas 0
Melhor post
Lais Lodi
25/11/2009
kkkkkkkkkkkkkkkkkkkkk
é verdade... foi malz aí... hj msm a gente teve a continuação dessa matéria... pq ontem foi, como eu disse, apenas uma dica...
mas realmente, me expressei mal... desculpa a gafe... sou nova na programação OO
mas msm assim, espero ter ajudado em alguma coisa...
:mrgreen:
GOSTEI 1
Mais Respostas
Edinei Manica
09/04/2009
Vc adicionou o Driver no class path ?
GOSTEI 0
Edinei Manica
09/04/2009
Olha se dentro do jar existe a classe no caminho
com.mysql.jdbc.Driver
GOSTEI 0
Pdr33n
09/04/2009
[quote="Edinei Manica"]Vc adicionou o Driver no class path ?
nao.. eu li que se eu jogasse o .jar no jdk lib/ext e no jre, ele ia funcionar sem classpath.
existe o .Driver sim.
o q pode ser?
GOSTEI 0
Dennisrosa
09/04/2009
tem certeza que jogou o driver no diretorio :
<JDK>\jre\lib\ext ?
Não tem como não funcionar :-)
Um abraço,
Dennis
GOSTEI 0
Pdr33n
09/04/2009
eu acho que agora eu consegui. refiz o programa inteiro ai funcionou.
ele nao roda no DOS com o comando java nao?
é por causa do build path? estou usando o eclipse.
vlw
GOSTEI 0
Lais Lodi
09/04/2009
qndo tentei conectar com o banco, encontrei o msm problema... minha professora de programação me deu uma dica... q achei interessante: ela disse q o netBeans está "nos forçando" a adicionar um tratamento de excessão... q é a abordada em negrito. Comigo deu certo, tomara q ajude! =D
public class BD{
public static void main (String args[]){
// conecção com o BD
Connection con = null;
try
{
// Este é um dos meios para registrar um driver
Class.forName("com.mysql.jdbc.Driver");
// Registrado o driver, vamos estabelecer uma conexão
con = DriverManager.getConnection("jdbc:database","login","senha");
// Após estabelecermos a conexão com o banco de dados
// Utilizamos o método createStatement de con para criar o Statement
Statement stm = con.createStatement();
// Vamos executar o seguinte comando SQL :
String SQL = "delete * from cliente where cliente.codigo = codigo;";
// Definido o Statement, executamos a query no banco de dados
stm.executeUpdate(SQL);
}
catch(SQLException e)
{
// se houve algum erro, uma exceção é gerada para informar o erro
e.printStackTrace(); //vejamos que erro foi gerado e quem o gerou
}
// CORREÇÃO
catch(ClassNotFoundException e)
{
// se houve algum erro, uma exceção é gerada para informar o erro
e.printStackTrace(); //vejamos que erro foi gerado e quem o gerou
}
// FIM DA CORREÇÃO
finally
{
try
{
con.close();
}
catch(SQLException onConClose)
{
System.out.println("Houve erro no fechamento da conexão");
onConClose.printStackTrace();
}
} // fim do bloco try-catch-finally
return true;
}
}GOSTEI 0
Ricardo Staroski
09/04/2009
[quote="laislodi"]minha professora de programação me deu uma dica... q achei interessante: ela disse q o netBeans está "nos forçando" a adicionar um tratamento de excessão
Hmmmm... Aqui vai uma dica pra sua professora de programação:
O NetBeans, eclipse, JCreator, Notepad ou seja lá o que você utiliza para escrever código Java, [b]não força você a nada[/b].
Quem "força" você a tratar excessões, ou passá-las adiante, é um carinha chamado "Compilador Java".
Esta é uma das principais características que tornaram a liguagem de programação Java tão robusta.
Se algum trecho de código pode lançar uma excessão você só tem duas saídas:
1ª - Tratar a excessão com um bloco [b]try - catch[/b]
2ª - Passar a excessão adiante através de um [b]throws[/b] fazendo com que outro código se encarregue de tratá-la.
GOSTEI 0