[RESOLVIDO] Pegando o Conteúdo do JComboBox e Gravando no Banco de Dados - Eclipse

Olá, estou fazendo um programa onde o administrador pode registrar outros usuários, o administrador insere o nome, cargo, e-mail e senha, ai ao salvar ele registra no banco de dados, no cargo, ele é um JComboBox onde o administrador escolhe se o outro usuário será um administrador ou um caixa, porém não estou conseguindo fazer com que ele pegue o texto do JComboBox e salva no banco de dados (Linha 6), segue o código da parte de registro:

1 private void Registrar(){
2       String sql = "insert into usuarios(Nome, Cargo, EMail, Senha) values(?, ?, ?, ?)";
3        try {
4            pst = conexao.prepareStatement(sql);
5            pst.setString(1, RegistroNome.getText());
6            pst.setString(2, (String) RegistroCargo.getSelectedItem());
7            pst.setString(3, RegistroEMail.getText());
8            pst.setString(4, RegistroSenha.getText());
9            
10            if((RegistroNome.getText().isEmpty()) || /*(RegistroCargo.getText().isEmpty()) ||*/ (RegistroEMail.getText().isEmpty()) || (RegistroSenha.getText().isEmpty())){
11                JOptionPane.showMessageDialog(null, "Preencha todos os campos!");
12           }else{
13            limparCampos();
14            int adicionado = pst.executeUpdate();
15            if(adicionado > 0){
16                JOptionPane.showMessageDialog(null, "Registrado com sucesso!");
17                
18            }
19            }
20        } catch (Exception e) {
21            JOptionPane.showMessageDialog(null, "Foi encontrado um erro:\n" + e);
22        }
23    }

Pq não consegue? O que acontece?

1 curtida

Ele não identifica o “RegistroCargo” que seria o nome do JComboBox.

qual é o erro?

1 curtida

O problema é que ele não entende que o “RegistroCargo” é um JComboBox como mostra na imagem abaixo:

Aqui é na tela onde eu coloquei o JComboBox, como mostra na imagem abaixo ele é um JComboBox com o nome “RegistroCargo

as vezes é bug, muda o nome e tenta de novo

1 curtida

Já tentei, mais não vai, já refiz a tela e também não foi :confused:
Estou utilizando o Eclipse Oxygen.3.

Galera descobrir o que é

La na barra do menu tem:

Project > build automático

Acontece que essa opção estava desmarcada, e no caso eu que estava responsável de fazer o build invés do eclipse.

Descobrir isso sem querer so na curiosidade.

Valeu espero ajudar com essa resposta a quem passar por isso um dia

fonte: https://respostas.guj.com.br/20445-erro-eclipsetomcat---nao-reconhece-variavel

1 curtida

Infelizmente não é isso, pois aqui a opção já está marcada!

Consegui resolver, fui mexendo no código até que funcionou da seguinte maneira:

private void registrar(JComboBox<?> RegistroCargo){
    String sql = "insert into usuarios(Nome, Cargo, EMail, Senha) values(?, ?, ?, ?)";
    try {
        pst = conexao.prepareStatement(sql);
        pst.setString(1, RegistroNome.getText());
        pst.setString(2, (String) RegistroCargo.getSelectedItem());
        pst.setString(3, RegistroEMail.getText());
        pst.setString(4, RegistroSenha.getText());
        
        if((RegistroNome.getText().isEmpty()) || /*(RegistroCargo.getText().isEmpty()) ||*/ (RegistroEMail.getText().isEmpty()) || (RegistroSenha.getText().isEmpty())){
            JOptionPane.showMessageDialog(null, "Preencha todos os campos!");
        }else{
        limparCampos();
        int adicionado = pst.executeUpdate();
        if(adicionado > 0){
            JOptionPane.showMessageDialog(null, "Registrado com sucesso!");
            
        }
        }
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Foi encontrado um erro:\n" + e);
    }
}

Aqui é onde chama no botão de registrar:

registrar(RegistroCargo);

Mesmo assim agradeço ao @rodriguesabner por ter tentado me ajudar :slight_smile:

1 curtida

Que bug hein hahahaha, ta maluco, mas boa!

1 curtida