Maison > Java > javaDidacticiel > Pourquoi mon Java PreparedStatement renvoie-t-il « Index des paramètres hors plage » ?

Pourquoi mon Java PreparedStatement renvoie-t-il « Index des paramètres hors plage » ?

Mary-Kate Olsen
Libérer: 2024-12-25 21:31:09
original
793 Les gens l'ont consulté

Why Does My Java PreparedStatement Throw

Erreur : "java.sql.SQLException : index de paramètre hors plage (1 > nombre de paramètres, qui est 0)"

Problème

Vous rencontrez l'erreur en essayant d'insérer des données dans une base de données, accompagnée du message "java.sql.SQLException : Parameter index out of range (1 > nombre de paramètres, qui est 0)".

Cause

Cette erreur se produit lorsque vous appelez les méthodes setXxx() sur un PreparedStatement sans spécifier d'espaces réservés (?) dans le SQL requête. Par exemple :

String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (val1, val2, val3)";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, val1); // Error occurs here
Copier après la connexion

Solution

Pour résoudre ce problème, incluez des espaces réservés dans la requête SQL :

String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (?, ?, ?)";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, val1);
Copier après la connexion

Notez que les index des paramètres commencent à 1, et il y a pas besoin de citer des espaces réservés dans la chaîne SQL. Cela entraînera la même erreur.

Ressources supplémentaires

  • [Tutoriel JDBC - Déclarations préparées](https://docs.oracle.com/javase/tutorial/jdbc/ basics/prepared.html)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal