Maison >développement back-end >Tutoriel Python >Pourquoi est-ce que j'obtiens l'erreur « Nombre incorrect de liaisons fournies » lors de la substitution des paramètres SQLite ?
Problème de substitution de paramètres SQLite
Lors de la tentative d'interrogation d'une base de données SQLite à l'aide de la substitution de paramètres avec Python 2.5, une erreur peut survenir indiquant « Incorrect nombre de fixations fournies." même s'il n'a fourni qu'une seule reliure. Ce problème peut survenir lors de la création de la base de données, ce qui peut impliquer plusieurs liaisons lors de l'insertion de données.
Pour résoudre ce problème, la forme correcte de la méthode Cursor.execute() avec substitution de paramètres doit être utilisée. Au lieu de transmettre une chaîne représentant le paramètre de liaison, une séquence doit être fournie comme deuxième argument. Le code corrigé serait :
<code class="python">for item in self.inventory_names: self.cursor.execute("SELECT weight FROM Equipment WHERE name = ?", [item]) self.cursor.close()</code>
En fournissant la valeur du paramètre dans une séquence, la méthode Cursor.execute() reconnaîtra et appliquera correctement la liaison, résolvant ainsi l'erreur. Référencez la documentation sqlite3 de Python pour plus d'informations sur les objets curseur.
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!