IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Problème Utilisation Query


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Avril 2011
    Messages : 177
    Par défaut Problème Utilisation Query
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    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

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 786
    Par défaut
    Bonjour,

    Je pense que vous utilisez le BDE (Borland Database Engine) et les composants TQuery avec une base de données de type fichier (1 fichier = 1 table).

    1) D'après votre requête SQL, Vous accédez à la totalité des colonnes d'une table (select * from UneTable). Dans ce cas, utilisez plutôt le composant TTable (ce ne serait plus vrai avec un base de données de type Sqlserver, firebird, oracle, etc.).

    2) Si vous souhaitez conserver les composants TQuery, limitez votre requête SQL aux seules colonnes dont vous avez besoin et non la totalité, par exemple :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select num_id, type_id, severite from incidents.dbf

    3) Créez et préparez vos requêtes une seule fois et avec des paramètres. Vous pourrez éviter de les préparer à chaque fois et ainsi de solliciter inutilement le BDE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    // Dans une procédure appelée une seule fois (au démarrage par exemple), créez vos requêtes :
    with Query1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select* from Incident.DBF where DD=:P_DD');
      Prepare;
    end;
    //...
    // Lors de l'appel
    with Query1 do
    begin
      Close;
      Query1.ParamByName('P_DD').AsString := 'OR';
      Open;
    end;
    Les fichiers comme "_QSQL312.DBF" sont des fichiers temporaires. vous ne pourrez pas y échapper surtout si vous avez plusieurs Query actifs (ouverts) simultanément sur une même table.

    Quant aux 100 Mo dont vous parlez, il s'agit de la place occupée en mémoire ou sur le disque (les fichiers temporaires) ?
    --
    Philippe.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tomcat][Spring] Problème utilisation mémoire
    Par Wutintin dans le forum Hibernate
    Réponses: 12
    Dernier message: 08/09/2005, 14h57
  2. [JSTL] [EL] Problème utilisation <c:out>
    Par XavierL dans le forum Taglibs
    Réponses: 7
    Dernier message: 14/08/2005, 20h12
  3. (Problème) Utilisation de l'API mySQL [Delphi 2005 Perso]
    Par will-scs dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/08/2005, 18h26
  4. utiliser query sans composant builder 5
    Par hook85 dans le forum C++Builder
    Réponses: 8
    Dernier message: 19/01/2005, 21h09
  5. [JAR]Problème utilisation manifest et jar
    Par doudine dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 07/01/2005, 10h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo