Consulta no MySQL pesquisando com valor de JLabel do Netbeans

Olá!

No meu programa, eu estou tentando consultar dados que estão em um banco MySQL através de dois valores, idusuario e nome, assim: “select * from tbdados where idusuario=? and nome=?”.

Quando eu estava usando só o critério “nome” dava certo, agora que estou usando idusuario também, o programa só exibe a mensagem de exceção, “Usuário não cadastrado!”.

O código deste método:

public void pesquisar() {
String sql = “select * from tbdados where idusuario=? and nome=?”;

    try {
        pst = conexao.prepareStatement(sql);

        TelaPrincipal principal = new TelaPrincipal();
        String idusuario = principal.lblId.getText();
        
        pst.setString(1, idusuario);
        pst.setString(2, txtNome.getText());
        
        rs = pst.executeQuery();
        
        if (rs.next()) {
            txtIdade.setValue(rs.getInt(3));
            txtAltura.setValue(rs.getInt(4));
            txtPeso.setValue(rs.getInt(5));
           
        } else {
            JOptionPane.showMessageDialog(null, "Usuário não cadastrado!");
            txtIdade.setValue(null);
            txtAltura.setValue(null);
            txtPeso.setValue(null);
            
        }
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }
        
    }

precisa colacar o erro tambem.

Pronto, consertei o texto.

coloca ai antes ou depois desse JOptionPane

e.printStackTrace();

e coloque aqui o erro que vai aparecer no console da ide.

Fiz isso e não aparece nenhum erro no console, só aparece a mensagem “Usuário não cadastrado!”

Eu me expressei mal no texto quando disse que dava erro, o que acontece é que em vez de trazer os dados do usuário, traz a mensagem “Usuário não cadastrado!” mesmo se eu pesquisar por um usuário cadastrado para o Id. Entendeu?

idusuario é do tipo string na sua tabela? Se não, precisa converter para o tipo certo e fazer o bind (setTipoX) também com o tipo certo.

Coloque um System.out.println(idusuario); System.out.println(txtNome.getText()); e veja se os valores estão de acordo com o que está no BD.

na realidade nao esta dando erro nenhum. sua consulta que nao esta trazendo os resultados. nesse caso, os valores que estao no banco de dados, nao sao os mesmos que voce esta pasando para a consulta.

Imprimi o valor do idusuario no console usando um System.out e descobri qual era o problema. Obrigado pelas respostas, pessoal!