0
辞書から値のリストをsqlite3
データベースに挿入しようとしています。これは私のコードであり、このエラーは、私は、コード実行したときに表示されます:prix
、:nom_produit
、:prix
とsqlite3
がvalues
がnom_produit
を含む辞書であることを期待することができます:note
:オブジェクト辞典のリストをsqlite3に挿入
ProgrammingError: Incorrect number of bindings supplied. The current statement uses 3, and there are 2 supplied.
import sqlite3
import re
import sys
import sqlite3
import pandas as pd
ListProduct={'nom_produit':[], 'prix':[], 'note':[]}
ListProduct['nom_produit'].append("Capuche Hip Hop Automne Hiver")
ListProduct['prix'].append('$3.9')
ListProduct['note'].append('4.5')
ListProduct['nom_produit'].append("Capuche Hip Hop Automne Hiver")
ListProduct['prix'].append('$12.9')
ListProduct['note'].append('4.8')
# Permet de se connecter à la base de données
conn = sqlite3.connect("mabase.db")
# Initialise le curseur
cur = conn.cursor()
# Créer la table si elle n'existe pas
cur.execute("CREATE TABLE IF NOT EXISTS Produit (nom_product VARCHAR,price real, rating real)")
for key,values in ListProduct.items():
cur.execute("""INSERT INTO Produit(nom_product, price,rating) VALUES(:nom_produit, :prix,:note)""", values)
# Accepter les changements
cur.execute('SELECT * FROM Produit')
meida = cur.fetchone()
print(meida)
conn.commit()
# Fermer la connexion
conn.close()
お返事に感謝しかし、私はあなたのコードを実行し、私はこのエラーがあります。ProgrammingError:不正な数のバインディングが提供されました。現在のステートメントでは3が使用され、29が指定されています。 – Ilyas
@Ilyasええ、コードに間違いがあり、 'ListProduct'で固定パラメータ化しました。 – alecxe