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