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