queryを削除する必要があります executeQueryからの引数 電話。パラメータを指定すると、クエリは値をバインドせずに実行されます(ステートメント
詳細については)-これが構文(つまり、?)の理由です )は無効です。
次のようにクエリを実行します:
ResultSet rst = st.executeQuery();
補足として:常にConnectionをラップする必要があります 、PreparedStatement およびResultSet try-with-resources ブロック、例:
try (ResultSet rst = st.executeQuery()) {
// read the results
}
このようにして、ResultSetを確認できます。 何が起こっても閉鎖されます。