jcbais
Messages postés11Date d'inscriptionjeudi 28 avril 2005StatutMembreDernière intervention18 décembre 2007
-
26 sept. 2005 à 17:56
jcbais
Messages postés11Date d'inscriptionjeudi 28 avril 2005StatutMembreDernière intervention18 décembre 2007
-
28 sept. 2005 à 11:21
Bonjour,
voilà j'ai fait une appli avec des tables paradox que j ouvre avec BDE,
le principe est que pour chaque client appellé, je crée une étiquette
avec des données que j'incrémente dans une table ou je fait bien un post a chaque fois.
Mon probléme est que si le PC plante pour x raison et que l'appli est mal quitter, je perd plein de données.
ex : j'ai créé 150 étiquettes si je quitte proprement mon appli je
l'ai retrouve bien dans ma table sinon j'en retrouve seulement 50
!!!!!!!
comme çi une partie des données restaient dans un cache.
vincentstryckmans
Messages postés228Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention25 octobre 2006 27 sept. 2005 à 11:55
Bonjour,
1ère piste : as-tu 'poster' les insertions que tu as faites ? Si non
utilises la méthode Post du TDataset qui lie ton appli à la table
paradox.
2ème piste : le BDE n'est pas 100% stable (sorry monsieur Borland). va
voir sur www.tory.net et tu trouveras, je pense, des composants d'accès
à des bases de données sans passer par le BDE.
Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.
vincentstryckmans
Messages postés228Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention25 octobre 2006 27 sept. 2005 à 17:53
Re-bonjour,
J'ai du développer une appli delphi - paradox, il y a quelques années
et je me souviens avoir utiliser les Tsession pour solutionner des
problèmes d'écriture dans les tables qui peuvent être similaire aux
tiens.
Si j'ai bonne mémoire, j'avais une session par table et j'ouvrais et
fermais la session avant d'insérer ou éditer un record dans la table.
Normalement le BDE va créer une session par déafut pour toi, mais
j'avais constaté qu'il était préférable de créer mes propres sessions.
De même, j'avais configurer toutes les TDatabase dans le code, sans
faire appel un alais du BDE, cela me causait moi de problèmes.
Voici ce que cela pourrait donner avec les sessions :
try
session.open;
with table do
begin
open;
if state = dsbrowse then
begin
append;
if state = dsinsert then
begin
fieldbyname('field1').as... := ...;
...
post;
end;
end;
close;
end;
session.close;
except
on exception do ...
end;
En espérant que cela puisse t'aider.
Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.