AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TQuery -> Anzahl Datensätze

TQuery -> Anzahl Datensätze

Ein Thema von HolgerCW · begonnen am 24. Jul 2007 · letzter Beitrag vom 26. Jul 2007
Antwort Antwort
Seite 1 von 3  1 23   
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#1

TQuery -> Anzahl Datensätze

  Alt 24. Jul 2007, 11:54
Datenbank: ORACLE • Version: 9 • Zugriff über: DATABASE
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
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: TQuery -> Anzahl Datensätze

  Alt 24. Jul 2007, 11:59
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#3

Re: TQuery -> Anzahl Datensätze

  Alt 24. Jul 2007, 12:07
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: TQuery -> Anzahl Datensätze

  Alt 24. Jul 2007, 12:24
Weicht diese Anzahl von der Anzahl der Datensätze ab?
Markus Kinzler
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#5

Re: TQuery -> Anzahl Datensätze

  Alt 24. Jul 2007, 13:06
Ja,

es ist ein berechnetes Feld.

Es kann in jedem Datensatz, die Zahl 0 - 10 annehmen.

Gruss

Holger
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: TQuery -> Anzahl Datensätze

  Alt 24. Jul 2007, 13:08
Dann wirst du nicht ohen weitere Abfage auskommen.
Markus Kinzler
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#7

Re: TQuery -> Anzahl Datensätze

  Alt 24. Jul 2007, 13:41
Danke für die Hilfe,

dann weiss ich jetzt bescheid und werde weiter TQuerys basteln.

Gruss

Holger
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: TQuery -> Anzahl Datensätze

  Alt 24. Jul 2007, 14:01
Du könntest auch versuchen die benötigten infos dazuzujoinen.

select <feldlist>,(select count(<id>) from <tabelle>) as anzahl from <tabelle> ...
Markus Kinzler
  Mit Zitat antworten Zitat
Thomas Horstmann

Registriert seit: 25. Apr 2007
86 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: TQuery -> Anzahl Datensätze

  Alt 24. Jul 2007, 14:15
Hallo,
recht einfach geht es mit "FetchAll" und "RecordCount":

Delphi-Quellcode:
MyQuery.FetchAll ;
ShowMessage('Anzahl: ' + IntToStr(MyQuery.RecordCount)) ;
Für die Summe am besten SQL oder Schleife (aber recht langsam):

Delphi-Quellcode:
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
Hoffe es hilft.

Viele Grüsse
Thomas
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#10

Re: TQuery -> Anzahl Datensätze

  Alt 25. Jul 2007, 14:32
Hi,

danke für die Hilfen.

Die Schleife ist echt zu langsam, da 13.000 Datensätze.

Zitat:
select <feldlist>,(select count(<id>) from <tabelle>) as anzahl from <tabelle> ...
Welche Tabelle würde ich denn für ID angeben, wenn ID ein berechnetes Feld ist ?

Gruss

Holger
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz