Tidak perlu meneruskan variabel pernyataan sql ke executeQuery
untuk PreparedStatement
. Itulah masalah utama dalam kasus Anda.
PreparedStatement preparedStatement = connection.prepareStatement(selectSQL);
preparedStatement.setString(1, lexiconType);
preparedStatement.setString(2, lemma);
// error is in the following statement
ResultSet rs = preparedStatement.executeQuery(selectSQL);
Saat Anda menyetel ulang sql yang akan dieksekusi, pernyataan tersebut tidak dikenali sebagai pernyataan yang disiapkan tetapi merupakan turunan dari Statement
induk yang mencari input yang valid di antara tanda kutip untuk sengatan dll. yang tidak ada. Dan karenanya adalah kesalahan Sintaks.
Ubah :
ResultSet rs = preparedStatement.executeQuery(selectSQL);
Ke :
ResultSet rs = preparedStatement.executeQuery();
Dan itu seharusnya berhasil.
Rujuk :