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 :

[Interbase] Procédure stockée


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club Avatar de Morfus
    Inscrit en
    Novembre 2006
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 93
    Points : 58
    Points
    58
    Par défaut [Interbase] Procédure stockée
    bonjour tous le monde
    voila jai un probleme au niveau de l'interbase jai effectuer un programme de calcule des somme de la table mais jai un probleme de lenteur d'execution interbase (j'utilise delphi 7 est interbase 6.5)
    on mas conseillé de mettre des procedures stocké mais la je blocke au niveau de cette procedure comment la faire elle est sous delphi
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    procedure CalculeTotalVente
    var
      TotalTaxe,TotalHT,TotalRemise: Extended;
      SavePlace: TBookmark;
    begin
      //if data.L_Ventes.del then Exit;       	{ don't calculate if deleting all items }
      SavePlace := data.L_ventes.GetBookmark;	{ returns nil if table is empty }
      try
        data.L_Ventes.DisableControls;
        Data.L_Ventes.First;
        TotalHT := 0;
        TotalTaxe:=0;
        TotalRemise:=0;
        while not Data.L_Ventes.EOF do
        begin
          TotalRemise:=TotalRemise+((data.L_ventesPRIX_HT.Value*data.L_ventesQTE.Value)-data.L_ventesTOTAL_HT.Value);
          TotalTaxe:=TotalTaxe+(data.L_ventesTOTAL_HT.Value*data.L_VentesTva.Value/100);
          TotalHT := TotalHT + data.L_ventesTOTAL_HT.Value;
          Data.L_Ventes.Next;
        end;
        data.T_VentesRemise.Value:=TotalRemise;
        iF DATA.T_VentesExo_TVA.Value='Oui' THEN data.T_VentesTotal_Taxe.Value:=0 ELSE Data.T_VentesTotal_Taxe.Value:=TotalTaxe;
        data.T_VentesTotal_Ht.Value := TotalHT;
     
      finally
         Data.L_ventes.EnableControls;
         if SavePlace <> nil then
         begin
           Data.L_ventes.GoToBookmark(SavePlace);
           Data.L_ventes.FreeBookmark(SavePlace);
         end;
            end;
            end;
    comment la mettre en procedure stocké
    une autre question es que locate dans une table ralenti le fonctionnement?
    merci pour votre aide

  2. #2
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    vous pouvez simplement appelez une requête SUM du genre

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT SUM((PRIX_HT*QTE)-TOTAL_HT)) AS TotalRemise,
    SUM(TOTAL_HT*TAUX_TVA) AS TOTAL_TVA,SUM(TOTAL_HT) AS TOT_HT 
    FROM VotreTable
    c'est rapide et efficace.

Discussions similaires

  1. Réponses: 10
    Dernier message: 25/05/2007, 15h21
  2. [Delphi][Interbase] pb de procédures stockées
    Par 0rus59 dans le forum Bases de données
    Réponses: 4
    Dernier message: 18/07/2006, 13h53
  3. [INTERBASE 6.0] Procédures stockées
    Par Vulcanos dans le forum InterBase
    Réponses: 3
    Dernier message: 11/03/2005, 19h19
  4. [Comparatif] Procédures stockées, triggers, etc.
    Par MCZz dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 28/08/2002, 12h27

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