Retornar a consultas em combobox netbeans

9 respostas
java
MoisesJava

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

9 Respostas

rodriguesabner

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();

MoisesJava

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.

rodriguesabner

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)

MoisesJava

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.

rodriguesabner

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.

MoisesJava

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.

rodriguesabner

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

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

MoisesJava

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

rodriguesabner

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)

Criado 8 de maio de 2019
Ultima resposta 8 de mai. de 2019
Respostas 9
Participantes 2