cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 24 févr. 2007 à 09:20
La solution consiste à appeler la méthode FlushBuffers.
En effet, les données sont dans une zone tampon après un appel à la méthode Post. Les données ne sont effectivement écrites physiquement sur disque par Post qu'à la fermeture des tables, sauf si l'on appelle FlushBuffers (en français : vider les tampons) avant. Evidemment, si la coupure a lieu entre Post et FlushBuffers, là il n'y a aucune solution...Mais déjà, avec ça, les risques sont très limités.
May Delphi be with you !
<hr color="#008000" />
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
http://www.afipa.net/
cs_younesken1
Messages postés39Date d'inscriptionjeudi 19 mai 2005StatutMembreDernière intervention23 mars 2011 18 févr. 2007 à 23:23
bonne soirée tout le monde
g un prb sur mes donner paradox7
bon voila!
quand je fait une application bdd
je la passe en mode edit, je modifie mes donner ,puis j'execute post
normalement tout ce trouve sauvegarder sur ma base
le prb c que si une chute de tension arrive et que le micro redemarre toute mes donner sont perdu
meme si g appeler la methode 'post' avant que le micro ne redemarre.
merci
sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 201515 19 févr. 2007 à 14:18
Bonjour,
J'ai remarqué que lorsqu'on travaille sur une appli exécutée à partir
de Delphi, les enregistrements ne se font pas toujours dans les bases
Paradox... Essaie en lançant ton exécutable.
Sinon, procures toi un onduleur... Contre les chutes de tension, y a pas mieux !
Simon
cs_younesken1
Messages postés39Date d'inscriptionjeudi 19 mai 2005StatutMembreDernière intervention23 mars 2011 19 févr. 2007 à 18:16
Salut SIMONPELLOQUIN, merci dessayer de m'aider.
pour ce que ta remarqué je les remarquer aussi..mais les evenement qui ce sont déroulé sont les suivants:
g travaillé avec lexecutable hors delphi, g installé mon application chez un client .
premier accident: chute de tension résultat: les donner qui ont été ajouter et/ou modifier sans que lapplication ne se soit fermer ont disparu .g retrouver que les donner dorigine.
deuxiéme accident g préssé sur le boutton reset de la machine sans faire attention . resultat: meme resultat.
donc mon hypothèse et que les modifiications la BDD se font dabord sur un fichier temporaire , et quand l'aplication se termine normalement il est stocker difinitivement ur la BDD. et je veu quelle soit enregistrer directement sur la BDD non sur un Fichier temp.
je ne vois pas comment je peu faire çà.
merci pour votre aide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
"donc mon hypothèse et que les modifiications la BDD se font dabord sur un fichier temporaire " : Absolument pas.
La preuve il suffit de faire un simple ajout surt une application élémentaire et de constater qu'en ouvrant la BDD via DataBase DeskTop, ton enregistrement apparait.
Ton probleme est identique au copier coller d'un fichier : si tu coupes le PC (accident ou voulu) avant que le transfert soit finit, ben le transfert est tout simplement annulé ce qui semble évident.
Le probleme est juste que tu coupes l'alimentation avant que les enregistrements soient finis : surement que tu as mal codé ton application.
Mais bon la probabilité pour avoir une pannne de courant est vraiment faible puis ce probleme est posé dans un cadre bcp plus général que les BDD.
cs_younesken1
Messages postés39Date d'inscriptionjeudi 19 mai 2005StatutMembreDernière intervention23 mars 2011 23 févr. 2007 à 21:33
salut franky,
"Ton probleme est identique au copier coller d'un fichier : si tu coupes le PC (accident ou voulu) avant que le transfert soit finit, ben le transfert est tout simplement annulé ce qui semble évident."
le problème est que aprés avoir fais des modif sur ma bdd est appelé la procedure table1.post pour les sauvegarder..hé bein je peu attendre 20 minute sont rien faire sur l'application(on la laissant ouverte), et enredemaraant volontairement le micro tout s'envole . 20 minute sans rien faire je crois que elle a eu le temp de tout sauvefarder!!
ce probleme je l'ai en sachant que je travaille avec delphi7 version anglaise.
1 ami a moi a delphi7 version francaise , g tester hier sur son pc mon application , et tout mes donneés était sauvegarder meme en coupant le courant. bizarre ce BDE!!