AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ADOQuery berechnetes Feld

Ein Thema von Luckner · begonnen am 3. Jun 2019 · letzter Beitrag vom 11. Jun 2019
 
Delphi.Narium

Registriert seit: 27. Nov 2017
2.587 Beiträge
 
Delphi 7 Professional
 
#10

AW: ADOQuery berechnetes Feld

  Alt 3. Jun 2019, 17:31
Delphi-Quellcode:
  BestandMaterialNummer := 0;
    while not Datamodule1.ADOQueryRollenJoinLagerplatz.Eof do
    begin
      BestandMaterialNummer := BestandMaterialNummer + ((Datamodule1.ADOQueryRollenJoinLagerplatzArbBreite.AsInteger/1000) * Datamodule1.ADOQueryRollenJoinLagerplatzlfm.AsInteger);
      Datamodule1.ADOQueryRollenJoinLagerplatz.Next;
    end;
Bin mir nicht sicher, da Deine SQLs irgendwie extrem schwer lesbar sind (aber das hatten wir ja schon).

Sieht aber schwer nach sowas in der Art aus:
SQL-Code:
select sum(Arb-Breite / 1000) * lfm as BestandMaterialNummer
from Materialrollen
LEFT JOIN Rollenlager ON Materialrollen.Rollennummer = Rollenlager.Rollennummer
LEFT JOIN RollenPlanung ON Materialrollen.Rollennummer = RollenPlanung.Rollennummer
where Materialrollen.[Mat-Nr] = :MatNr
and Materialrollen.DatumAb is NULL
and Materialrollen.[Arb-Breite] > 179
group by
  Materialrollen.[Mat-Nr]
Wenn das soweit in etwa korrekt ist, baust Du das bitte noch in das erste SQL mit ein und sparst Dir die (mehr als nur gewöhnungsbedürftige) Whileschleife innerhalb einer Whileschleife, zwecks Anzeige in einem Grid, ein.

Ein Grid holt sich von der DB die Daten, die es zur aktuellen Anzeige benötigt. Dein Whileschleifenkonstrukt ist in dem Zusammenhang bestenfalls unschädlich, schlimmstenfalls kontraproduktiv, aber höchstwahrscheinlich nichts weiter als ein Zeit- und Resourcenfresser.

Bitte gewöhne Dir an in SQL-Statements nur die Daten zu selektieren, die Du auch zur Anzeige / Weiterverarbeitung benötigst. Das macht die SQLs übersichtlicher, spart Serverresourcen und beim Client Arbeitsspeicher und macht ggfls. mögliche Vereinfachungen der Statements deutlich leichter erkennbar.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz