Vous devrez supprimer la query
argument de votre executeQuery
appel. Si vous fournissez le paramètre, la requête sera exécutée sans lier aucune valeur (voir Statement
pour plus de détails) - c'est pourquoi la syntaxe (c'est-à-dire le ?
) n'est pas valide.
Exécutez la requête comme ceci :
ResultSet rst = st.executeQuery();
En remarque :vous devez toujours envelopper Connection
, PreparedStatement
et ResultSet
avec un essayez-avec-des-ressources bloquer, par ex.
try (ResultSet rst = st.executeQuery()) {
// read the results
}
De cette façon, vous pouvez être sûr que le ResultSet
sera fermé quoi qu'il arrive.