Problema ao consultar um cargo cadastrado

13 respostas Resolvido
javaprogramação
Rafael_Figueiredo

olá eu sou estudante de programação e estou fazendo um curso do bradesco onde tem q fazer um sistema de cadastro de cargo e consulta se o cargo foi cadastrado buscando os dados no banco sql, porem quando eu faço o cadastro do cargo, ele ate envia o cargo q foi digitado para o banco de dados, porem quando eu abro a tela de consultar o cargo e digito o cargo que foi cadastrado, no resultado ele me mostra como resposta algo parecido com isso sistema.entidades.Cargo@41217cf0.

vou enviar os códigos da tela de consulta e da class cargo, a tela de cadastro, acho que não precisa mudar pois, o cadastro está funcionando corretamente, o problema está na consulta

código da tela de consulta

private void criarEventos() { botaoPesquisar.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { sqlPesquisarCargos(campoCargo.getText()); } });

listaCargos.addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { cargoAtual = listaCargos.getSelectedValue(); if(cargoAtual == null) { botaoEditar.setEnabled(false); botaoExcluir.setEnabled(false); }else { botaoEditar.setEnabled(true); botaoExcluir.setEnabled(true); } } }); }

private void sqlPesquisarCargos(String nome) { Connection conexao; Statement instrucaoSQL; ResultSet resultados; try { conexao = DriverManager.getConnection(BancoDeDados.stringDeConexao, BancoDeDados.usuario, BancoDeDados.senha);

instrucaoSQL = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);

        resultados = instrucaoSQL.executeQuery("SELECT * FROM cargos WHERE nome like '%"+nome+"%'");
        
        listasCargosModelo.clear();
        
        while (resultados.next()) {
            Cargo cargo = new Cargo();
            cargo.setId(resultados.getInt("id"));
            cargo.setNome(resultados.getString("nome"));
            
            listasCargosModelo.addElement(cargo);
        }
 
    }catch (SQLException ex) {
        JOptionPane.showMessageDialog(null,  "Ocorreu um erro ao consultas os Cargos.");
        Logger.getLogger(CargosInserir.class.getName()).log(Level.SEVERE, null, ex);
    }

}

e aqui é a class cargo

package sistema.entidades;

public class Cargo {

private Integer id;
private String nome;

public Integer getId() {
    return id;
}

public void setId(Integer id) {
    this.id = id;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

}

Se alguém puder me ajudar, agradeco dms, gostaria de ve o sistema funcionando certinho… O que eu preciso mudar no codigo para que apareça o cargo que eu cadastrei na tela de cadastro apareça ao fazer a consulta na tela de consulta.

13 Respostas

staroski

Essa é a implementação padrão do método toString() da classe Cargo.
Posta o fonte do seu listasCargosModelo.

Rafael_Figueiredo
private void sqlPesquisarCargos(String nome) {

//Conexão

Connection conexao;

//Instrução SQL

Statement instrucaoSQL;

//Resultados

ResultSet resultados;
try {
            // Conectando ao banco de dados
            conexao = DriverManager.getConnection(BancoDeDados.stringDeConexao, BancoDeDados.usuario, BancoDeDados.senha);
            
            // Criando A intrução SQL
            instrucaoSQL = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
            resultados = instrucaoSQL.executeQuery("SELECT * FROM cargos WHERE nome like '%"+nome+"%'");
            
            listasCargosModelo.clear();
            
            while (resultados.next()) {
                Cargo cargo = new Cargo();
                cargo.setId(resultados.getInt("id"));
                cargo.setNome(resultados.getString("Nome"));
                
                listasCargosModelo.addElement(cargo);
            }
        
        }catch (SQLException ex) {
            JOptionPane.showMessageDialog(null,  "Ocorreu um erro ao consultas os Cargos.");
            Logger.getLogger(CargosInserir.class.getName()).log(Level.SEVERE, null, ex);
        }
}
staroski

Como você implementou esse listasCargosModelo?

Rafael_Figueiredo

desculpa eu n entendi, em um outro site q eu fiz essa pergunta o rapaz me falo que era pra atualizar os metodos getters e setters mais ai n entendi e como estão demorando pra responder, mandei a pergunta nesse aqui tbm.

Rafael_Figueiredo

tem esses codigos aqui q estão mais acima da tela de pesquisa

private void criarEventos() {

botaoPesquisar.addActionListener(new ActionListener() {

<a class="mention" href="/u/override">@Override</a>

public void actionPerformed(ActionEvent e) {

sqlPesquisarCargos(campoCargo.getText());

}

});
listaCargos.addListSelectionListener(new ListSelectionListener() {

<a class="mention" href="/u/override">@Override</a>

public void valueChanged(ListSelectionEvent e) {

cargoAtual = listaCargos.getSelectedValue();

if(cargoAtual == null) {

botaoEditar.setEnabled(false);

botaoExcluir.setEnabled(false);

}else {

botaoEditar.setEnabled(true);

botaoExcluir.setEnabled(true);

}

}

});

}
staroski

forum

Você não tem um objeto listaCargos?
Imagino que ele seja do tipo JList, se ele é um JList, ele tem um ListModel associado, que provavelmente é esse seu objeto listasCargosModelo.

Pois bem, só estou pedindo para você postar o fonte desse listasCargosModelo.

Se ainda não entendeu, posta o código fonte da sua tela…

Rafael_Figueiredo

ok, vou mandar o codigo fonte, assim acho q fica mais facil pra vc, esse e da tela de consulta

package sistema.telas;
import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.DefaultListModel;

import javax.swing.JButton;

import javax.swing.JLabel;

import javax.swing.JList;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.event.ListSelectionEvent;

import javax.swing.event.ListSelectionListener;

import sistema.BancoDeDados;

import sistema.entidades.Cargo;

//Criaremos a classe CargosConsultar a partir da linha 25, Conforme a indicação no codigo.

public class CargosConsultar extends JPanel {

Cargo cargoAtual;
JLabel labelTitulo, labelCargo;
JTextField campoCargo;
JButton botaoPesquisar, botaoEditar, botaoExcluir;
DefaultListModel<Cargo> listasCargosModelo = new DefaultListModel();
JList<Cargo> listaCargos;

public CargosConsultar() {
	criarComponentes();
	criarEventos();
}
private void criarComponentes() {
	setLayout(null); // Definimos que não será usado nenhum gerenciador de layout.
	
	//Nas linhas 43 a 55, instanciamos os componentes da tela.
	labelTitulo = new JLabel("Consulta de Cargos", JLabel.CENTER);
	labelTitulo.setFont(new Font(labelTitulo.getFont().getName(), Font.PLAIN, 20));
	labelCargo = new JLabel("Nome do cargo", JLabel.LEFT);
	campoCargo = new JTextField();
	botaoPesquisar = new JButton("Pesquisar Cargo");
	botaoEditar = new JButton("Editar Cargo");
	botaoEditar.setEnabled(false);
	botaoExcluir = new JButton("Excluir Cargo");
	botaoExcluir.setEnabled(false);
	listasCargosModelo = new DefaultListModel();
	listaCargos = new JList();
	listaCargos.setModel(listasCargosModelo);
	listaCargos.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
	
	//Nas linhas 58 a 64, definimos o posicionamento e o tamanho dos componentes na tela.
	labelTitulo.setBounds(20, 20, 660, 40);
	labelCargo.setBounds(150, 120, 400, 20);
	campoCargo.setBounds(150, 140, 400, 40);
	botaoPesquisar.setBounds(560, 140, 130, 40);
	listaCargos.setBounds(150, 200, 400, 240);
	botaoEditar.setBounds(560, 360, 130, 40);
	botaoExcluir.setBounds(560, 400, 130, 40);
	
	//Nas linhas 67 a 72 adicionamos os componentes a tela.
	add(labelTitulo);
	add(labelCargo);
	add(campoCargo);
	add(listaCargos);
	add(botaoPesquisar);
	add(botaoEditar);
	add(botaoExcluir);
	
	//Tornando a tela visível.
	setVisible(true);
	
}
private void criarEventos() {
	botaoPesquisar.addActionListener(new ActionListener() {
		@Override
		public void actionPerformed(ActionEvent e) {
			sqlPesquisarCargos(campoCargo.getText());
		}
	});
	botaoEditar.addActionListener(new ActionListener() {
		@Override
		public void actionPerformed(ActionEvent e) {
		}
	});
	/*Nas linha 95 a 100 , definimos que, ao ser acionado, o botão Excluir Cargo irá
	chamar o método sqlDeletarCargo.*/
	botaoExcluir.addActionListener(new ActionListener() {
		@Override
		public void actionPerformed(ActionEvent e) {
			sqlDeletarCargo();
		}
	});
	/*Nas 103 a 116, definimos que, ao se selecionar algum cargo na lista, este será
	 armazenado na variável cargoAtual, e os botões Editar Cargo e Excluir Cargo serão habilitados. */
	listaCargos.addListSelectionListener(new ListSelectionListener() {
		@Override
		public void valueChanged(ListSelectionEvent e) {
			cargoAtual = listaCargos.getSelectedValue();
			if(cargoAtual == null) {
				botaoEditar.setEnabled(false);
				botaoExcluir.setEnabled(false);
			}else {
				botaoEditar.setEnabled(true);
				botaoExcluir.setEnabled(true);
			}
		}
	});
}
	/*Nas linhas 118 a 147, realizamos a conexão com o banco de dados para obtermos, por meio dele, todos os cargos
	cadastrados e adicioná-los à lista de seleção.*/
	private void sqlPesquisarCargos(String nome) {
		//Conexão
		Connection conexao;
		//Instrução SQL
		Statement instrucaoSQL;
		//Resultados
		ResultSet resultados;
		
		try {
			// Conectando ao banco de dados
			conexao = DriverManager.getConnection(BancoDeDados.stringDeConexao, BancoDeDados.usuario, BancoDeDados.senha);
			
			// Criando A intrução SQL
			instrucaoSQL = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
			resultados = instrucaoSQL.executeQuery("SELECT * FROM cargos WHERE nome like '%"+nome+"%'");
			
			listasCargosModelo.clear();
			
			while (resultados.next()) {
				Cargo cargo = new Cargo();
				cargo.setId(resultados.getInt("id"));
				cargo.setNome(resultados.getString("nome"));
				
				listasCargosModelo.addElement(cargo);
			}
		
		}catch (SQLException ex) {
			JOptionPane.showMessageDialog(null,  "Ocorreu um erro ao consultas os Cargos.");
			Logger.getLogger(CargosInserir.class.getName()).log(Level.SEVERE, null, ex);
		}
}
/*Ao ser acionado o botão Excluir Cargo irá executar o método sqlDeletarCargo. na sintaxe das linhas 149 a 171, podemos ver que esse método irá
 irá se conectar com o banco de dados e executar a instrução SQL que irá remover o cargo selecionado.*/
private void sqlDeletarCargo() {
	
	int confirmacao = JOptionPane.showConfirmDialog(null, "Deseja realmente excluir o Cargo "+cargoAtual.getNome()+"?", "Excluir", JOptionPane.YES_NO_OPTION);
	if(confirmacao == JOptionPane.YES_OPTION) {
		// Conexão
		Connection conexao;
		// Intrução SQL
		Statement instrucaoSQL;
		// Resultados
		ResultSet resultados;
		
		try {
			// Conectando ao banco de dados
			conexao = DriverManager.getConnection(BancoDeDados.stringDeConexao, BancoDeDados.usuario, BancoDeDados.senha);
			
			// Criando a instrução SQL
			instrucaoSQL = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
			instrucaoSQL.executeUpdate("DELETE cargos WHERE id="+cargoAtual.getId()+"");
			
			JOptionPane.showMessageDialog(null, "Cargo deletado com sucesso!");
		} catch(SQLException ex) {
			JOptionPane.showMessageDialog(null, "Ocorreu um erro ao excluir o Cargo.");
			Logger.getLogger(CargosInserir.class.getName()).log(Level.SEVERE, null, ex);
		}
	}
}

}Texto pré-formatado

Rafael_Figueiredo

aqui está o codigo fonte da tela de cadastro, se precisar

package sistema.telas;

import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JButton;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JTextField;

import sistema.BancoDeDados;

import sistema.entidades.Cargo;

public class CargosInserir extends JPanel {

JLabel labelTitulo, labelCargo;
JTextField campoCargo;
JButton botaoGravar;

public CargosInserir() {
	criarComponentes();
	criarEventos();
}

private void criarComponentes() {
	//Na linha 34, estamos definindo que não usaremos nenhum gerenciador de layout.
	setLayout(null);
	
	/*Nas linhas 37 a 41 estamos instanciando os componentes da tela:
	 - Os componentes JLabel estão sendo inicializados com textos e alinhamentos especificos.
	 - Já o componente JButton, está sendo inicializado somente com seu texto de exibição.*/
	labelTitulo = new JLabel("Cadastro de Cargo", JLabel.CENTER);
	labelTitulo.setFont(new Font(labelTitulo.getFont().getName(), Font.PLAIN, 20));
	labelCargo = new JLabel("Nome do cargo", JLabel.LEFT);
	campoCargo = new JTextField();
	botaoGravar = new JButton("Adicionar Cargo");
	
	//Na linha 46 a 49, Definimos o posicionamento e o tamanho dos componentes na tela.
	labelTitulo.setBounds(20, 20, 660, 40);
	labelCargo.setBounds(150, 120, 400, 20);
	campoCargo.setBounds(150, 140, 400, 40);
	botaoGravar.setBounds(250, 380, 200, 40);
	
	//Na linha 52 a 55, adicionamos os componentes à tela.
	add(labelTitulo);
	add(labelCargo);
	add(campoCargo);
	add(botaoGravar);
	
	//Na linha 58, tornamos á tela visivel.
	setVisible(true);
}
/*Nas linhas 61 a 73,  estamos definindo que, ao ser acionado, o botão
 Adicionar Cargo irá criar uma instância da entidade Cargo atribuíndo ao cargo
 o valor do texto digitado no JTextField campoCargo e por fim chamar o
 método sqlInserirCargo.*/
private void criarEventos() {
	botaoGravar.addActionListener(new ActionListener() {
		@Override
		public void actionPerformed(ActionEvent e) {
			Cargo novoCargo = new Cargo();
			novoCargo.setNome(campoCargo.getText());
		
			sqlInserirCargo(novoCargo);
		}
	});
}
	//nas linhas 74 a 78, validamos o conteúdo do campo Nome do Cargo
	private void sqlInserirCargo(Cargo novoCargo) {
		
		//validando nome
		if(campoCargo.getText().length() <= 3 /*Caso não possua mais de 3 caractres, aparecerá a seguinte mensagem ao usuário.*/)  {
		JOptionPane.showMessageDialog(null, "Por favor, preencha o nome corretamente");
		return;
		}
	
	/*Nas linhas 86 a 106, realizamos a conexão com o banco de dados para inserir um novo cargo, de acordo com os dados que foram
	adicionados ao campo Nome do Cargo.*/
		
	//Conexão
	Connection conexao;
	//Instrução SQL
	Statement instrucaoSQL;
	//Resultados
	ResultSet resultados;
	
	try {
		//conectando ao banco de dados
		conexao = DriverManager.getConnection(BancoDeDados.stringDeConexao, BancoDeDados.usuario, BancoDeDados.senha);
		
		//criando a instrução SQL
		instrucaoSQL = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
		instrucaoSQL.executeUpdate("INSERT INTO cargos (nome) VALUES ('"+novoCargo.getNome()+"')");
		
		JOptionPane.showMessageDialog(null, "Cargo adicionado com sucesso!");		
				
	}catch (SQLException ex) {
		JOptionPane.showMessageDialog(null, "Ocorreu um erro ao adicionar o Cargo.");
		Logger.getLogger(CargosInserir.class.getName()).log(Level.SEVERE, null, ex);
	}
}

}Texto pré-formatado

Rafael_Figueiredo

isso é tudo oq eu tenho, mais aquela class cargo, mas ela eu ja envei ela com todo o codigo nela e está ai em cima, nas respostas.

staroski

Não usa DefaultListModel, implementa o seu próprio ListModel estendendo a classe AbstractListModel e daí você apresenta os dados do jeito que você quiser, não vai nem precisar daquele laço fazendo addElement.

Rafael_Figueiredo

man, eu não entendo mt de java ainda, to começando agora, em quais linhas de codigos eu preciso mudar. fazer essas alterações que vc falo

staroski
Solucao aceita

Primeiramente crie o seu próprio ListModel para apresentar objetos do tipo Cargo:

package sistema.telas;

import java.util.List;

import javax.swing.AbstractListModel;

import sistema.entidades.Cargo;

@SuppressWarnings("serial")
public class CargoListModel extends AbstractListModel<String> {

    private List<Cargo> cargos;

    // vamos usar esse método pra atualizar o conteúdo do Jlist
    public void setCargos(List<Cargo> cargos) {
        this.cargos = cargos;
        fireContentsChanged(this, 0, cargos.size() - 1);
    }

    // o Jlist vai chamar esse método pra saber quantos itens é pra renderizar
    @Override
    public int getSize() {
        return cargos == null ? 0 : cargos.size();
    }

    // o Jlist vai chamar esse método pra apresentar os itens em cada linha
    @Override
    public String getElementAt(int linha) {
        if (cargos == null || cargos.isEmpty()) {
            return null;
        }
        Cargo cargo = cargos.get(linha);
        return cargo.getNome(); // aqui você retorna o valor a ser exibido no seu JList
    }
}

Agora vamos ajustar a implementação da sua tela CargosConsultar:

package sistema.telas;

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import sistema.BancoDeDados;
import sistema.entidades.Cargo;

//Criaremos a classe CargosConsultar a partir da linha 25, Conforme a indicação no codigo.

public class CargosConsultar extends JPanel {

    private Cargo cargoAtual;
    private JLabel labelTitulo, labelCargo;
    private JTextField campoCargo;
    private JButton botaoPesquisar, botaoEditar, botaoExcluir;
    private JList<String> listaCargos; // o JList vai renderizar Strings (os nomes dos cargos)
    private CargoListModel listasCargosModelo = new CargoListModel(); // o ListModel agora vai ser um CargoListModel
    private List<Cargo> cargos= new ArrayList<>(); // o objetos Cargo vão ser armazenados em uma lista

    public CargosConsultar() {
        criarComponentes();
        criarEventos();
    }

    private void criarComponentes() {
        setLayout(null); // Definimos que não será usado nenhum gerenciador de layout.

        // Nas linhas 43 a 55, instanciamos os componentes da tela.
        labelTitulo = new JLabel("Consulta de Cargos", JLabel.CENTER);
        labelTitulo.setFont(new Font(labelTitulo.getFont().getName(), Font.PLAIN, 20));
        labelCargo = new JLabel("Nome do cargo", JLabel.LEFT);
        campoCargo = new JTextField();
        botaoPesquisar = new JButton("Pesquisar Cargo");
        botaoEditar = new JButton("Editar Cargo");
        botaoEditar.setEnabled(false);
        botaoExcluir = new JButton("Excluir Cargo");
        botaoExcluir.setEnabled(false);
        listaCargos = new JList<>();
        listaCargos.setModel(listasCargosModelo);
        listaCargos.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);

        // Nas linhas 58 a 64, definimos o posicionamento e o tamanho dos componentes na tela.
        labelTitulo.setBounds(20, 20, 660, 40);
        labelCargo.setBounds(150, 120, 400, 20);
        campoCargo.setBounds(150, 140, 400, 40);
        botaoPesquisar.setBounds(560, 140, 130, 40);
        listaCargos.setBounds(150, 200, 400, 240);
        botaoEditar.setBounds(560, 360, 130, 40);
        botaoExcluir.setBounds(560, 400, 130, 40);

        // Nas linhas 67 a 72 adicionamos os componentes a tela.
        add(labelTitulo);
        add(labelCargo);
        add(campoCargo);
        add(listaCargos);
        add(botaoPesquisar);
        add(botaoEditar);
        add(botaoExcluir);

        // Tornando a tela visível.
        setVisible(true);

    }

    private void criarEventos() {
        botaoPesquisar.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                sqlPesquisarCargos(campoCargo.getText());
            }
        });
        botaoEditar.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {}
        });
        /*
         * Nas linha 95 a 100 , definimos que, ao ser acionado, o botão Excluir Cargo irá chamar o método sqlDeletarCargo.
         */
        botaoExcluir.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                sqlDeletarCargo();
            }
        });
        /*
         * Nas 103 a 116, definimos que, ao se selecionar algum cargo na lista, este será armazenado na variável cargoAtual, e os botões Editar Cargo e Excluir Cargo serão habilitados.
         */
        listaCargos.addListSelectionListener(new ListSelectionListener() {
            @Override
            public void valueChanged(ListSelectionEvent e) {
                int linha = listaCargos.getSelectedIndex();
                cargoAtual = cargos.get(linha);
                if (cargoAtual == null) {
                    botaoEditar.setEnabled(false);
                    botaoExcluir.setEnabled(false);
                } else {
                    botaoEditar.setEnabled(true);
                    botaoExcluir.setEnabled(true);
                }
            }
        });
    }

    /*
     * Nas linhas 118 a 147, realizamos a conexão com o banco de dados para obtermos, por meio dele, todos os cargos cadastrados e adicioná-los à lista de seleção.
     */
    private void sqlPesquisarCargos(String nome) {
        // Conexão
        Connection conexao;
        // Instrução SQL
        Statement instrucaoSQL;
        // Resultados
        ResultSet resultados;

        try {
            // Conectando ao banco de dados
            conexao = DriverManager.getConnection(BancoDeDados.stringDeConexao, BancoDeDados.usuario, BancoDeDados.senha);

            // Criando A intrução SQL
            instrucaoSQL = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
            resultados = instrucaoSQL.executeQuery("SELECT * FROM cargos WHERE nome like '%" + nome + "%'");
            cargos.clear();
            while (resultados.next()) {
                Cargo cargo = new Cargo();
                cargo.setId(resultados.getInt("id"));
                cargo.setNome(resultados.getString("nome"));
                cargos.add(cargo);
            }
            listasCargosModelo.setCargos(cargos);

        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Ocorreu um erro ao consultas os Cargos.");
            Logger.getLogger(CargosInserir.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    /*
     * Ao ser acionado o botão Excluir Cargo irá executar o método sqlDeletarCargo. na sintaxe das linhas 149 a 171, podemos ver que esse método irá irá se conectar com o banco de dados e executar a instrução SQL que irá remover o cargo
     * selecionado.
     */
    private void sqlDeletarCargo() {

        int confirmacao = JOptionPane.showConfirmDialog(null, "Deseja realmente excluir o Cargo " + cargoAtual.getNome() + "?", "Excluir", JOptionPane.YES_NO_OPTION);
        if (confirmacao == JOptionPane.YES_OPTION) {
            // Conexão
            Connection conexao;
            // Intrução SQL
            Statement instrucaoSQL;
            // Resultados
            ResultSet resultados;

            try {
                // Conectando ao banco de dados
                conexao = DriverManager.getConnection(BancoDeDados.stringDeConexao, BancoDeDados.usuario, BancoDeDados.senha);

                // Criando a instrução SQL
                instrucaoSQL = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
                instrucaoSQL.executeUpdate("DELETE cargos WHERE id=" + cargoAtual.getId() + "");

                JOptionPane.showMessageDialog(null, "Cargo deletado com sucesso!");
            } catch (SQLException ex) {
                JOptionPane.showMessageDialog(null, "Ocorreu um erro ao excluir o Cargo.");
                Logger.getLogger(CargosInserir.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
}
Rafael_Figueiredo

mannooooo, muiitttooooo obrigadooooo, serioo msm, está funcionando agora, obrigado Ricardo :smile::smile::v::v::+1::+1:

Criado 23 de outubro de 2020
Ultima resposta 24 de out. de 2020
Respostas 13
Participantes 2