Cet exemple presque complet devrait répondre à ton souci.
-Création de la base de données si inexistant (Identifiant enregistrement, Date et Memo Texte).
-Visualisation (Liste et Fiche) , Ajout, Modification et suppression d'un enregistrement
Dans chaque cas la date est traitée.
Code : Tout sélectionner
EnableExplicit
Enumeration
  #Database
  
  #MainForm
  #Vision
  #Idtable
  #Date
  #Memo
  
  #Btn_New
  #Btn_View
  #Btn_Update
  #Btn_Del
EndEnumeration
;Application 
Global ApplicationTitle.s="SQLite : Manipulation de dates"
;Database
Global Database.s="MaBase.Sqlite"
Global ReqSql.s = ""
;Mode mise à jour (0 : Rien  1 : Ajout  2 : Mise à jour
Global ModeUpdate.l = 0
;Description de la date
Global AA.s, MM.s, JJ.s
UseSQLiteDatabase()
;Gestionnaire d'erreurs
Procedure Errors(Value.l)
  Select Value
    Case 0 ;Erreur dans la création de la base de données 
      MessageRequester(ApplicationTitle,"Erreur durant la création de la base de données")
      
    Case 1 ;Base pas accessible
      MessageRequester(ApplicationTitle,"La base de donnée n'est pas accessible "+DatabaseError())  
      
    Case 2 ;Erreur lors del l'execution de la requete
      MessageRequester(ApplicationTitle,"Erreur durant l'exécution de la requete "+DatabaseError()) 
      
  EndSelect
  
  ;Sortie de l'application
  End
EndProcedure
;Création de la base de données 
Procedure DatabaseCreate()
  If CreateFile(#Database, Database)
    CloseFile(#Database) 
  Else
    Errors(0)
  EndIf
  
  If OpenDatabase(#Database, Database, "", "", #PB_Database_SQLite)
    
    ;Création de la table MaTable
    ReqSql = "CREATE TABLE MaTable (idtable INTEGER PRIMARY KEY, date TEXT, memo TEXT)"
    DatabaseUpdate(#Database, ReqSql)
   
    ;La création de la base de données est terminée
    CloseDatabase(#Database)
    MessageRequester(ApplicationTitle,"Création de la base terminée")
  Else
    Errors(1)
  EndIf   
EndProcedure
;Ouverture de la base de données 
Procedure DatabaseOpen()
  If OpenDatabase(#Database, Database, "", "", #PB_Database_SQLite)
  Else
    Errors(1)
    End      
  EndIf
EndProcedure
;Liste des enregistrements
Procedure ListeRecords()
  ClearGadgetItems(#Vision)
  If DatabaseQuery(#Database, "select * from matable order by date asc")
    While NextDatabaseRow(#Database)
      AA=Mid(GetDatabaseString(#Database,1), 1, 4)
      MM=Mid(GetDatabaseString(#Database,1), 5, 2)
      JJ=Mid(GetDatabaseString(#Database,1), 7, 2)
      AddGadgetItem(#Vision, -1, JJ+"/"+MM+"/"+AA+Chr(10)+GetDatabaseString(#Database, 2))
      SetGadgetItemData(#Vision, CountGadgetItems(#Vision)-1, GetDatabaseLong(#Database, 0))
    Wend
    FinishDatabaseQuery(#Database)  
  Else
    Errors(2)
  EndIf
EndProcedure
;Mise en place d'un nouvel enregistrement
Procedure NewRecord()
  SetGadgetText(#Idtable,"")
  SetGadgetState(#Date, Date())
  SetGadgetText(#Memo,"")
  ModeUpdate=1 ;Mode Creation
EndProcedure
;Affichage d'un enregistrement selectionné dans la liste
Procedure ViewRecord()
  ReqSql="Select * from matable where idtable="+Str(GetGadgetItemData(#Vision, GetGadgetState(#Vision)))
  
  If DatabaseQuery(#Database, ReqSql) <> 0
    While NextDatabaseRow(#Database)
      SetGadgetText(#Idtable, GetDatabaseString(#Database,0))
      SetGadgetText(#Memo, GetDatabaseString(#Database,2))
      AA=Mid(GetDatabaseString(#Database,1), 1, 4)
      MM=Mid(GetDatabaseString(#Database,1), 5, 2)
      JJ=Mid(GetDatabaseString(#Database,1), 7, 2)
      
      SetGadgetState(#Date,  Date(Val(AA), Val(MM), Val(JJ), 00, 00, 00))
      SetGadgetText(#Date,  "%dd/%mm/%yyyy")
    Wend
    
    FinishDatabaseQuery(#Database)
    ModeUpdate=2
  Else
    Errors(2)
  EndIf
EndProcedure
;Ajout d'un enregistrement
;SQlite implique de doubler les apostrophes
Procedure AddRecord()
  AA =Mid(GetGadgetText(#Date),7,4)
  MM = Mid(GetGadgetText(#Date),4,2)
  JJ = Mid(GetGadgetText(#Date),1,2)
  
  ReqSql = "insert into matable (date, memo) values ('"
  ReqSql + AA+MM+JJ + "','"
  ReqSql + ReplaceString(GetGadgetText(#Memo), "'", "''")+"')" 
  
  If DatabaseUpdate(#Database, ReqSql) <>0  
    ListeRecords()  
    MessageRequester(ApplicationTitle,"Enregistrement ajouté")
    ModeUpdate=2
  Else
    Errors(2)
  EndIf  
EndProcedure
;Mise à jour d'un enregistrement
Procedure UpdateRecord()
  AA =Mid(GetGadgetText(#Date),7,4)
  MM = Mid(GetGadgetText(#Date),4,2)
  JJ = Mid(GetGadgetText(#Date),1,2)
  ReqSql="update matable set "
  ReqSql + "date='" + AA+MM+JJ +"',"
  ReqSql + "memo='" + ReplaceString(GetGadgetText(#Memo), "'", "''") + "'"
  ReqSql + "where idtable=" + GetGadgetText(#Idtable)
  
  If DatabaseUpdate(#Database, ReqSql) <>0  
    ListeRecords()
    MessageRequester(ApplicationTitle,"Enregistrement modifié")
    ModeUpdate=2
  Else
    Errors(2)
  EndIf 
EndProcedure
;Suppression d'un enregistrement
Procedure DelRecord()
  ReqSql = "delete from matable where idtable = "+ Str(GetGadgetItemData(#Vision, GetGadgetState(#Vision)))
  
  If DatabaseUpdate(#Database, ReqSql) <>0 
    NewRecord() 
    ListeRecords()
    MessageRequester(ApplicationTitle,"Enregistrement supprimé")
  Else
    Errors(2)
  EndIf
EndProcedure
Procedure MainFormShow()
  OpenWindow(#Mainform, 0, 0, 760, 300, ApplicationTitle)
  ListIconGadget(#Vision, 20, 50, 300, 230, "Date", 80,#PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection)
  AddGadgetColumn(#Vision, 1, "Mémo", 215)
  TextGadget(#Idtable, 550, 50, 80, 22, "")
  DateGadget(#Date, 350, 50, 110 , 24)   
  EditorGadget(#Memo, 350, 80, 300, 200)  
    
  SetActiveGadget(#Memo)
  
  ButtonGadget(#Btn_New, 670, 50, 80, 22, "Nouveau")
  ButtonGadget(#Btn_Update, 670, 75, 80, 22, "Enregistrer")
  ButtonGadget(#Btn_Del, 670, 100, 80, 22, "Supprimer")
  
  ModeUpdate=1 ;Mode Création à l'ouverure de l'application
EndProcedure
MainFormShow()
;Création de la base de données si inexistant 
If Not ReadFile(#Database, Database)
  DatabaseCreate()
Else
  CloseFile(#Database)
EndIf 
;Ouverture de la base de données 
DatabaseOpen()
;Montre les mémos
ListeRecords()
;Analyse des évenements
Repeat
  Select WaitWindowEvent()
     Case #PB_Event_CloseWindow
       Select EventWindow() 
         Case  #MainForm
           End
       EndSelect     
      
    Case #PB_Event_Gadget
      Select EventGadget()  
        Case #Vision
          ViewRecord()
          
        Case #Btn_New ;Nouveau mémo
          NewRecord()
          
        Case #Btn_Del ; Suppression d'un mémo
          If ModeUpdate=2
            DelRecord()
          Else
            NewRecord()
          EndIf
            
        Case #Btn_Update ;Ajout ou modification d'un mémo 
          Select ModeUpdate
              Case 1 ;Ajout 
                AddRecord()
                
              Case 2 ;Mise à jour
                UpdateRecord()
                
            EndSelect            
      EndSelect       
  EndSelect
ForEver