Como adicionar dados de um campo de uma tabela no access em um JComboBox?

5 respostas
B

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?

5 Respostas

Thiago_Luis

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

L

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.

B

Só pra complementar, ele adiciona na combobox o seguinte texto: [Ljava.lang.Object;@7ffe01

M

você tá fazendo errado.

  1. Crie uma variável do tipo ResultSet
  2. Atribua essa variável o valor da consulta
  3. 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?

B

funcionou! :smiley:

Mt obrigado.

Criado 26 de maio de 2009
Ultima resposta 31 de mai. de 2009
Respostas 5
Participantes 4