Bonjour,

Voilà, je cherche une astuce pour récupérer un signal à la première modification apportée à une bdd sqlite, je donne ici un bout de code à titre d'exemple,

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
#!/usr/bin/python
 
import sqlite3
import random
 
def notif_modif():
    print("un modif de la bdd a eu lieu, conn.execute à été exécuté")
 
conn = sqlite3.connect(':memory:')
 
print("Opened database successfully")
conn.execute('''CREATE TABLE COMPANY
         (ID INT PRIMARY KEY     NOT NULL,
         NAME           TEXT    NOT NULL,
         AGE            INT     NOT NULL,
         ADDRESS        CHAR(50),
         SALARY         REAL);''')
print("Table created successfully")
 
toto=random.randint(0,10)
if toto > 5:
    conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (1, 'Paul', 32, 'California', 20000.00 )");
    #notif_modif()
print(toto)
 
conn.close()
maintenant, imaginons que j'ai plein de fichiers avec plus d'une centaine de conn.execute (et compagnie), j'aimerai éviter d'appeler d'appelé notif_modif à chaque fois que celà se produit

est ce que sqlite permet de générer un signal pour alerter d'une modification du contenu de la bdd ? une sorte de "conn.data_changed.connect(notif_modif)" ?