Seu problema é que você prepara a declaração com
preparedStatement = dbConnection.prepareStatement(selectSQL);
o que está correto, mas quando você tenta executar o PreparedStatement você fornece o
selectSQL
corda novamente:rs = preparedStatement.executeQuery(selectSQL);
Isso é incorreto. Você já preparou a instrução, então, quando chegar a hora de executá-la, basta fazer
rs = preparedStatement.executeQuery();