Pegar valores do Banco de Dados e exibir em um jlabel

 PreparedStatement stmt = null ;
                ResultSet rs = null;
                try { 
                   
                    stmt = con.prepareStatement("SELECT FROM produtos WHERE CODIGO_BARRA = '89987978' ");                       
                    System.out.println("funcionando");
                    rs = stmt.executeQuery();
                   
                    String Nome = rs.getString("NOME");
                    System.out.println("abc3");       
                    txtCodigo.setText(rs.getString("CODIGO_BARRA"));
                    txtQtd.setText(rs.getString("QTD"));
                    txtPrecoUn.setText(rs.getString("PRECO"));
                    txtDesconto.setText(rs.getString("DESCONTO"));
                    txtNomeProduto.setText(rs.getString("NOME"));

Depois do rs , ResultSet meu programa não roda , é como se o rs não capturasse os valores , alguem pode me dizer oque há de errado com esse trecho ?.

O print em funcionando e em abc3 são como um debug manual que eu fiz , nada depois do result set rs executa.

Você já tentou usar rs.first(); depois do executar a query?

ou então:

rs = stmt.executeQuery();

while(rs.next()){
String Nome = rs.getString(“NOME”);
System.out.println(“abc3”);
txtCodigo.setText(rs.getString(“CODIGO_BARRA”));
txtQtd.setText(rs.getString(“QTD”));
txtPrecoUn.setText(rs.getString(“PRECO”));

}

1 curtida

a sql não deveria ser:
("select coluna from nomeBase.nomeTabela where coluna=‘89987978’ ");

Esse trecho dessa forma eu já tentei e continuou com erro , vou tentar o trecho acima e então posto o resultado .
saudações .

Bom gente muito Obrigado , a sugestão de josev.junior , adicionando o rs.first(); logo após o execute query resolveu o problema , obrigado a todos .