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