Page 1 sur 1

[Résolu] Base de données SQLITE

Publié : lun. 22/oct./2012 9:03
par Mindphazer
Bonjour à tous,
dans le cadre de mon boulot, j'ai été amené à développé une petite appli qui stocke des données dans une base SQLITE.
Cette base est installée sur un répertoire réseau partagé, car l'application est installée sur plusieurs PC.
Cette appli liste les données de la base dans un ListIconGadget.
Je voudrais savoir s'il est possible de savoir quand la base a été mise à jour, afin d'actualiser le contenu du ListIconGadget.
Je m'explique :
L'utilisateur A lance l'appli. L'utilisateur B aussi.
A met à jour la base de données. Le contenu de son ListIconGadget se met à jour.
Comment faire pour que le ListIconGadget de B se mette à jour ?

Merci d'avance pour vos réponses

Base de données SQLITE

Publié : lun. 22/oct./2012 11:40
par wood51
Salut , un petit prog lancer en tâche de fond ( dans le répertoire partager) qui vérifie la maj de la base et envoie l'infos au prog A,B ... Ou mieux peut être , tes prog A,B écrivent un fichier contenant l'état de la base dans le répertoire partager . Les prog vérifier si il leurs faut mettre à jours la Listicon
@+ wood51

Re: Base de données SQLITE

Publié : lun. 22/oct./2012 12:32
par Mindphazer
Merci Wood
Je vais explorer cette idée.

Re: Base de données SQLITE

Publié : lun. 22/oct./2012 14:20
par falsam
Bonjour Mindphaser. Tu pourrais peut être passe par un timer qui teste la date+time du dernier accès à la base de donnée SQlite.

Code : Tout sélectionner

Define.l Event
Global Database.s, LastUpdateTime.l
Database = "tabase.SQLite"

LastUpdateTime = GetFileDate(Database, #PB_Date_Modified)

If OpenWindow(0, 0, 0, 400, 100, "Timer Example", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  AddWindowTimer(0, 123, 3000)
  
  Repeat
    Event = WaitWindowEvent()
      
    If Event = #PB_Event_Timer And EventTimer() = 123
      
      If GetFileDate(Database, #PB_Date_Modified) <> LastUpdateTime 
        Debug "Une modification vient d'avoir lieu. Mise à jour de la liste"
        LastUpdateTime = GetFileDate(Database, #PB_Date_Modified)
      EndIf
            
    EndIf    
      
  Until Event = #PB_Event_CloseWindow
      
EndIf

Re: Base de données SQLITE

Publié : lun. 22/oct./2012 16:03
par Mindphazer
Immense merci Falsam.
Je n'avais absolument pas pensé aux timer, que je n'utilise, à tort, jamais.

Ca m'ouvre de bien belles perspectives.

Merci encore :wink:

[Résolu] Base de données SQLITE

Publié : lun. 22/oct./2012 17:51
par wood51
Idem . c'est vraiment le truc auquel je ne pense jamais la preuve ;-)