U moet de query . verwijderen argument uit uw executeQuery telefoongesprek. Als u de parameter opgeeft, wordt de query uitgevoerd zonder waarden te binden (zie Statement
voor details) - dit is de reden waarom de syntaxis (d.w.z. de ? ) is ongeldig.
Voer de query als volgt uit:
ResultSet rst = st.executeQuery();
Even terzijde:je moet altijd Connection . omwikkelen , PreparedStatement en ResultSet met een try-with-resources blok, bijv.
try (ResultSet rst = st.executeQuery()) {
// read the results
}
Zo weet je zeker dat de ResultSet wordt gesloten, wat er ook gebeurt.