Sie müssen die query
entfernen Argument aus Ihrer executeQuery
Forderung. Wenn Sie den Parameter angeben, wird die Abfrage ausgeführt, ohne Werte zu binden (siehe Anweisung
für Details) - deshalb ist die Syntax (also der ?
) ist ungültig.
Führen Sie die Abfrage wie folgt aus:
ResultSet rst = st.executeQuery();
Als Nebenbemerkung:Sie sollten Connection
immer umbrechen , PreparedStatement
und ResultSet
mit einem Versuch-mit-Ressourcen blockieren, z.
try (ResultSet rst = st.executeQuery()) {
// read the results
}
Auf diese Weise können Sie sicher sein, dass das ResultSet
wird geschlossen, egal was passiert.