Odstraňte uvozovky kolem ?
Zástupné symboly PreparedStatement. Ovladač JDBC za vás uvede řetězce. Když sami citujete zástupný symbol řetězce, ovladač JDBC si myslí, že chcete předat doslovný ?
ve vašem prohlášení.
Nezmínili jste databázi, kterou používáte, ale hlavní autor ovladače MySQL JDBC to potvrzuje zde:http://forums.mysql.com/read.php?39,499385,499450#msg-499450