IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Python 3, Sqlite et rowid


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2006
    Messages : 25
    Par défaut 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 : 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,))

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Salut,

    Citation Envoyé par vieux60ans Voir le message
    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?
    Vous ne récupérerez jamais autre chose qu'une liste de tuples.
    Et comme vous savez qu'elle ressemblera à [(1,), (2,)], vous pouvez écrire une boucle genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for row in... :
         rowid = row[0]
         ...
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2006
    Messages : 25
    Par défaut
    Bonjour,

    Je vous remercie pour votre conseil. Grâce à vous, mon programme fonctionne.

    Luc

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Python 3.X] Python, et sqlite : effacer des données dans un formulaire de saisie
    Par mfanfan dans le forum Général Python
    Réponses: 1
    Dernier message: 08/03/2015, 10h26
  2. [Python 3.X] Python et sqlite : gestion des bases de données
    Par mfanfan dans le forum Général Python
    Réponses: 1
    Dernier message: 09/02/2015, 02h58
  3. Python et Sqlite
    Par otobenzina dans le forum Général Python
    Réponses: 1
    Dernier message: 29/06/2012, 06h42
  4. Tuto python et sqlite
    Par Dominikk dans le forum Général Python
    Réponses: 2
    Dernier message: 21/03/2009, 14h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo