Por exemplo, eu tenho uma tabela “Produtos” no banco “Estoque” do access, e nessa tabela tem um campo “Nome”, e eu queria criar um JComboBox q toda vez que a tela feita pelo netbeans fosse carregada esses dados iriam pro JComboBox. Tem como?
Como adicionar dados de um campo de uma tabela no access em um JComboBox?
5 Respostas
Fala cara, blza?
Então, vc pode pegar os dados do banco e inseri-los num ArrayList.
JComboBox combo = null;
List<String> lista = new ArrayList<String>();
while(rs.next()){
lista.add(rs.getString("Nome");
}
combo = new JComboBox(lista.toArray());
Daí é só adaptar ao seu projeto, mas é basicamente isso.
Eu utilizei um ArrayList pois não sei se vai variar a quantidade na tabela, mas se for fixa vc pode usar um array normal.
Abraço
Obrigado pela resposta.
Eu tentei fazer o que vc me indicou, ai com algumas adaptações que eu fiz ficou assim:
List lista = new ArrayList();
try {
while (conCliente.resultset.next()) {
lista.add(conCliente.resultset.getString("SELECT txt_descricao FROM TIPO_SERVICO "));
}
} catch (SQLException ex) {
Logger.getLogger(FormularioCadastrarCliente.class.getName()).log(Level.SEVERE, null, ex);
}
servicoCliente.addItem(lista.toArray());
compilou sem problemas, mas quando eu rodo o programa os itens nao aparecem na combobox.
Só pra complementar, ele adiciona na combobox o seguinte texto: [Ljava.lang.Object;@7ffe01
você tá fazendo errado.
- Crie uma variável do tipo ResultSet
- Atribua essa variável o valor da consulta
- Percorra por um laço de repetição esse resultset.
ex:
PreparedStatement pstmt = openConnection().prepareStatement("SELECT Nome FROM Tabela");
ResultSet rs = pstmt.executeQuery();
List<String> lista = new ArrayList<String>();
while(rs.next()){
lista.add(rs.getString("Nome"); //campo que vc quer criar uma lista
}
JComboBox combo = new JComboBox(lista.toArray());
Você tem que executar a query uma única vez e atribuir esse valor à um resultset depois é só percorrer o resultset atribuindo à lista.
Entendeu?
funcionou! 
Mt obrigado.