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 : 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
# -*- 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.