Python 3, Sqlite et rowid
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:
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:
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,)) |