Du måste ta bort frågan argument från din executeQuery ringa upp. Om du anger parametern kommer frågan att köras utan att binda några värden (se Uttalande
för detaljer) - det är därför syntaxen (dvs.
Kör frågan så här:
ResultSet rst = st.executeQuery();
Som en sidoanteckning:du bör alltid omsluta Anslutning , PreparedStatement och Resultatuppsättning med en prova-med-resurser block, t.ex.
try (ResultSet rst = st.executeQuery()) {
// read the results
}
På så sätt kan du vara säker på att ResultSet kommer att stängas oavsett vad som händer.