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 :

[Debutant]Problème mémoire et SGBD


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut [Debutant]Problème mémoire et SGBD
    Voila je tape ce programme :

    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
    17
    18
    19
    20
    var
    i:integer;
    begin
    i:=0;
    Query1.Close;
    Query1.sql.clear;
    Query1.sql.Add('SELECT smcode,sdate,');
    Query1.sql.Add('COUNT(sccode) AS CompteDeSCCode,');
    Query1.sql.Add('Sum(SPRICE) as SommeDeSPRICE FROM Sales');
    Query1.SQL.Add('WHERE (smcode=:x)');
    Query1.SQL.add('GROUP BY sdate, smcode');
    Query1.Params[0].AsString:=AnsiUpperCase(Edit1.text);
    Query1.Open;
    while not (Query1.Eof) do
      begin
        i:=i+strtoint(Query1.Fields[2].AsString);
    //    label1.caption:=inttostr(i);
        dbgrid1.Fields[5].asstring:=inttostr(i);
        Query1.next;
        end;
    et voilà ce qu'il me réponds :

    Insufficient memory for this operation
    Alias : IEPNET.
    IEPNET c'est l'alias de ma base de donnée en .db

    Je ne comprends pas j'ai pour au moins plus de 8Go d'espace sur le disque dur et sur 256 de Ram j'ai 1/4 d'utilisé. Aidez moi !
    [Modération]
    Merci d'utiliser les balises code ou quote, Laurent Dardenne
    [/Modération]

  2. #2
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut
    Il te répond ça sur quelle ligne ?
    Roland

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       i:=i+strtoint(Query1.Fields[2].AsString);
    bon alors ca déjà tu peux le remplacer par ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       i:=i + Query1.FieldByName['CompteDeSCCode'].AsInteger;
    A quoi ca sert de caster ton count si tu l'utilises pas



    sinon pour çà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      dbgrid1.Fields[5].asstring:=inttostr(i);
    tu cherches a faire quoi
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut
    Ben je veux faire en sorte de pouvoir mettre a la 5ème colonne de dbgrid additionner tout les count de chaque date!

    imagine a ses date la on obtient a la deuxieme colonne ca :

    11/01/05 2
    25/03/05 5
    17/04/05 1

    a la 5ème colonne ca doit faire ca :
    2 (logique 2 au départ)
    7 (=2+5 logique)
    8 (=7+1)

    j'utilisait pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    i:=i + Query1.FieldByName['CompteDeSCCode'].AsInteger;
    car d'une j'utilise CompteDeSCCode juste pour l'affichage sur le tableau et de deux mdr je connaissais pas!

    L'erreur ne se fait pas sur la ligne mais à l'execution du programme.

    je rentre une valeur, je valide avec un bouton qui execute le programme et à l'execution ca me fait cette erreur!

    j'avais déjà rencontré ce genre de problème en ayant 128 de ram alors j'ai changer de pc et j'ai maintenant 256 de ram ca marchais en continuant mon programme qui pour moi est tout petit j'ai re rencontré mon problème pourtant j'ai assez de mémoire donc je ne comprends rien :s!merci de votre aide!

  5. #5
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut
    Citation Envoyé par ghan77
    L'erreur ne se fait pas sur la ligne mais à l'execution du programme.
    Bien sûr, mais en plaçant en point d'arrêt au début de ta procédure et en exécutant pas-à-pas à partir de là, tu peux (généralement) voir à lexécution de quelle ligne se produit l'erreur
    Roland

  6. #6
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Le problème, c'est qu'un dbgrid ne contient aucune donnée. donc tu veux assigner à un ensemble de données fermé (Ta requete qui doit être connecté à ton dbgrid non ?) un champ supplèmentaire avec des valeurs.

    As tu fais un pas à pas pour voir où cela plante exactement ?
    Pour moi ca doit planter sur cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dbgrid1.Fields[5].asstring:=inttostr(i);
    tu devrais peut être utiliser un stringgrid pour l'affichage au lieu d'un dbgrid.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut
    pour le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    i:=i+Query1.FieldByName['CompteDeSCCode'].AsInteger;
    ca ne marche pas ca me fais ca

    [Error] Unit1.pas(49): Not enough actual parameters
    [Error] Unit1.pas(49): Missing operator or semicolon
    [Fatal Error] Project2.dpr(5): Could not compile used unit 'Unit1.pas'

    donc je reste sur mon auter code qui marche!

    Je ne sais pas pourquoi mais l'erreur de mémoire ne se fait plus mais tu ne saurais pas comment faire pour mettre à la 5ème colonne ce que j'ai marqué précédemment sur le DBGrid?

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut
    même avec le Pas à Pas ca ne me met rien!oui le DBGrid est lié à une base de donnée.je ne peux pas définir des valeurs précise dans le DBGrid si cela ne provient pas d'une requëte?

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut
    je pense ca sera plus simple de faire ca dans un tableau non?

  10. #10
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par ghan77
    pour le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    i:=i+Query1.FieldByName['CompteDeSCCode'].AsInteger;
    ca ne marche pas ca me fais ca

    [Error] Unit1.pas(49): Not enough actual parameters
    [Error] Unit1.pas(49): Missing operator or semicolon
    [Fatal Error] Project2.dpr(5): Could not compile used unit 'Unit1.pas'

    donc je reste sur mon auter code qui marche!

    Je ne sais pas pourquoi mais l'erreur de mémoire ne se fait plus mais tu ne saurais pas comment faire pour mettre à la 5ème colonne ce que j'ai marqué précédemment sur le DBGrid?
    Oups erreur c'est des () qu'iul faut metttre pas des [] ^^
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut
    Pour Mettre desValeurs fixe mieux vaut utiliser StringGrid

  12. #12
    Débutant

    Inscrit en
    Décembre 2003
    Messages
    166
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 166
    Points : 120
    Points
    120
    Par défaut
    Reponse a la question sur le manque de memoire :

    Utilises-tu beaucoup le bouton pour "reinitialiser le programme (Ctrl+F2)" ??
    Si c'est le cas, c'est normal il te faut redemarrer ta session pc ...

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut
    Non plus souvent F9!je pense que c'est la mémoire virtuel qui en prends un coup avec ce peu de mémoire!donc oblogié de relancer Delphi!:s!

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

Discussions similaires

  1. [Debutant] Problème de sécurité dans un applet
    Par peaceinpal dans le forum Applets
    Réponses: 3
    Dernier message: 09/09/2004, 20h56
  2. Problémes mémoire avec le bde sur des bases paradox
    Par Keke des Iles dans le forum Bases de données
    Réponses: 2
    Dernier message: 27/05/2004, 16h55
  3. [debutant]Problèmes
    Par BibiGmi dans le forum OpenGL
    Réponses: 2
    Dernier message: 05/03/2004, 14h00
  4. Problème mémoire avec une dll par chargement dynamique
    Par widze19 dans le forum C++Builder
    Réponses: 6
    Dernier message: 15/12/2003, 13h20
  5. [Debutant] Problème du linker [Dev-c++4]
    Par Macdir dans le forum Dev-C++
    Réponses: 3
    Dernier message: 30/05/2003, 20h50

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