Récupérer la sélection d'un combobox pour sqlite3
Bonsoir,
J'ai utilisé sqlite3 pour ma gestion de base de données. J'ai voulu la tester en faisant un programme qui enregistre la valeur selectionné d'un combobox, mais ça ne marche pas. Pour moi ce serait le combo1.get() qui n'irai pas :
Code:
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
| # -*- coding: cp1252 -*-
from Tkinter import *
import sqlite3
import Tix
def Affiche(evt):
print varcombo.get()
Fp = Tix.Tk()
Fp.title("Test de sqlite 3")
Fp.wm_state(newstate="zoomed")
varcombo = Tix.StringVar()
combo1 = Tix.ComboBox(Fp, editable=1, dropdown=1, variable=varcombo, command = Affiche)
combo1.entry.config(state='readonly')
combo1.insert(0, 'Chocolat')
combo1.insert(1, 'Vanille')
combo1.pack()
def sauvegarder():
conn = sqlite3.connect('C:\Python27\sqlite\sqlite-dll-win32-x86-3080801\essai.db')
c = conn.cursor()
c.execute("INSERT INTO stocks VALUES (combobox.get())")
conn.commit()
conn.close()
champ_label = Label(Fp, text="Sauvegardé !!!",background="blue")
champ_label.pack()
champ_label.after(2000, champ_label.destroy)
Button(Fp, text="Quitter", command = Fp.destroy).pack(side=RIGHT)
Button(Fp, text="Sauvegarder", command = sauvegarder).pack(side=LEFT)
Fp.mainloop() |
Mais ça marque l'erreur suivante :
Code:
1 2 3 4 5 6 7
| Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1532, in __call__
return self.func(*args)
File "C:/Users/boubou/Desktop/Python/bd.py", line 29, in sauvegarder
c.execute("INSERT INTO stocks VALUES (combobox.get())")
OperationalError: near "(": syntax error |
Pourtant j'ai bien créé une table stocks dans ma base de données donc ca ne vient pas de la. Je vous remercie d'avance.