No netbeans, adicionei a biblioteca Driver JDBC do MySQL. Na aba Serviços, seleciono o BD e conectar (o driver, logo abaixo, mostra que está conectado).
No MySQL (wampserver) criei o BD ex-login, a tabela tablogin e os campos.
O que está errado? pois quando executo, recebo uma mensagem de driver não encontrado.
Você precisa, além de adicionar o driver ao seu projeto, adicioná-lo ao Build Path do mesmo, senão ocorre esse erro pois o Java não consegue encontrar as classes necessárias.
W
wls2015
E como eu faço isso?
Pode me orientar?
Obrigado
Ruttmann
E como eu faço isso?
Pode me orientar?
Obrigado
Eu não uso Netbeans. Procurei por alguma instrução pra fazer isso pelo Netbeans, mas não encontrei nada.
Acredito porém que é similar ao que é feito via Eclipse: Com .jar do MySQL já dentro do seu projeto, clique nele com o botão direito, Build Path, Add to Build Path.
W
wls2015
Consegui fazer a conexão e inserir dados no BD, mas não consigo fazer a consulta.
Onde eu errei? Alguém poderia me auxiliar?
O código para inserir (que está funcionando) é:
Acredito que você precisa criar uma classe ou um método para realizar a conexão com o banco de dados. Replicar os dados da conexão em todos os métodos é trabalhoso e acaba gerando erros que já haviam sido resolvidos. Por Exemplo:
publicConnectiongetConnection()trhowsSQLException{Connectionconnection=null;try{/* Obtém o driver de conexão com o banco de dados */Class.forName("com.mysql.jdbc.Driver");/* Configura os parâmetros da conexão */Stringurl="jdbc:mysql://localhost/ex_login"; String username = "root"; String password = ""; /* Tenta se conectar */ connection = DriverManager.getConnection(url, username, password); /* Caso a conexão ocorra com sucesso, a conexão é retornada */ return connection; } catch(ClassNotFoundException e){ JOptionPane.showMessageDialog(this,"Drivernãoencontrado."+e.printStackTrace());}
Durante a programação devemos ter muita atenção ao erro lançado pelo programa e erro lançado pelo programador.
No seu código, o programador informou o erro “Driver não encontrado” ao entrar no
"} catch(ClassNotFoundException e){ ". O desejável, durante o desenvolvimento, é que o erro do programa seja exibido. Ou seja, deve exibir “e.getMessage()” ou o “e.printStackTrace()” para saber o motivo real do erro e em qual linha do código ocorreu o erro.
Se vc está realizando um consulta você pode ter como resultado apenas um registro, vários registros ou nenhum registro. Por isso vc precisa de uma lista de Objetos que represente a “tablogin”. Ou precisa utilizar como consulta a chave primária da Tablea tabLogin. Abaixo eu fiz o código utilizando como se realizasse uma consulta que pode retornar vários resultados.
publicclassTabLogin{privateStringusuario;privateStringsenha;privateStringemail;/* métodos de get e set*/}...privatevoidbtInserirActionPerformed(java.awt.event.ActionEventevt){try{ArrayListlistaTabLogin=newArrayList<TabLogin>();Connectioncon=getConection();Stringquery="SELECT usuario, senha, email FROM tablogin WHERE usuario= ? AND senha= ?";PreparedStatementstmt=con.prepareStatement(query);stmt.setString(1,txtusuario.getText());stmt.setString(2,camposenha.getText());ResultSetRS=stmt.executeQuery();consulta=true;/* Se vc não tiver nenhum resultado da sua consulta vc não terá dados JOptionPane.showMessageDialog(this,"Dados Encontrados!"); */while(RS.next()){TabLogintabLogin=newTabLogin();tabLogin.setUsuario(RS.getString("usuario"));tabLogin.setSenhal(RS.getString("senha"));tabLogin.setEmail(RS.getString("email"));listaTabLogin.add(tabLogin);}/* Nesse momento a sua lista de tabLogin pode estar vazia, com um registro ou vários registros txtemail.setText(email); if (!consulta) JOptionPane.showMessageDialog(this,"Dados Não Encontrados!"); */IteratoritListaTabLogin=listaTabLogin.iterator();while(itListaTabLogin.hasNext()){TabLogintabLogin=(tabLogin)itListaTabLogin.next();JOptionPane.showMessageDialog(this,tabLogin.getEmail());}RS.close();stmt.close();con.close();//fecha conexão com BD }catch(SQLExceptione){//trata os erros JOptionPane.showMessageDialog(this,"Erro Comando SQL "+e.getMessage());}catch(ClassNotFoundExceptione){JOptionPane.showMessageDialog(this,"Driver não encontrado");}}
Hehehe. Vamos ao erro do ClassNotFoundException. Não está fazendo muito sentido uma vez que vemos esse erro se o driver JDBC não for encontrado. Se vc conseguiu executar o método de inserção vc deveria conseguir executar a consulta sem lançar o erro de ClassNotFoundException. Devo imaginar que:
a) O método de consulta está em outro pacote diferente do método de inserir
b) Ou vc realizou a consulta de inserir e consultar em momentos diferentes e deve ter modificado o PATH do projeto e desconfigurou e perdeu novamente o driver JDBC.
Vc precisa configurar adicionar o PATH do JDBC ao seu projeto para funcionar.