Bonjour,
J'essai d'executer une commande SQLite mais j'ai une erreur.
La voici:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
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:




Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# -*- 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:


TABLE HEURE_A:


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

Merci

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])