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

Tkinter Python Discussion :

Connexion d'un Toplevel à MYSQL


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2
    Par défaut Connexion d'un Toplevel à MYSQL
    Bonjour,

    Je réalise un programme avec TKinter relié à une base de donnée MYSQL
    . Le problème c'est que je n'arrive pas à utiliser ces Entry. J'ai le message d'erreur suivant: NameError: global name 'mon_entry' is not defined, lorsque j'enregistre les données. voici le code:

    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
    def new1():  #module enr_per
        fen1=Toplevel()
        fen1.title("Personne") 
        fen1.grab_set()
        fen1.focus_set()
        fen1.geometry("400x300")
        fen1.resizable(False,False)
        tex1 = Label (fen1, text='N°:')
        tex2 = Label (fen1, text = 'Nom:')
        tex3 = Label (fen1, text = 'Prenoms:')
        edt1 = Entry (fen1, bg = 'green')
        edt2 = Entry (fen1, bg = 'green')
        edt3 = Entry (fen1, bg = 'green')
        Button0 = Button (fen1, text = 'OK', command = save)                    
        tex1.grid(row =0, column =0, sticky = W)
        tex2.grid(row =1, column =0, sticky = W)
        tex3.grid(row =2, column =0, sticky = W)
        edt1.grid(row =0, column =1)
        edt2.grid(row =1, column =1)
        edt3.grid(row =2, column =1)
        Button0.grid(row =3, column =1)
     
    def save():
        id = edt1.get()
        nom = edt2.get()   
        prenom = edt3.get()     
        myquery = "INSERT INTO essai.personne (id, nom, prenom) VALUES (\'"+id+"\',\'"+nom+"\',\'"+prenom+"\')"
        db = MySQLdb.connect(host='localhost', user='root', passwd='', db='essai')
        curs = db.cursor()
        curs.execute(myquery)
        curs.close()
        db.commit()
    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
    #Programme principal
     
    #! /usr/bin/python
    #-*- coding:Utf-8-*-
     
    from Tkinter import *
    import MySQLdb
    import enr_per
     
     
    fen=Tk()
    fen.title("Formulaire principale")
    fen.grab_set()
    fen.focus_set()
    fen.geometry("500x400")
    fen.resizable(False,False)
     
     
    # Création de la barre de menu:
    menu1 = Menu(fen)
     
    # Création du menu fichier:
    fichier = Menu(menu1, tearoff=0)
    menu1.add_cascade(label="Fichier",menu=fichier)
    fichier.add_command(label="Quit", command=fen.quit)
     
    cascad = Menu(menu1, tearoff=0)
    menu1.add_cascade(label="Formulaire",menu=cascad)
     
    personne = Menu(cascad, tearoff=0)
    cascad.add_command(label="Personne",command=enr_per.new1 )
     
     
    # afficher le menu
    fen.config(menu=menu1)
     
     
    mainloop ()
    Meci

  2. #2
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 327
    Par défaut
    Bonjour,

    Désolé mais je n'ai même pas osé lire ce code, il faut savoir que Python est un langage ou l'indetation compte (pas comme en C ou les {} suffisent), pourriez vous donc redonner votre code en le mettant dans la balise Merci

    Ps : A voir juste le message d'erreur, vous appellez une fonction qui tente de récupéré le widget Entry mais ce dernier ne le trouve pas... Pk ? Je ne le dirai jamais assé : Chaque variable de chaque fonction sont indépendantes (impossible de récupéré donc le widget juste avec son nom...)

Discussions similaires

  1. [VB6]Connexion a une BD mysql qui n'est pas en local
    Par aude_1603 dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 02/03/2006, 09h05
  2. Connexion sur une base Mysql distante (non locale)
    Par externa dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 20/02/2006, 11h34
  3. Réponses: 2
    Dernier message: 16/01/2006, 11h38
  4. url de connexion JDBC pour BD MySQL distante
    Par dédéf dans le forum JDBC
    Réponses: 5
    Dernier message: 14/01/2006, 14h43
  5. Paramétrer le nombre de connexion sur mon serveur Mysql
    Par Zerga dans le forum Installation
    Réponses: 2
    Dernier message: 12/12/2003, 19h21

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