[RESOLVIDO] Dúvida de como passar a PK de uma tabela no UPDATE

Olá a todos, estou fazendo um trabalho para a faculdade e me deparei com um problema ao criar um método que faz o update no BD utilizando o form de editar usuário. Na instrução eu tenho que passar a PK da tabela para ele executar o update, normalmente eu pego os campos digitados no form e passo como parâmetro para a query, só que dessa vez não tem como, já que o usuário teria que saber a a PK e digitar…

O parâmetro 8 corresponde ao Where id_usuario_PK
No form eu tenho um botão que executa e trás pro form todos os campos do usuário, através de um
select * , ai eu pensei que poderia sei la, pegar a PK e salvar em uma variável e depois que o form fosse editado e clicassem em “salvar” executaria o método abaixo e passaria o valor da variável com a PK para ele mas não faço ideia de como fazer.

Desculpem, olhei toda a barra de ferramenta mas não sei como fazer o código aparecer como código aqui.

Segue o código do método que comecei:

private void alterar() {
        String sql = "UPDATE usuario SET nome=?,matricula=?,email=?,telefone=?,perfil=?,login=?,senha=? WHERE id_usuario_pk=?";
        try {
            pst = conexao.prepareStatement(sql);
            pst.setString(1, txtUsuario.getText());
            pst.setString(2, txtMatricula.getText());
            pst.setString(3, txtEmail.getText());
            pst.setString(4, txtFone.getText());
            pst.setString(5, comboboxPerfil.getSelectedItem().toString());
            pst.setString(6, txtLogin.getText());
            pst.setString(7, password.getText());
            
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }

Quando vc trouxer os dados e jogar no form…joga a PK num campo input tipo hidden…ai tu manda também a pk junto com os outros dados…

bom…eu faço assim…nao sei se é a melhor forma…

OBS>: Editei minha resposta…pq depois que eu vi que não era Web… kkkkk Mas…usaria a mesma ideia!

Opa, nossa gostei bastante da ideia.
Desculpe não especificar que era Java Desktop, como seria esse campo hidden? Criei um textfield lá mas não tem nenhuma opção que deixa ele hidden, tem?

Não sei te dizer…sou novato em Java também…e estou utilizando apenas para Web… mas já já aparece alguem fera e te explica! Abraços!

1 curtida

se for oq eu entendi
textfield_daPK.setVisible(false)

Verdade. Funcionou aqui o textField, sô tive que alterar o código que o netbeans gera. Agora to tentando continuar o método.

Funcionou rapaz! tudo funcionando, obrigado a todos!

1 curtida