Es besteht keine Notwendigkeit, eine SQL-Anweisungsvariable an executeQuery
zu übergeben für PreparedStatement
. Das ist das Hauptproblem in Ihrem Fall.
PreparedStatement preparedStatement = connection.prepareStatement(selectSQL);
preparedStatement.setString(1, lexiconType);
preparedStatement.setString(2, lemma);
// error is in the following statement
ResultSet rs = preparedStatement.executeQuery(selectSQL);
Beim Zurücksetzen In der auszuführenden SQL wird die Anweisung nicht als vorbereitete Anweisung erkannt, sondern als Instanz der übergeordneten Statement
die nach gültigen Eingaben zwischen Anführungszeichen für Stiche usw. sucht, die nicht vorhanden sind. Und daher der Syntaxfehler.
Ändern :
ResultSet rs = preparedStatement.executeQuery(selectSQL);
An :
ResultSet rs = preparedStatement.executeQuery();
Und es sollte funktionieren.
Verweisen :