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 :

Transcrire une requête pydblite pour tkinter


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 17
    Par défaut Transcrire une requête pydblite pour tkinter
    Bonjour à tous,
    Malgres mes recherches sur internet en decortiquant des

    exemples de codes, une haie plus haute que les autres

    m'empeche de continuer, il est vrai que je ne suis pas un

    cheval de course (pas bourricot non plus..), je n'arrive

    pas transcrire en tkinter cette requette
    ************************
    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
    def pydblite():
        from pydblite.pydblite import Base
        # lecture du contenu de la base
        db = Base('annuairetel.pdl')
        # champs nom, prenom, tel
        if db.exists():
            db.open()
     
        # afffiche ce que l on demande ** je cale ici**
     
        for rec in db(nom=' ', prenom=' '):
            print ('NOM =', rec['nom'], 'PRENOM =', rec
     
    ['prenom'], 'TEL =', rec['tel'])
     
    pydblite()
    ********************
    je travaille avec une base pydblite et pour moi je

    mettrais deux 'entry' pour le nom et prenom, et je

    devrais avoir la reponse ( numero tel) dans un label mais

    j'ai du mal à traduite du script python en tkinter et

    donc je cale à la requette.
    auriez vous quelques infos.
    merci à tous

  2. #2
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    Bonjour,

    Tout d'abord, Tkinter n'est qu'une bibliothèque graphique (pour créer des fenêtres), du coup je vois pas trop ce que "restranscrire" viendrait faire ici (afficher me semblerait plus correct comme terme ).

    Sinon, le code que tu as donné ne fait que ouvrir la base de données si elle existe, et itérer sur chaque enregistrement, avec le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for rec in db(nom=' ', prenom=' '):
            print ('NOM =', rec['nom'], 'PRENOM =', rec['prenom'], 'TEL =', rec['tel'])
    qui devrait d'ailleurs être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for rec in db:
            print ('NOM =', rec['nom'], 'PRENOM =', rec['prenom'], 'TEL =', rec['tel'])
    à moins que tu ne veuilles récupérer que les enregistrements qui n'ont que le caractère " " comme nom et prénom.

    Bref, rec est vu comme un tableau associatif qui contient tes valeurs, et c'est là qu'il te faudra créer tes éléments Tkinter.


    PS: on a passé l'époque des terminaux qui n'ont que 80 colonnes, tu peux te permettre de faire de longues lignes maintenant

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 17
    Par défaut
    Bonjour
    En faite la base est terminée et peut evoluer, la fenetre TK est crée avec deux "entry" nom + prenom et un label qui doit m'achicher le resultat en cliquant sur un bouton "show" mais je cale sur l'ecriture du code qui devrait effectuer: ouvre la base puis avec le nom et prenom se trouvant dans les 'entry' donne moi le tel.
    Voila ou j'en suis depuis un certain temps, et je cale.
    MERCI POUR COOP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for rec in db(nom='je rentre un nom ', prenom='je rentre un prenom '):
            print ( 'TEL =', rec['tel'])

  4. #4
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    Bonjour,

    Pourrait-on voir ce que t'as tenté d'écrire pour interfacer la base de données avec Tkinter ?

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 17
    Par défaut
    Bonjour

    Voici le code en entier, il ne manque que la partie '' afficher la reponse apres avoir entré le nom prenom", j'ecris et je teste, j'efface et je recommence, je decortique des exemples etc, la vie de debutant , j'apprend comme ca.
    Bon WE à tous.



    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    from tkinter import *
    fen = Tk()
     
    def pydblite():
        from pydblite.pydblite import Base
        # lecture du contenu de la base
        db = Base('numtel.pdl')
        # champs nom, taille
        if db.exists():
            db.open()
     
        # affiche que ce que l on demande
        # ce code fonctionne mais je cale pour la suite, c est a dire entre le nom et prenom dans les deux entry puis avec un bouton SHOW on obtien le resultat dans le label TEL.
        for rec in db(nom='martin', prenom='jacques'):
            print(rec['tel'])
    pydblite()
     
    # nom de la personne que l on recherche
    frame1 = Frame(fen,borderwidth=2,relief=GROOVE)
    frame1.pack(side=LEFT,padx=10,pady=10)
    F1 = LabelFrame(frame1, text = "NOM", labelanchor= N)
    F1.pack(side=LEFT, padx =10, pady = 10)
     
    # prenom de la personne que l on recherche
    frame2 = Frame(fen,borderwidth=2,relief=GROOVE)
    frame2.pack(side=LEFT,padx=10,pady=10)
    F2 = LabelFrame(frame2, text = "PRENOM", labelanchor= N)
    F2.pack(side=LEFT, padx =10, pady = 10)
     
    # reponse - numero de tel correspondant au nom prenom
    frame3 = Frame(fen,borderwidth=2,relief=GROOVE)
    frame3.pack(side=LEFT,padx=10,pady=10)
    F3 = LabelFrame(frame2, text = "TEL", labelanchor= N)
    F3.pack(side=LEFT,padx =10, pady = 10)
     
     
    nom_entry=Entry(frame1, bd=5).pack(side=LEFT)
    prenom_entry=Entry(F2, bd=5).pack(side=LEFT)
    tel_label=Label(F3, bd=5).pack(side=LEFT)
     
    fen.mainloop()

  6. #6
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    Bonjour,

    Je te recommande fortement de lire ce cours, notamment la partie sur Tkinter, qui traite notamment du traitement d'évènements (ce dont tu as besoin pour faire ta recherche ), notion que tu n'as visiblement pas assimilée (à la vue de ton code).

    PS: tu devrais à mon avis créer une classe pour ta fenêtre, afin d'organiser ton code un peu mieux que ça (et surtout ça te permetterait de pouvoir créer plusieurs fenêtres par la suite très facilement).

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

Discussions similaires

  1. [MySQL] Je souhaite avoir le résultat d'une requête visible pour tous sur une page de Forum
    Par paradogz dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 25/01/2008, 11h18
  2. Parser une requête SQL pour MySQL
    Par gassla dans le forum SGBD
    Réponses: 3
    Dernier message: 02/08/2006, 15h36
  3. Réponses: 1
    Dernier message: 21/03/2006, 14h29
  4. Creer une requéte access pour choisir des textes word
    Par mariekero dans le forum Access
    Réponses: 1
    Dernier message: 16/01/2006, 10h25

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