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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
| #-*- conding:utf-8 -*-
import sqlite3
from Tkinter import *
class Globals_Papeterie():
Index = 1
fen =Tk()
#---------------------------------------------------------------
conn = sqlite3.connect("mydb.sqlite")
cursor = conn.cursor()
cursor.execute("""CREATE TABLE IF NOT EXISTS "papeterie"(id integer PRIMARY KEY AUTOINCREMENT,lib VARCHAR(255), "mont" DECIMAL(10, 2))""")
#---------------------------------------------------------------
def voir_une_ligne():
r = cursor.execute("SELECT * FROM papeterie").fetchone()
index_var.set('index : ' + str(r[0])) # + car avec , cela fais deux arguments. Donc str() pour concatener.
lib_var.set('lib : ' + str(r[1]))
mont_var.set('mont : ' + str(r[2]))
def voir_ligne_choisie():
num = 5
for line in cursor.execute("SELECT * FROM papeterie WHERE id = (?)",(str(num),)):
index_var.set('index : ' + str(line[0]))
lib_var.set('lib : ' + str(line[1]))
mont_var.set('mont : ' + str(line[2]))
def liste():
for line in cursor.execute("SELECT * FROM papeterie"): print line
print 'Total : ', cursor.execute("SELECT COUNT(*) FROM papeterie").fetchall()[0][0]
def voir_suivant_valeur(Index):
if Index and 0 < int(Index) < cursor.execute("SELECT COUNT(*) FROM papeterie").fetchall()[0][0] + 1:
r = cursor.execute("SELECT * FROM papeterie WHERE id = (?)",(Index,)).fetchall()[0]
index_var.set('index : ' + str(r[0]))
lib_var.set('lib : ' + str(r[1]))
mont_var.set('mont : ' + str(r[2]))
Globals_Papeterie.Index = int(Index)
def voir_ligne_par_ligne():
if 0 < Globals_Papeterie.Index < cursor.execute("SELECT COUNT(*) FROM papeterie").fetchall()[0][0]:
Globals_Papeterie.Index += 1
r = cursor.execute("SELECT * FROM papeterie WHERE id = (?)",(str(Globals_Papeterie.Index),)).fetchall()[0]
index_var.set('index : ' + str(r[0]))
lib_var.set('lib : ' + str(r[1]))
mont_var.set('mont : ' + str(r[2]))
#---------------------------------------------------------------
Rech_Ind = Entry(fen)
Rech_Ind.grid(row=1, column=1)
bout0 = Button(fen,text="voir la ligne courante", command =voir_une_ligne)
bout0.grid(row=3, column=1)
bout1 = Button(fen,text="entrez le num de ligne", command =voir_ligne_choisie)
bout1.grid(row=4, column=1)
bout2 = Button(fen,text="lister le fichier", command=liste)
bout2.grid( row=5, column=1)
bout3 = Button(fen,text="voir suivant une entry", command = lambda: voir_suivant_valeur(Rech_Ind.get()))
bout3.grid(row=6, column=1)
bout4 = Button(fen,text="voir l'enregistrement suivant", command =voir_ligne_par_ligne)
bout4.grid(row=7, column=1)
index_var = StringVar()
index_var.set('index : ')
lab1 = Label(fen, textvariable=index_var, bg="white", width=20)
lab1.grid(row=0, column=2)
lib_var = StringVar()
lib_var.set('lib : ')
lab2 = Label(fen, textvariable=lib_var, bg="white", width=20)
lab2.grid(row=1, column=2)
mont_var = StringVar()
mont_var.set('mont : ')
lab3 = Label(fen, textvariable=mont_var, bg="white", width=20)
lab3.grid(row=2, column=2)
boutquit = Button(fen, text='quitter', command=fen.quit)
boutquit.grid( row=3, column=2)
#---------------------------------------------------------------
fen.mainloop()
conn.commit()
conn.close() |