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

SQLite Discussion :

Probléme avec les doublons


Sujet :

SQLite

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    Points : 10
    Points
    10
    Par défaut Probléme avec les doublons
    Bonjour,
    J'ai 1 doublon dans une colonne et la c'est le gros bordel pour rapatrier la ligne.
    j'utilise python tkinter et le combo tix

    fonction recherche titre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    self.cur.execute("select titre from film where acteur=('%s')" % (a))  
            for x in self.cur.fetchall():
                self.combtitre.set(x)
    fonction recherche acteur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    self.cur.execute("select acteur from film where titre=('%s')" % (t))        
            for x in self.cur.fetchall():
                self.combacteur.set(x)
    En fait j'ai 2 acteurs identiques pour 2 films differents.
    Quand je valide le 2em films,il me retourne que le 1er et pas le 2em

    Existe il une fonction spécial pour les doublons

  2. #2
    Membre actif

    Inscrit en
    Décembre 2004
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 169
    Points : 225
    Points
    225
    Par défaut
    salut,

    J'ai du relire trois, quatre, cinq fois ta demande pour comprendre ton problème... et je ne comprends toujours pas.

    J'ai utilisé une petite table pour tenter d'éclaircir ce mystère :

    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
    SQLite version 3.5.9
    Enter ".help" for instructions
    sqlite> .mode tab
    sqlite> DROP TABLE IF EXISTS film;
    sqlite> CREATE TABLE film (acteur text, titre text);
    sqlite> insert into film values ('a1','t1');
    sqlite> insert into film values ('a1','t2');
    sqlite> insert into film values ('a2','t1');
    sqlite> insert into film values ('a1','t1');
    sqlite> select 'a:', acteur from film where titre='t1';
    a:      a1
    a:      a2
    a:      a1
    sqlite> select distinct 'b:', acteur from film where titre='t1';
    b:      a1
    b:      a2
    sqlite> select 'c:', titre from film where acteur ='a1';
    c:      t1
    c:      t2
    c:      t1
    sqlite> select distinct 'd:', titre from film where acteur ='a1';
    d:      t1
    d:      t2
    Mais rien n'y fait, SQLite retourne toutes les lignes demandées.
    Exemple : dans le cas 'a:', l'acteur a1 est retourné 2 fois c'est bien ce que l'on veut. Dans le cas 'b:', il n'est retourné que 1 fois à cause de l'instruction distinct. Le résultat est du même genre dans les cas 'c:' et 'd:' sauf que l'on utilise l'acteur au lieu du titre.

    Bref, il nous manque une information pour répondre à ta question. Peut être exécutes-t-tu, par exemple, la seconde requête avec le résultat de la première ?

    Désolé.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Merci pour ton exemple j'ai pu découvrir d'autre fonction de sqlite (le tuto en anglais un peut hard pour moi)
    Entre temps j'ai essayé autre chose et ça marche.
    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
     def recherchepartitre(self,event):
            t=self.combtitre.get () 
            self.cur.execute("select acteur,duree,realisateur,support,genre,appreciation from film where titre=?",[t]) 
            p= self.cur.fetchall()
            for x in p:
                act=x[0]
                dur=x[1]
                rea=x[2]
                sup=x[3]
                gen=x[4]
                app=x[5]
                self.combacteur.set(act)
                self.combduree.set(dur)
                self.combrealisateur.set(rea)
                self.supportbd.set(sup)
                self.genrebd.set(gen)
                self.appreciationbd.set(app)
                self.combtitre.set(t)
    Et
    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
    def rechercheparacteur(self,event):
            a=self.combacteur.get ()
            self.cur.execute("select titre from film where acteur=?",[a])
            p = self.cur.fetchall()
            mot=p[0:]
            b=len(mot)
            if b==1:
                ti=p[0]
            elif b==2:
                ti=p[0],p[1]
            elif b==3:    
                ti=p[0],p[1],p[2]   
            elif b==4:        
                ti=p[0],p[1],p[2],p[3]
            elif b==5:    
                ti=p[0],p[1],p[2],p[3],p[4]
            else:
                ti=p[0:]            
            self.combtitre.set(ti)  
            self.combacteur.set(a)
    C'est du bricolage mais je débute en prog
    pour la 2 em fonction je peux certainement faire une boucle, j'attends d'avoir fini le programme pour essayer de finaliser ce genre de détail.

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

Discussions similaires

  1. Problème avec les doublons
    Par Victor1 dans le forum Excel
    Réponses: 6
    Dernier message: 08/07/2013, 12h28
  2. Probléme avec les doublons
    Par benlakhel dans le forum Shell et commandes POSIX
    Réponses: 4
    Dernier message: 05/02/2013, 10h40
  3. [XL-2007] Problème avec les doublons
    Par Mammy Potter dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/02/2011, 12h17
  4. Division relationnelle : problème avec les doublons
    Par ced dans le forum Langage SQL
    Réponses: 4
    Dernier message: 11/12/2007, 16h49
  5. []Problème avec les formulaires Outlook
    Par davidinfo dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59

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