yacinew
Messages postés18Date d'inscriptionvendredi 21 août 2009StatutMembreDernière intervention22 février 2018
-
19 févr. 2012 à 23:07
solilog
Messages postés273Date d'inscriptionsamedi 13 juin 2009StatutMembreDernière intervention18 avril 2015
-
27 févr. 2012 à 21:02
Bonjour,
J'ai crée une petite application qu'utilise une BDD de type DBF(la taille est 25 MO)
et les compansant (Query,Dbgrid,et 3 buttons)
pour chaque clic sur l'un des bottons j'ai fait ça
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select* from Incident.DBF where DD=''OR''');
Prepare;
open;
end;
mon Problème c'est a la fin g'ai remarquée que la taille du fichier du programme a augmenter 100 Mo, et j'ai trouver a l'intérieure du répertoire de projet des fichiers ("_QSQL312.DBF") avec une taille 25 MO;
Comment je peut éviter ça ...!!
Merci
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 20 févr. 2012 à 15:40
bonjour,
la requête SQL doit déclencher une erreur se traduisant par l'écriture
du fichier _QSQL312.DBF qui est un log pour dbf.
l'augmentation de la taille de l'exe est en revanche curieuse...
en tout cas, il faut débugger le code du bouton en mettant des points d'arrêts et tester les variables et voir aussi ce qui s'affiche dans le grid.
avec aussi peu d'information, désolé, on ne peut aller plus loin.
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 24 févr. 2012 à 14:48
Salut,
"mon Problème c'est a la fin g'ai remarquée que la taille du fichier du programme a augmenter 100 Mo"
- Tu as dû choper un virus ou autre!
"et j'ai trouver a l'intérieure du répertoire de projet des fichiers ("_QSQL312.DBF") avec une taille 25 MO;
Comment je peut éviter ça ...!! "
- Tu peux pas.
solilog
Messages postés273Date d'inscriptionsamedi 13 juin 2009StatutMembreDernière intervention18 avril 201510 27 févr. 2012 à 21:02
Bonsoir,
certains (mauvais) drivers .DBF peuvent créer des fichier _QSQLxxx.dbf temporaires qui sont des copies des résultats de ta requête "select ...".
- tu peux minimiser les selects. tu ne fait qu'1 seul fois sql.add('select...') en début de prog ou dans un form.create et dans ton bouton tu fais simplement un refresh ou un close/open ... et tu "ne devrais" avoir qu'1 seul _QSQLxxx.dbf (pas sûr)
- tu devras toujours supprimer ces fichiers _QSQLxxx.dbf en fin de programme, ça peut s'automatiser dans une proc de finalization.
- si tu utilises des ttable au lieu de tQuery tu ne devrais pas avoir de fichiers temporaires, sinon change de driver DBF, y en a plein.
- tu augmentes la taille de ton .exe à chaque click ??? là t'as fumé la moquette ou alors t'as un problème avec ton compilateur.
Je te suggère de passer à Firebird, MySql, Interbase, voir MsAccess ou Paradox, mais les drivers .dbf ils commencent à se faire vieux.
bon courage.
solilog