Olá Amigos.Estou com uma duvida gostaria de ver se algum de vocês poderiam me ajudar neste código JAVA >Net Beans

18 respostas
D
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

18 Respostas

rodriguesabner

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.

D

public class FornecedorDAO {

private Connection conexao;

public FornecedorDAO(){

Linha 23>>    this.conexao = new ConnectionFactory().getConnection();

}
D

Entâo Abner segue ,esta ai a linha

rodriguesabner

É classe de conexão? O método é só isso?

Jonathan_Medeiros

Posta sua classe de conexão pra gente dar uma olhada!

D

É então enviei só a linha 23,mas já vou enviar o método para você

D

Só um Minuto…

D

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);
         }
     
     
     }
    

}

Jonathan_Medeiros

Posta essa classe de conexão.

D

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);
     }
    
 }

}

D

Olha depois script padaria havia coloca a senha do banco, mas imaginei que o problema fosse no banco então apaguei>>root,root

Jonathan_Medeiros

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");

D

Jonathan Muito grato.Mas continua dando erro.
O pior é que não vai para o banco.
O meu professor mexeu nele e ficou assim.

Jonathan_Medeiros

Tenta dar uma revisada com seu professor, provavelmente falta algum detalhe que você pode ter deixado passar.

D

Boa Tarde Amigos
Continua dando erro no ConnectionFactory.
throw new RuntimeException(“Erro na conexao:”,e);

T

O seu DriverManager está no formato que o @Jonathan_Medeiros indicou?

D

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);
     }
    
 }

}

T

Quando acessa diretamente o BD com este usuário e senha, consegue visualizar as tabelas?
Digo, por prompt, mysql -uroot -p ou por phpMyAdmin.

Criado 13 de abril de 2019
Ultima resposta 14 de abr. de 2019
Respostas 18
Participantes 4