Retornar a consultas em combobox netbeans

Bom dia, fiz o método consulta, os campos JTextField estão retornando os campos do BD, mas os ComboBox não estão retornando permanecendo nos primeiros itens.

public void consultar() {
String sql = “select * from tbl_usuarios where registro=?”;

    try {
        pst = conexao.prepareStatement(sql);
        pst.setString(1, txtRegistroUsu.getText());
        rs = pst.executeQuery();
        if (rs.next()) {
            txtNomeUsu.setText(rs.getString(2));
            txtLoginUsu.setText(rs.getString(3));
            jpfSenhaUsu.setText(rs.getString(4));
            cboDepUsu.setSelectedItem(rs.getString(5));
            cboGerUsu.setSelectedItem(rs.getString(6));
            cboPerfilUsu.setSelectedItem(rs.getString(7));
        } else {
            JOptionPane.showMessageDialog(null, "Usuário não cadastrado");
            txtRegistroUsu.setText(null);
            txtNomeUsu.setText(null);
            txtLoginUsu.setText(null);
            jpfSenhaUsu.setText(null);
        }

    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }

}

Alguém poderia me dar um help? obrigado

Bom dia Moisés, acredito que sua ComboBox esteja vazia, você precisa adicionar um item nela para que apareça algo. Então teria que colocar

cboGerUsu.addItem(rs.getString(5));
cboGerUsu.setSelectedIndex(0);

Se quiser que a combo comporte somente um item, você deve chamar o removeAllItems();

Bom Dia Abner, adicionei os itens do cboGerUsu, cboDepUsU, cboPerfilUsu, ao realizar a consulta de um perfil user, ele retorna correto, quando pesquiso um perfil adim ele não retorna o perfil adim, permanecendo no user, os outros ComboBox permanece setado no primeiro que defini, não retorna o dado correto do BD. Não sei se conseguiu entender.

Acho que entendi, ou você seta o item do combobox pelo nome, ou apaga tudo e mostra só um item:

cboGerUsu.removeAllItems();
cboGerUsu.addItem(rs.getString(5));
cboGerUsu.setSelectedIndex(0);
//cboGerUsu.setSelectedItem("admin); //Se quiser setar o item pelo nome.

Se fore usar o SelectedIndex, não dá pra usar o SelectedItem (e vice-versa)

Abner, deu certo, mas caso queira alterar o funcionário de departamento não terei as opções para selecionar. só fica habilitado a informação do BD, meu método alteração só iria alterar os JTextField.

1 curtida

Entendi, você tem duas alternativas:

Deixa o combobox preenchido manualmente e só vai exibindo o item correto para o funcionário.

Ou cria uma tabela e adiciona os departamentos, e depois puxa os dados da tabela pra o Combo e depois vai exibindo o departamento de cada funcionário.

1 curtida

Isso, teria alguma solução? tenho outro sistema que os ComboBox, funciona com SelectedItem e nesse não está funcionando é de lascar. Ainda mais que sou iniciante.

Então, as soluções são essas:

Pra adicionar manualmente, é só ir colocando os departamentos que você quer no combo

1 curtida

A principio removi os ComboBox e coloquei JTextField, conforme vou ganhando experiencia vou atualizando. Logo terei outras dúvidas. rsss

Não desiste assim não cara:

https://www.youtube.com/watch?v=it_UjDWxrxc (Sem Banco de Dados)
https://www.youtube.com/watch?v=hKL6MY1Ez9k (Com Banco de Dados)

1 curtida