![]() |
Datenbank: ORACLE • Version: 9 • Zugriff über: DATABASE
TQuery -> Anzahl Datensätze
Hallo zusammen,
kann man einer TQuery die Anzahl der Datensätze entnehmen, ohne mit Count in SQL zu arbeiten. Habe die TQuery mit einer DataSource an ein DBGrid gekoppelt und würde jetzt gerne wissen, wieviele Datensätze in der DBGrid sind Gruss Holger |
Re: TQuery -> Anzahl Datensätze
Einfach zum Ende der Query scrollen.
Oracle weis ja selbst nicht wenn die ersten Datensätze zum Client geliefert werden wieviel Datensätze enthalten sind da ja im Hintergrund u.U. noch die "restlichen" Ergebnissätze bestimmt werden. |
Re: TQuery -> Anzahl Datensätze
Alles klar,
das klappt schon mal, und wie könnte ich jetzt noch die Summe der in Spalte XYZ enthaltenen Werte ermitteln ? (Ohne SQL) Gruss Holger |
Re: TQuery -> Anzahl Datensätze
Weicht diese Anzahl von der Anzahl der Datensätze ab?
|
Re: TQuery -> Anzahl Datensätze
Ja,
es ist ein berechnetes Feld. Es kann in jedem Datensatz, die Zahl 0 - 10 annehmen. Gruss Holger |
Re: TQuery -> Anzahl Datensätze
Dann wirst du nicht ohen weitere Abfage auskommen.
|
Re: TQuery -> Anzahl Datensätze
Danke für die Hilfe,
dann weiss ich jetzt bescheid und werde weiter TQuerys basteln. Gruss Holger |
Re: TQuery -> Anzahl Datensätze
Du könntest auch versuchen die benötigten infos dazuzujoinen.
SQL-Code:
select <feldlist>,(select count(<id>) from <tabelle>) as anzahl from <tabelle> ...
|
Re: TQuery -> Anzahl Datensätze
Hallo,
recht einfach geht es mit "FetchAll" und "RecordCount":
Delphi-Quellcode:
Für die Summe am besten SQL oder Schleife (aber recht langsam):
MyQuery.FetchAll ;
ShowMessage('Anzahl: ' + IntToStr(MyQuery.RecordCount)) ;
Delphi-Quellcode:
Hoffe es hilft.
var
iSum : Currrency ; .. with MyQuery do begin { Ausgaben deaktivieren, sonst werden die Grids mit "gescrollt" } DisableControls ; { Zurücksetzen } iSum := 0 ; { Zum Anfang } First ; { Schleife, über alle Datensätze } while EOF = FALSE do begin { Addieren } iSum := iSum + FieldByName('FieldXYZ').AsCurrency ; { Nächster Datensatz } Next ; end ; // while EOF { Ausgaben aktivieren } EnableControls ; end ; // with MyQuery Viele Grüsse Thomas |
Re: TQuery -> Anzahl Datensätze
Hi,
danke für die Hilfen. Die Schleife ist echt zu langsam, da 13.000 Datensätze. Zitat:
Gruss Holger |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:57 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