Enregistrer dans une base de donnée

cs_chick Messages postés 4 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 29 novembre 2004 - 28 janv. 2003 à 15:18
tof.p Messages postés 31 Date d'inscription samedi 20 septembre 2003 Statut Membre Dernière intervention 6 mars 2006 - 20 nov. 2003 à 00:40
je veux enregistrer dans une base de données pour recuperer les données s il y a coupure de courant!
jai fait ceci

utilisé une table dbase for windows
la méthode post de dataset
cachedupdate:=false de dataset

si je quite mon application correctement je recupere mes donnés si l application est mal quitée je narrive pas a les recuperer!!!!!!!!!!!

je ne comprend rien

3 réponses

cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
28 janv. 2003 à 22:30
Oui, c'est effectivement le cas avec le BDE en local. Le plus sûr ( mais aussi le plus bourrin ). Après une série de modifications tu fermes et tu ouvres à nouveau la table. Dans ce cas tu es sur que les modifications sont enregistrées.

--- :sleepy) Nono40@fr.st :sleepy) ---
Nouveau ---> Nono40.fr.st
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
28 janv. 2003 à 23:15
Pour des raisons de performances, les enregistrements modifiés ou créés pendant un session de travail sont contenus dans des buffers en mémoire. Par défaut, le contenu n'est écrit que sur fermeture de la table.

Pour pallier ce problème (existe aussi avec Paradox), tu appelles la méthode FlushBuffers dans le AfterPost de la table puisque tu n'utilises pas les CachedUpdates :

procedure TDataModule1.Table1AfterPost(sender: tobject);
begin
  Table1.FlushBuffers;
end;


May Delphi be with you
0
tof.p Messages postés 31 Date d'inscription samedi 20 septembre 2003 Statut Membre Dernière intervention 6 mars 2006
20 nov. 2003 à 00:40
Bonjour, j'ai un grand besoin d'aide. J'ai lu ce message que tu as laissé sur le site et je crois que ça se rapproche de mon problème:
Je sais que des buffers sont utilisés mais j'aimerais justement qu'après un update, delete, insert, il me renvoie automatiquement les données mises à jour car, c'est sûr que le rafraichissement ne se fait pas tjs, hors c primordial dans le programme que je suis en train d'écrire.

J'ai essayé de suivre ce que tu as dit avec le flush buffers mais il ne me donne pas la possibilité d'utiliser cette propriété. Les cachedupdates, je ne trouve pas non plus. Ca fait vraiment longtemps que je cherches.
Et chose étrange, avt j'utilisais des edit, post, append,... et la, jamais le raffraichissement était fait. Avec le SQL ca va mieux mais c pas encore ça. J'espère avoir été assez clair et je te remercie à l'avance.
Tof
0
Rejoignez-nous