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