Listando dados de uma Tabela Access em uma JComboBox no NetBeans

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (6)  (2)

Para listar os dados de uma tabela Access em uma JComboBox no Netbeans é preciso ler todos os dados da tabela e posteriormente inseri-los no respectivo JComboBox através do seu método “addItem”.

Listando dados de uma Tabela Access em uma JComboBox no NetBeans

 

Para listar os dados de uma tabela Access em uma JComboBox no Netbeans é preciso ler todos os dados da tabela e posteriormente inseri-los no respectivo JComboBox através do seu método “addItem”. Esta leitura poderá ser feita através de uma conexão utilizando driver nativo do Access ou através de uma conexão ODBC/JDBC. Neste exemplo será ilustrada a utilização da conexão ODBC/JDBC.

 

Exemplo

Criar uma aplicação no Netbeans que exibe um formulário para efetuar cadastros de uma agenda, contendo a opção da listagem das siglas dos Estados brasileiros numa JComboBox:

1)     Criar uma nova base de dados, no Access, com o nome “BDAgenda”, criar a tabela “TbUF” contendo o campo “UF”. Cadastrar manualmente, no Access, as siglas dos Estados: DF, GO, CE, RS... Feche o Access.

2)     Criar a fonte de dados ODBC: abra o Painel de Controle do Windows, selecione “Ferramentas Adminitrativas à Fonte de Dados ODBC à clique no botão “Adicionar”

 

jvmbldtajbnbfig01.JPG

Figura 01. Administrador de Ferramentas ODBC.

 

Na janela que se abre selecione o driver do Access à “Concluir”. Na próxima janela digite o nome para a fonte de dados ODBC, que será referenciado na aplicação Java: “BDAgenda” (para facilitar digite o mesmo nome da base de dados), clique no botão “Selecionar” e navegue até a pasta que contém o local onde a base de dados foi salva. Após seleciona-la, clique no botão “OK”à “OK” à”OK”.

 

jvmbldtajbnbfig02.JPG 

Figura 02. Criar Nova fonte de Dados.

 

jvmbldtajbnbfig03.JPG

Figura 03. Configurar ODBC para Microsoft Access

 

jvmbldtajbnbfig04.JPG

Figura 04. Selecionar Banco de Dados.

 

3)     Criar, no netbeans, um JFrameForm: Menu Fileà NewFileà Java GUI Forms à Next à digite o nome da classe (CadAgenda) em “Class Name” à Finish.

4)     Inserir o JComboBox que irá listar as sigla dos Estados. Por exemplo:

 

jvmbldtajbnbfig05.JPG 

Figura 05. CadAgenda.

 

O Netbeans ao criar o JComboBox, automaticamente, cria alguns itens, “lixo”, a serem listados. Neste caso é necessário apagar estes itens, caso contrário os mesmos ficaram aparecendo para o usuário. Para “limpar” o JComboBox, selecione-o e na janela de propriedades clique em “Model” e delete os itens existente, tecle “Delete”, ou clique na caixa “...” e remova o itens clicando no botão “Remove” na janela que aparece.

 

5)     Criar os códigos para que o formulário, quando for exibido, mostre os dados da tabela no JComboBox. Isto deve ser feito dentro do método construtor da Classe: clique na aba “Source”, ou selecione o menu “View”à “Editors” à “Source”,  e localize o método construtor da classe:

public CadAgenda(){

 

E depois do comando “initComponents();” , insira:

 

try{ //tratamento de erros

        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//Seleciona o Driver do Banco

            //conecta no BD

            Connection con=DriverManager.getConnection("jdbc:odbc:BDAGENDA","","");

 

            Statement stmt= con.createStatement();//objeto comdo sql

 

        //Executa o comando SQL que retorna todos os campos da tabela desejada

        ResultSet RS= stmt.executeQuery("Select *  from TbUF");

 

        //popular o JcomboBox que os dados da tabela que foram salvos dentro de RS

        while(RS.next()){

            jComboBox1.addItem(RS.getString("UF"));

        }

        } catch(SQLException e){ //trata os erros

            JOptionPane.showMessageDialog(this,"Erro Cmdo SQL "+e.getMessage());

        } catch(ClassNotFoundException e){       

            JOptionPane.showMessageDialog(this,"Driver não encontrado");

            }

        

6)     Importar os pacotes necessários para trabalhar com banco de dados e para exibir caixas de mensagens. Antes de “public class CadAgenda extends javax.swing.JFrame {“ , digite:

 

import java.sql.*;  //pacote para trabalhar com banco de dados.

import javax.swing.*;  // pacote para trabalha com componentes swing (caixa de mensagem).

 

7)     Compile (F9) e Execute (Shift+F6)

 

Para verificar qual o item selecionado basta utilizar o metodo “getSelectedItem()” do JComboBox e armazena-lo em uma variável auxiliar e posteriormente salva-lo no banco:

 

a) Abra o banco criado anteriormente, BDAgenda, crie uma nova tabela contendo os seguintes campos:

-          Nome: Tipo Texto

-          Telefone: Tipo Texto

-          UF: tipo texto

Salve a tabela com o nome “TbAgenda”, se desejar pode criar uma chave primária que pode ser auto-numerada.

b) Volte para o Netbeans, na aplicação CadAgenda, selecione o botão “Inserir”, clique com o botão direito do mouse sobre o mesmo, selecione “Event” à “Action”à “actionPerformed”.

 

jvmbldtajbnbfig06.JPG

Figura 06. Botão “Inserir”.

 

c) No código que aparece, observe que é criado um método para tratar os eventos deste botão, insira os comandos para abrir a conexão com o banco, verificar os dados digitados pelos usuários nos JTextField, criar o comando SQL para salvar os dados do usuário no Banco e Fechar a Conexão. Depois do comando:

 

“private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {“,  digite:

 

try{ //tratamento de erros

        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//Seleciona o Driver do Banco

    //conecta no BD

    Connection con=DriverManager.getConnection("jdbc:odbc:BDAGENDA","","");

 

    Statement stmt= con.createStatement();//objeto comdo sql

 

        //Armazena em variáveis auxiliares os dados digitados pelo usuário

        String nome= jTextField1.getText();

        String telefone= jTextField2.getText();

        String UF= (String) jComboBox1.getSelectedItem();

        //Executa o comando SQL para salvar os dados na tabela desejada

        int result= stmt.executeUpdate("insert into TbAgenda (Nome, Telefone, UF) values('" + nome + "','" + telefone + "','" + UF + "')");

 

        //Verifica se executou o comando SQL sem erros

        if (result > 0)

            JOptionPane.showMessageDialog(this,"Dados Salvos com Sucesso!");

            else JOptionPane.showMessageDialog(this,"Erro ao tentar Salvar os Dados!");

         } catch(SQLException e){ //trata os erros

            JOptionPane.showMessageDialog(this,"Erro Cmdo SQL "+e.getMessage());

        } catch(ClassNotFoundException e){  

            JOptionPane.showMessageDialog(this,"Driver não encontrado");

    }

 

Observação: Não é preciso criar uma nova fonte de dados ODBC, porque ela aponta para o Banco de Dados e não para a Tabela. Como já foi criada uma no início da aplicação então ela vale para todas as tabelas existentes no banco.
 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?