-
Delphi 7 - Mybase
Salut à tous...
J'utilise une base de donnée Mybase sous delphi7..
Mon programme utilise plusieurs forme qui font appel à l'aide de combobox à la base de donnée..
Mon problème est que la base de données est stocké dans un premier temps en mémoire et lorsque je circule entre les form et fait appel à des combobox pour extraire des données venant d'être enregistrés , ceci n'apparaissent pas..
Ce n'est quau moment de quitter mon programme que la base de donnée est mémorisé sur le disque.
Quand je recharge mon application, les données venant d'être enregistrés sont bien à jour.
Comment faire pour que la mise à jour de la base de donnée se fasse en mémoire ?
J'ai essayé avec MergeChangeLog... , mais à mon avis il ne s'agit pas de la bonne instruction...
Merci d'avance
a+
-
Essaye avec la méthode ApplyUpdates.
-
Oui, sauf que l'argument du applyupdates , malgré le try except fournit dans l'aide ne fonctionne pas en base de donnée MyBase.
Et que dans ce cas il lui faut un argument de tolérence d'erreur.
Je lui passe l'argument de tolérence d'erreur 0 " ApplyUpdates(0) ", mais j' ai un message d'erreur au moment de l'excécution :
" Le projet Project1.exe a provoqué une classe d'exception EDatabase Error avec le message 'cds1' : Fournisseur de données ou paquet de données manquant.. "
Merci pour ta réponse
a+
-
Bonsoir,
Normalement l'utilisation des tables d'une base de données Mybase (ClientDataSet) est totalemnt identique aux autres bases
dans le cas de figure que vous posez.
En effet, les données enregistrés au cours de l'utilisation de l'application sont disponible immédiatement sans aucune autre forme
de manipulation (du genre MergeChangeLog)
Vous devez simplement rafraichir le contenu des "ComboBox" aprés chaque insertion d'enregistrement ou édition du champ utilisé
dans un "ComboBox" .
J'èspère avoir été assez clair, bonne courage.
-
Merci, pour vos réponses...
Désolé du retard de réponses...mais je n'avais pas reçu de message de suivi.. (peut - être un oubli de ma part dans le suivi de discution...)
En fait j'ai procédé différement : je fait en sorte qu'au moment de sortir de la form, la base soit enregistrée automatiquement..
J'ai préféré cette solution, sachant qu'il existe un petit risque (très minim vu l'application...) qu'il y ait plus d'un utilisateur utilisant l'application en même temps..
Aussi je vais mettre le tag "resolu"...
Merci
a+