Det er ikke nødvendigt at sende sql-sætningsvariabelen til executeQuery
for PreparedStatement
. Det er hovedproblemet i dit tilfælde.
PreparedStatement preparedStatement = connection.prepareStatement(selectSQL);
preparedStatement.setString(1, lexiconType);
preparedStatement.setString(2, lemma);
// error is in the following statement
ResultSet rs = preparedStatement.executeQuery(selectSQL);
Mens du nulstiller sql'en, der skal udføres, genkendes sætningen ikke som forberedt sætning, men en forekomst af overordnet Statement
som leder efter gyldige inputs imellem citater for stik osv. som ikke er til stede. Og derfor er syntaksfejlen.
Skift :
ResultSet rs = preparedStatement.executeQuery(selectSQL);
Til :
ResultSet rs = preparedStatement.executeQuery();
Og det burde virke.
Se :