[Python] Base de donnée SQLite3

Fermé
TecknoPlay Messages postés 26 Date d'inscription jeudi 19 août 2010 Statut Membre Dernière intervention 29 mai 2012 - 15 avril 2011 à 15:20
TecknoPlay Messages postés 26 Date d'inscription jeudi 19 août 2010 Statut Membre Dernière intervention 29 mai 2012 - 15 avril 2011 à 16:37
Bonjour,
J'essai d'executer une commande SQLite mais j'ai une erreur.
La voici:


Traceback (most recent call last):
  File "test.py", line 20, in <module>
    c.execute('''SELECT heure_h FROM HEURE_
URE_A.CLASSE = Eleves.ANNEE''', (ied[0]))
sqlite3.ProgrammingError: Incorrect number
tement uses 1, and there are 3 supplied.
Appuyez sur une touche pour continuer...




Voici le code:


# -*- coding:utf-8 -*-
from lecteur import *   # import du module pour lire une carte d'identitée
import sqlite3    # import du module SQLite3
ied= cartedef()   # lite [nom,prenom] pris de la carte d'identité

print ied

conn = sqlite3.connect("eleves.db3")  # ouverture de la base
conn.row_factory = sqlite3.Row                # accès facile aux colonnes
c = conn.cursor()                             # obtention d'un curseur

try:
	c.execute('''SELECT heure_h FROM HEURE_A,eleves where NOMELEVE LIKE ? and HEURE_A.CLASSE = Eleves.ANNEE''', (ied[0]))
except: # si la variable ied ne comporte pas le nom prenom 
	nom=raw_input("nom ?")
	prenom=raw_input("prenom ?")
	ied=[]
	ied.append(nom)
	ied.append(prenom)
	c.execute('''SELECT heure_h FROM HEURE_A,eleves where NOMELEVE LIKE ? and HEURE_A.CLASSE = Eleves.ANNEE''', (ied[0]))
	


   


for ligne in c:
       
        print ligne["heure_h"]



Et voici la base de donnée:
TABLE eleves:
http://www.noelshack.com/ [...] le_eleves.png

TABLE HEURE_A:
http://www.noelshack.com/ [...] e_haure_a.png

Pourquoi ai-je cette erreur alors que je ne l'ai pas dans d'autres script ?

Merci

1 réponse

TecknoPlay Messages postés 26 Date d'inscription jeudi 19 août 2010 Statut Membre Dernière intervention 29 mai 2012
Modifié par TecknoPlay le 15/04/2011 à 16:43
c bon j'ai trouvé il faut mettre

c.execute('''SELECT heure_h FROM HEURE_A,eleves where NOMELEVE LIKE "%s" and HEURE_A.CLASSE = Eleves.ANNEE''' %ied[0])
0