2010-05-25 4 views

Répondre

3

Malheureusement non. Les paramètres positionnels ('?') Sont exactement cela, identifiés par leur position ou leur ordre d'apparition dans la requête. Si vous supprimez 'IDFOLDER =?', Vous attribuez les mauvais paramètres au reste de la requête et vous obtenez une exception car le nombre de paramètres assignés ne correspond pas au nombre attendu dans la requête.

Je suppose que vous ne pouvez pas changer le code source, car c'est l'itinéraire le plus simple - changez le SQL, puis les paramètres JDBC à faire correspondre. Si vous devez utiliser le même nombre de paramètres, vous pouvez écrire la requête d'une manière qui ne modifie pas la valeur de IDFOLDER, mais utilise le premier paramètre. Si votre pilote JDBC prend en charge les paramètres nommés, cela peut vous donner une alternative plus propre.

4

Non, vous ne pouvez pas. Vous devez conditionnellement insérer cette partie du SQL dans la chaîne SQL si nécessaire.

4

Non, vous devrez écrire une deuxième requête qui n'inclut pas la colonne IDFOLDER. Tous les paramètres doivent être liés.

0

Le javadoc ne dit pas explicitement que vous ne pouvez pas, mais quand je l'ai essayé, je me suis une exception comme ceci:

java.sql.SQLException: Parameter not set 
Questions connexes