java.sql.SQLException Paramètre index out of range (1 > nombre de paramètres, qui est 0)
Après validation de sélection de zone de liste déroulante que j'ai choisi et je ne suis pas capable de l'insérer dans ma base de données. Tomcat donne l'erreur suivante:
java.sql.SQLException: Paramètre index out of range (1 > nombre de paramètres, qui est 0).
Comment est-il la cause et comment puis-je le résoudre?
- Vous pouvez poster votre code jsp avec l'instruction sql d'erreur et le stacktrace ?
- Cela signifie que vous essayez de définir un paramètre sur une requête qui ne contient aucun paramètre. La trace de pile qui vous dit exactement à quelle ligne du fichier de l'exception est levée. Aussi, vous devez accepter les réponses à vos questions précédentes.
- Vous devez l'accepter comme décrit dans la cette réponse.
- Je ne suis pas en mesure de résoudre cette erreur..donc pas accepté
- JB Nizet faisait allusion à vos questions précédentes.
- ouais réponses précédentes, j'ai accepté et j'ai dit que
- Avoir un
column_name_with_#_character
peut lancer cette erreur en quelque sorte...
Vous devez vous connecter pour publier un commentaire.
Vous obtiendrez ce message d'erreur lorsque vous appelez l'un de l'
setXxx()
méthodes surPreparedStatement
, tandis que la chaîne de requête SQL n'a pas de espaces réservés?
pour cela.Par exemple c'est mal:
Vous avez besoin de fixer la chaîne de requête SQL en conséquence de préciser les espaces réservés.
Remarque le paramètre index commence avec
1
et que vous ne pas besoin de citer ces espaces comme suit:Sinon, vous obtiendrez toujours la même exception, car l'analyseur SQL va alors interpréter, dans la chaîne des valeurs, et donc ne pouvez pas trouver les espaces réservés plus.
Voir aussi:
C'est un problème avec le Pilote jdbc version. J'ai eu ce problème lorsque j'ai été en utilisant
mysql-connector-java-commercial-5.0.3-bin.jar mais quand j'ai changé pour un plus tard la version du pilote
mysql-connector-java-5.1.22.jar le problème a été résolu.
Voici un peu de code pour obtenir ce que vous voulez