Bonjour,
Afin d'effectuer des traitements aléatoires, j'ai besoin de créer une liste des numéros d'enregistrements répondant à un critère (exemple : WHERE langue="Anglais").
Puis, je vais chercher un enregistrement en sélectionnant son numéro aléatoirement dans la liste. (En fait, il s'agit d'un exercice d'interrogation sur du vocabulaire Anglais, ou autre langue si nécessaire).
Probléme : lorsque je récupére les numéros (rowid), la liste est composée de tuple au lieu de nombres.
Comment faire, s'il vous plait?
Merci d'avance
Luc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 requete = "SELECT rowid FROM VocabulaireEtranger WHERE Vocab_Langue='Anglais'" cur.execute(requete) connex.commit() del(self.listeident[:]) # vider la liste éventuelle for l in cur: self.listeident.append(l)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 while (len(self.listeident)> 0) : self.wnbenr=len(self.listeident) # nb d elements self.wnumliste=int(random.randint(0,(len(self.listeident))))-1 # Numéro aléatoire if self.wnumliste<0 : self.wnumliste = 0 self.wnumenrtx=self.listeident[self.wnumliste] # récupérer le numéro de l'enregistrement à lire self.wnumenr=int(self.wnumenrtx) cur.execute("SELECT * FROM VocabulaireEtranger WHERE rowid = ?", (self.wnumenr,))
Partager