Tquery et pdoxusr.lck probleme

cei66 Messages postés 3 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 9 novembre 2004 - 8 nov. 2004 à 09:54
cei66 Messages postés 3 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 9 novembre 2004 - 9 nov. 2004 à 08:15
salut lors de l'execution de 4 query successifs et executé plusieurs fois j'ai le fichier pdoxusr.lck qui devient enorme et puis ca plante
ex code uniquement des select

q1.close;
...
q1.open;

q2.close;
...
q2.open;

q3.close;
...
q3.open;

q4.close;
...
q4.open;

dans un afterscroll donc execute plusieur fois

Merci
David

4 réponses

vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006
8 nov. 2004 à 15:59
Salut cei66,

Est-ce que par hasard, ton event afterscroll ne serait pas du genre "le chien qui veut absolument mordre sa queu et qui n'y arrive pas" ... bref tu tournes en rond jusqu'au plantage de ton appli.

L'event afterscroll est lié à quel query ??

Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans
0
cei66 Messages postés 3 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 9 novembre 2004
8 nov. 2004 à 21:33
bonjour Vincent ,

la reponse a ta 1er question est non car je dois faire de nombreux aller retour sur le grid de la table T1 sur laquelle il y a l'afterscroll qui execute les query

david
0
vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006
9 nov. 2004 à 07:51
Salut David,

Plusieurs pistes :

1. Es-tu obligé d'ouvrir et de fermer tes query à chaque fois ?

2. Utilises-tu le BDE de Borland ? Si oui, je te conseille de le virer et de créer un TDatabase directement dans ton appli.

3. C'est la piste la plus importante à mon sens : Paradox est un gestionnaire de bases de données orientées 'Table' à l'inverse d'Interbase MySQL, ... qui sont orientés 'Query'.
Donc si tu utilises des query sur une base de données Paradox, le BDE est obligé de convertir le SQL en language compréhensible pour tes tables.

Lis l'article http://community.borland.com/article/0,1410,28160,00.html
sur le site de Borland. Et si nécessaire, et c'est un conseil judicieux à mon sens, passes ton appli en Interbase. La version 6.0 est opensource et est encore facile d'utilisation dans une appli Delphi. Les composants InterbaseExpress ressemble +/- à ceux du BDE et là, tu dois utiliser les Query et toutes leurs puissances.

Si tu dois porter ton application sur d'autre PC, n'aie crainte, tu sais facilement installer le serveur Interbase en même temps que ton appli.

@ + et bonne prog


Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans
0
cei66 Messages postés 3 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 9 novembre 2004
9 nov. 2004 à 08:15
merci pour ta reponse,
entre temps j'ai fait quelques test pour m'apercevoir qu'avec paradox et le bde si tu ouvres plusieurs query
ex:
si :
repeat
Q1.Close;
Q1.Open;
Q2.Close;
Q2.Open;
Q3.Close;
Q3.Open;
inc(cpt);
until cpt = 100 ;
dans ce cas pdo grossi
mais si :
repeat
Q1.Open;
Q2.Open;
Q3.Open;
Q3.Close;
Q2.Close
Q1.Close;
inc(cpt);
until cpt = 100;
c'est ok conclusion si tu ouvres plusieurs query tu dois les refermer du dernier au premier

david
0
Rejoignez-nous