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
Quel est le probleme?
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 Quel est le probleme?
Sans avoir plus de détails sur le code, ça va être très très difficile à direŠ A tout hasard, je dirais une variable mon_entry initialisée dans une fonction et pas déclarée en global, mais ça peut être des dizaines d'autres choses. Tu pourrais nous faire un petit code qui montre le problème et le poster ici? Sinon, on ne pourra pas t'aider. - Eric -
In article <l9Odncw54IyoVdfQRVn_vwA@giganews.com>,
ookahh <ookahh@domain-xyz.in> wrote:
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
Quel est le probleme?
Sans avoir plus de détails sur le code, ça va être très très difficile à
direŠ A tout hasard, je dirais une variable mon_entry initialisée dans
une fonction et pas déclarée en global, mais ça peut être des dizaines
d'autres choses. Tu pourrais nous faire un petit code qui montre le
problème et le poster ici? Sinon, on ne pourra pas t'aider.
- Eric -
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 Quel est le probleme?
Sans avoir plus de détails sur le code, ça va être très très difficile à direŠ A tout hasard, je dirais une variable mon_entry initialisée dans une fonction et pas déclarée en global, mais ça peut être des dizaines d'autres choses. Tu pourrais nous faire un petit code qui montre le problème et le poster ici? Sinon, on ne pourra pas t'aider. - Eric -
ookahh
Eric Brunel a écrit le 03/02/2011 à 17h22 :
In article , ookahh wrote:
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 Quel est le probleme?
Sans avoir plus de détails sur le code, ça va être très très difficile à direŠ A tout hasard, je dirais une variable mon_entry initialisée dans une fonction et pas déclarée en global, mais ça peut être des dizaines d'autres choses. Tu pourrais nous faire un petit code qui montre le problème et le poster ici? Sinon, on ne pourra pas t'aider. - Eric -
# Création du menu fichier: fichier = Menu(menu1, tearoff=0) menu1.add_cascade(label="Fichier",menu=fichier) fichier.add_command(label="Quit", commandþn.quit)
le programme affiche ne pas reconnaître les Entry (edt1,edt2,edt3)
ci cela peut vous aider.
Eric Brunel a écrit le 03/02/2011 à 17h22 :
In article ,
ookahh wrote:
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
Quel est le probleme?
Sans avoir plus de détails sur le code, ça va être
très très difficile à
direŠ A tout hasard, je dirais une variable mon_entry initialisée
dans
une fonction et pas déclarée en global, mais ça peut
être des dizaines
d'autres choses. Tu pourrais nous faire un petit code qui montre le
problème et le poster ici? Sinon, on ne pourra pas t'aider.
- Eric -
# 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)
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 Quel est le probleme?
Sans avoir plus de détails sur le code, ça va être très très difficile à direŠ A tout hasard, je dirais une variable mon_entry initialisée dans une fonction et pas déclarée en global, mais ça peut être des dizaines d'autres choses. Tu pourrais nous faire un petit code qui montre le problème et le poster ici? Sinon, on ne pourra pas t'aider. - Eric -
# Création du menu fichier: fichier = Menu(menu1, tearoff=0) menu1.add_cascade(label="Fichier",menu=fichier) fichier.add_command(label="Quit", commandþn.quit)
Ici, la méthode get est appelée sur edt1 qui n'existe plus, ni en local, ni en global. Donc erreur: NameError: global name 'edt1' is not defined
Le problème sera le même avec toutes les variables initialisées dans new1 et utilisées dans saveŠ
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()
[snip]
La solution est simple: déclarer dans new1 que les variables utilisées ailleurs sont globales, et pas locales à la fonction. Cela se fait simplement en faisant:
def new1(): global edt1, edt2, edt3 fen1=Toplevel() (etcŠ même code qu'avant)
HTH - Eric -
In article <Fc-dnSeMdYSwQtbQ4p2dnAA@giganews.com>,
ookahh <ookahh@domain-xyz.in> wrote:
Ici, la méthode get est appelée sur edt1 qui n'existe plus, ni en local,
ni en global. Donc erreur:
NameError: global name 'edt1' is not defined
Le problème sera le même avec toutes les variables initialisées dans
new1 et utilisées dans saveŠ
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()
[snip]
La solution est simple: déclarer dans new1 que les variables utilisées
ailleurs sont globales, et pas locales à la fonction. Cela se fait
simplement en faisant:
def new1():
global edt1, edt2, edt3
fen1=Toplevel()
(etcŠ même code qu'avant)
Ici, la méthode get est appelée sur edt1 qui n'existe plus, ni en local, ni en global. Donc erreur: NameError: global name 'edt1' is not defined
Le problème sera le même avec toutes les variables initialisées dans new1 et utilisées dans saveŠ
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()
[snip]
La solution est simple: déclarer dans new1 que les variables utilisées ailleurs sont globales, et pas locales à la fonction. Cela se fait simplement en faisant:
def new1(): global edt1, edt2, edt3 fen1=Toplevel() (etcŠ même code qu'avant)
Ici, la méthode get est appelée sur edt1 qui n'existe plus, ni en local, ni en global. Donc erreur: NameError: global name 'edt1' is not defined
Le problème sera le même avec toutes les variables initialisées dans new1 et utilisées dans saveŠ
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()
[snip]
La solution est simple: déclarer dans new1 que les variables utilisées ailleurs sont globales, et pas locales à la fonction. Cela se fait simplement en faisant:
def new1(): global edt1, edt2, edt3 fen1=Toplevel() (etcŠ même code qu'avant)
HTH - Eric -
Bien Merci ça marche.
Mais si vous permettez encore autre chose, je voudrais maintenant afficher les données de ma base sur mon interface graphique un peu comme le DbGrid de DELPHI. Est-ce avec le widget Listbox? comment faire?
Ici, la méthode get est appelée sur edt1 qui n'existe plus, ni en
local,
ni en global. Donc erreur:
NameError: global name 'edt1' is not defined
Le problème sera le même avec toutes les variables
initialisées dans
new1 et utilisées dans saveŠ
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()
[snip]
La solution est simple: déclarer dans new1 que les variables
utilisées
ailleurs sont globales, et pas locales à la fonction. Cela se fait
simplement en faisant:
def new1():
global edt1, edt2, edt3
fen1=Toplevel()
(etcŠ même code qu'avant)
HTH
- Eric -
Bien Merci ça marche.
Mais si vous permettez encore autre chose, je voudrais maintenant afficher les données de ma base sur mon interface graphique un peu comme le DbGrid de DELPHI. Est-ce avec le widget Listbox? comment faire?
Ici, la méthode get est appelée sur edt1 qui n'existe plus, ni en local, ni en global. Donc erreur: NameError: global name 'edt1' is not defined
Le problème sera le même avec toutes les variables initialisées dans new1 et utilisées dans saveŠ
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()
[snip]
La solution est simple: déclarer dans new1 que les variables utilisées ailleurs sont globales, et pas locales à la fonction. Cela se fait simplement en faisant:
def new1(): global edt1, edt2, edt3 fen1=Toplevel() (etcŠ même code qu'avant)
HTH - Eric -
Bien Merci ça marche.
Mais si vous permettez encore autre chose, je voudrais maintenant afficher les données de ma base sur mon interface graphique un peu comme le DbGrid de DELPHI. Est-ce avec le widget Listbox? comment faire?