run:
Exception in thread “AWT-EventQueue-0” java.lang.RuntimeException: Erro na conexao:
at br.com.projeto.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:31)
at br.com.projeto.dao.FornecedorDAO.(FornecedorDAO.java:23)
at br.com.projeto.view.FrmCadastroFornecedor.txtCadastrarActionPerformed(FrmCadastroFornecedor.java:301)
at br.com.projeto.view.FrmCadastroFornecedor.access$100(FrmCadastroFornecedor.java:14)
at br.com.projeto.view.FrmCadastroFornecedor$2.actionPerformed(FrmCadastroFornecedor.java:146)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6539)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.sql.SQLException: Access denied for user ‘’@‘localhost’ (using password: NO)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4120)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:925)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1704)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1250)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2465)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2498)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2283)
at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:822)
at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:404)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:317)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at br.com.projeto.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:27)
… 40 more
Opa Daniel, seja bem vindo!
Exception in thread “AWT-EventQueue-0” java.lang.RuntimeException: Erro na conexao:
at br.com.projeto.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:31)
at br.com.projeto.dao.FornecedorDAO.(FornecedorDAO.java:23)
Dá uma checada na linha 23 do `FornecedorDAO e manda o código.
public class FornecedorDAO {
private Connection conexao;
public FornecedorDAO(){
Linha 23>> this.conexao = new ConnectionFactory().getConnection();
}
Entâo Abner segue ,esta ai a linha
É classe de conexão? O método é só isso?
Posta sua classe de conexão pra gente dar uma olhada!
É então enviei só a linha 23,mas já vou enviar o método para você
Só um Minuto…
Dá uma olhada aí Por Favor!!!
package br.com.projeto.dao;
import br.com.projeto.jdbc.ConnectionFactory;
import br.com.projeto.model.Fornecedor;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
/**
*
-
@author Welligton
*/
public class FornecedorDAO {private Connection conexao;
public FornecedorDAO(){
this.conexao = new ConnectionFactory().getConnection();
}
public void cadastrarFornecedor(Fornecedor obj){
try {
//1 passo - criar o sql
String sql = “insert into FORNECEDOR (NOME_FORNECEDOR, CPF_FORNECEDOR, CNPJ_FORNECEDOR ,ENDERECO_FORNECEDOR ,TELEFONE_FORNECEDOR ,EMAIL_FORNECEDOR )”
+ “values (?, ?, ?, ?, ?, ?)”;//2 passo - organizar e executar o sql PreparedStatement stmt = conexao.prepareStatement(sql); stmt.setString(1, obj.getNome()); stmt.setString(2, obj.getCpf()); stmt.setString(3, obj.getCnpj()); stmt.setString(4, obj.getEndereco()); stmt.setString(5, obj.getTelefone()); stmt.setString(6, obj.getEmail()); stmt.execute(); stmt.close(); JOptionPane.showMessageDialog(null, "Fornecedor Cadastrado com Sucesso"); } catch (SQLException erro) { JOptionPane.showMessageDialog(/*new FrmCadastroFornecedor()*/null, "Erro ao cadastrar: " + erro); }
}
public List listarFornecedores(String Filtro){
try { //1 etapa : criar um vetor que vai armazenar os registros do banco List<Fornecedor> lista = new ArrayList<Fornecedor>(); //2 etapa : criar o comando sql String cmdSql = ""; if (Filtro == null) { cmdSql = "select * from FORNECEDOR"; } else{ cmdSql = "select * from FORNECEDOR where (CPF_FORNECEDOR = '" + Filtro + "' or CNPJ_FORNECEDOR = '" + Filtro + "')"; } System.out.println(cmdSql); PreparedStatement stmt = conexao.prepareStatement(cmdSql); //3 etapa : guarda o resultado do select dentro do objeto resultSet ResultSet rs = stmt.executeQuery(); //4 passo : Enquanto houver registros guarde o registro na lista while(rs.next()){ Fornecedor objf = new Fornecedor(); objf.setId_fornecedor(rs.getInt("ID_FORNECEDOR")); objf.setNome(rs.getString("NOME_FORNECEDOR")); objf.setCpf(rs.getString("CPF_FORNECEDOR")); objf.setCnpj(rs.getString("CNPJ_FORNECEDOR")); objf.setEndereco(rs.getString("ENDERECO_FORNECEDOR")); objf.setTelefone(rs.getString("TELEFONE_FORNECEDOR")); objf.setEmail(rs.getString("EMAIL_FORNECEDOR")); lista.add(objf); } return lista; } catch (SQLException erro) { throw new RuntimeException(erro); }
}
public void alterarFornecedor(Fornecedor obj){
try { //1 passo - criar o comando sql String sql = "update FORNECEDOR set NOME_FORNECEDOR = ?,CPF_FORNECEDOR = ?,CNPJ_FORNECEDOR = ?," + "ENDERECO_FORNECEDOR= ?, TELEFONE_FORNECEDOR = ?, EMAIL_FORNECEDOR = ?" + "where ID_FORNECEDOR = ?"; //2 passo - organizar e executar o sql PreparedStatement stmt = conexao.prepareStatement(sql); stmt.setString(1, obj.getNome()); stmt.setString(2, obj.getCpf()); stmt.setString(3, obj.getCnpj()); stmt.setString(4, obj.getEndereco()); stmt.setString(5, obj.getTelefone()); stmt.setString (6, obj.getEmail()); stmt.setInt(7,obj.getId_fornecedor()); stmt.execute(); stmt.close(); JOptionPane.showMessageDialog(null, "Cadastrado com Sucesso!"); } catch (SQLException erro) { JOptionPane.showMessageDialog(null, "Aconteceu o erro: "+ erro); }
}
public void excluirFornecedor(Fornecedor obj){
try { //1 passo String sql = "delete from FORNECEDOR where ID_FORNECEDOR = ? "; //2 passo - organizar e executar o sql PreparedStatement stmt = conexao.prepareStatement(sql); stmt.setInt(1,obj.getId_fornecedor()); stmt.execute(); stmt.close(); JOptionPane.showMessageDialog(null, "Cadastro excluido com Sucesso!"); } catch (SQLException erro) { JOptionPane.showMessageDialog(null, "Aconteceu o erro: "+ erro); } }
}
Posta essa classe de conexão.
public class ConnectionFactory {
/**
*
* @return
*/
public Connection getConnection(){
try {
return DriverManager.getConnection("jdbc:mysql://localhost/SCRIPT_PADARIA_ATUAL");
} catch (SQLException e) {
throw new RuntimeException("Erro na conexao:",e);
}
}
}
Olha depois script padaria havia coloca a senha do banco, mas imaginei que o problema fosse no banco então apaguei>>root,root
Tenta colocar dessa forma abaixo, e teste pra ver se a conexão está sendo criada normalmente:
DriverManager.getConnection("jdbc:mysql://localhost:3306/NomeDoSeuSchema", "root", "root");
Jonathan Muito grato.Mas continua dando erro.
O pior é que não vai para o banco.
O meu professor mexeu nele e ficou assim.
Tenta dar uma revisada com seu professor, provavelmente falta algum detalhe que você pode ter deixado passar.
Boa Tarde Amigos
Continua dando erro no ConnectionFactory.
throw new RuntimeException(“Erro na conexao:”,e);
Opa sim;
public Connection getConnection(){
try {
return DriverManager.getConnection("jdbc:mysql://localhost:3306/SCRIPT_PADARIA_ATUAL","root","root");
} catch (SQLException e) {
throw new RuntimeException("Erro na conexao:",e);
}
}
}
Quando acessa diretamente o BD com este usuário e senha, consegue visualizar as tabelas?
Digo, por prompt, mysql -uroot -p ou por phpMyAdmin.