Supprimez les guillemets autour du ?
Espaces réservés de PreparedStatement. Le pilote JDBC citera les chaînes pour vous. Lorsque vous citez vous-même l'espace réservé de la chaîne, le pilote JDBC pense que vous voulez passer un ?
littéral dans votre déclaration.
Vous n'avez pas mentionné la base de données que vous utilisez, mais l'auteur principal du pilote MySQL JDBC le confirme ici :http://forums.mysql.com/read.php?39,499385,499450#msg-499450