Non è necessario passare la variabile dell'istruzione sql a executeQuery
per PreparedStatement
. Questo è il problema principale nel tuo caso.
PreparedStatement preparedStatement = connection.prepareStatement(selectSQL);
preparedStatement.setString(1, lexiconType);
preparedStatement.setString(2, lemma);
// error is in the following statement
ResultSet rs = preparedStatement.executeQuery(selectSQL);
Mentre stai reimpostando sql da eseguire, l'istruzione non viene riconosciuta come istruzione preparata ma un'istanza del genitore Statement
che cerca input validi tra virgolette per punture ecc. che non sono presenti. E quindi è l'errore di sintassi.
Cambia :
ResultSet rs = preparedStatement.executeQuery(selectSQL);
A :
ResultSet rs = preparedStatement.executeQuery();
E dovrebbe funzionare.
Fai riferimento :