Votre problème est que vous préparez la déclaration avec
preparedStatement = dbConnection.prepareStatement(selectSQL);
ce qui est correct, mais lorsque vous essayez d'exécuter le PreparedStatement, vous fournissez le selectSQL
chaîne à nouveau :
rs = preparedStatement.executeQuery(selectSQL);
C'est faux. Vous avez déjà préparé la déclaration, donc quand vient le temps de l'exécuter, vous n'avez qu'à le faire
rs = preparedStatement.executeQuery();