Bonjour,
J'écris de petites applications avec Lazarus pour gérer des données avec Sqlite3.
J'utilise le composant natifs et tout cela sous Linux.
Dans mes applications, je sauvegarde mes données dans des tables différentes à chaque sortie de l'application si il y a un changement de données dans l'une des tables de ma base.
La table de travail est dans un répertoire /tables/ et les sauvegardes "tournent" dans les répertoires /tablesA/ à /tableF/.
Donc en quittant l'application, je recopie la table de travail dans un des répertoires /tablesA/ à /tablesF/ selon un indice sauvegardé.
J'utilise une procédure trouvée dans la FAQ de Lazarus de Wile64.
Sous Linux pas de problème mais voulant l'utiliser sous Windows (l'avantage de Lazarus), je rencontre un problème : il faut sous Windows que la base soit "close". En effet, la copie de la table comme simple fichier se fait sans problème mais dans l'application utilisant cette table j'ai un message d'erreur : Unable to open file ....'
Donc il faut que je puisse dans mon application clore ma base Sqlite avant de la copier.
Je n'ai pas trouvé à insérer dans ma fonction. Je sais fermer les tables mais ce n'est pas suffisant, c'est la base qu'il faut fermer.
Alors si l'un d'entre vous la connaît je suis preneur.
Merci d'avance
Partager