SQLステートメント変数をexecuteQuery
に渡す必要はありません。 PreparedStatement
の場合 。それがあなたの場合の主な問題です。
PreparedStatement preparedStatement = connection.prepareStatement(selectSQL);
preparedStatement.setString(1, lexiconType);
preparedStatement.setString(2, lemma);
// error is in the following statement
ResultSet rs = preparedStatement.executeQuery(selectSQL);
リセットしているので 実行されるSQLの場合、ステートメントはプリペアドステートメントとして認識されませんが、親のStatement
のインスタンスとして認識されます。 存在しない刺し傷などの引用符の間に有効な入力を探しています。したがって、構文エラーです。
変更 :
ResultSet rs = preparedStatement.executeQuery(selectSQL);
宛先 :
ResultSet rs = preparedStatement.executeQuery();
そして、それは機能しているはずです。
参照 :