Como Preencher jTextFields usando MySql através de jComboBox [RESOLVIDO]

5 respostas
J
Prezados Experts do GUJ

Eu sou novato em programação e estou desenvolvendo uma aplicação em camadas, porém não estou conseguindo preencher os jTextFields com as informações vindas do Banco de Dados, através de jComboBox.
O meu código abaixo me traz somente o último registro do Banco de Dados, ou seja, ao selecionar um cliente ele me traz a cidade, o endereço e o bairro, mas apenas do último registro feito no BD. A conexão está ok.
Alguém poderia analisar e ver o que estou fazendo de errado?
Atecipadamente eu agradeço.
Pedro

public void carregaComboBox() {
        try {
           
            cbContato.removeAllItems();
            try (Connection conn = ConnectionDataBase.getConnection()) {
                Statement st = conn.createStatement();
                try (ResultSet rs = st.executeQuery("SELECT * FROM contatos")) {
                    while (rs.next()) {
                        cbContato.addItem(rs.getString("NomeCliente"));
                        
                        txtNomeCidade.setText(rs.getString("NomeCidade"));
                        txtEndereco.setText(rs.getString("Endereco"));
                        txtBairro.setText(rs.getString("Bairro"));
                    }
                }
            }
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null,
                    "Ocorreu erro", "Erro",
                    JOptionPane.ERROR_MESSAGE);
        }
    }

5 Respostas

RodrigoKaos

seta essas informações em um cliente e adiciona esse contato em uma list, assim vc vai poder escolher o contato q quer e seta-lo no textfield

RodrigoKaos

Postei esse aqui acidentalmente sorry :confused:

J

Rodrigo, a solução que você me apresentou não funcionou, porém, eu consegui resolver. Agradeço.

RodrigoKaos

Seria interessante se vc postasse qual foi a solução, não acha?

J

Eu desisti do método "carregaComboBox" e no "ActionListener" fiz o SELECT da seguinte forma:

cbContato.addActionListener(new ActionListener() 

                    rs = st.executeQuery("SELECT * FROM contatos WHERE nomeCliente LIKE '"+cbContato.getSelectedItem()+"'");

Funcionou beleza, não sei se está certo, porém, foi a solução que encontrei.
Grato
Pedro

Criado 26 de setembro de 2013
Ultima resposta 27 de set. de 2013
Respostas 5
Participantes 2