AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DataSet.RecordCount -nur sichtbare Datensätze?
Thema durchsuchen
Ansicht
Themen-Optionen

DataSet.RecordCount -nur sichtbare Datensätze?

Ein Thema von cugar · begonnen am 3. Feb 2007 · letzter Beitrag vom 3. Feb 2007
Antwort Antwort
cugar

Registriert seit: 6. Jan 2007
149 Beiträge
 
Delphi XE Professional
 
#1

DataSet.RecordCount -nur sichtbare Datensätze?

  Alt 3. Feb 2007, 16:08
Datenbank: interbase • Version: 7.5 • Zugriff über: delphi
Hallo,
möchte mir die Anzahl der Datensätze einer DataSet anzeigen lassen, es sind tatsächlich 147, DBGrid zeigt mir am Stück 28 und :
DataModule1.IBDSProdukte.RecordCount liefert mir auch nur 28,
habe ich da etwas nicht verstanden??? (über SQL mit count(*) möchte ich nicht)

Gruß
cugar
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#2

Re: DataSet.RecordCount -nur sichtbare Datensätze?

  Alt 3. Feb 2007, 16:15
eventuell mal ein DataSet.FetchAll probieren, damit alle Datensätze geladen werden?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: DataSet.RecordCount -nur sichtbare Datensätze?

  Alt 3. Feb 2007, 16:29
Zitat von cugar:
möchte mir die Anzahl der Datensätze einer DataSet anzeigen lassen, es sind tatsächlich 147, DBGrid zeigt mir am Stück 28 und :
DataModule1.IBDSProdukte.RecordCount liefert mir auch nur 28,
ist alles richtig so

Zitat von cugar:
habe ich da etwas nicht verstanden??? (über SQL mit count(*) möchte ich nicht)
genau du erwartest das alte BDE-Verhalten, das ist aber falsch. RecordCount gibt die nur die Anzahl der Datensätze wieder, die von gefetched worden sind. Du musst also über COUNT(PK) gehen
André
"A programmer is just a tool which converts caffeine into code", daran wirds wohl liegen, dass ich Abends nie pennen kann

Zitat von Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic
  Mit Zitat antworten Zitat
cugar

Registriert seit: 6. Jan 2007
149 Beiträge
 
Delphi XE Professional
 
#4

Re: DataSet.RecordCount -nur sichtbare Datensätze?

  Alt 3. Feb 2007, 16:42
Schade, muß ich drauf verzichten, count(*) bedeutet "Group by", will meine SQL's nicht noch komplizierter machen!

Vielen Dank und schönen Samstag Abend noch!
cugar
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

Re: DataSet.RecordCount -nur sichtbare Datensätze?

  Alt 3. Feb 2007, 16:44
Subselects: Select count(*) from (select ...) sollte da helfen (sofern die Datenbank das beherrscht)
  Mit Zitat antworten Zitat
cugar

Registriert seit: 6. Jan 2007
149 Beiträge
 
Delphi XE Professional
 
#6

Re: DataSet.RecordCount -nur sichtbare Datensätze?

  Alt 3. Feb 2007, 17:03
Werde ich versuchen, es ist InterBase 7.5
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: DataSet.RecordCount -nur sichtbare Datensätze?

  Alt 3. Feb 2007, 17:42
Hallo cugar,

du hast zwar die Komponenten nicht verraten mit denen du auf Interbase zugreifst, aber die TIBQuery aus den Delphi IBX-Komponenten liefert dir in der Eigenschaft RowsAffected die gesuchte Zahl. Andere Komponenten dürften das ähnlich machen, da alle auf dem Call-Level-Interface der Datenbank aufsetzen - und dort ist diese Information selbstverständlich.

Grüße vom marabu
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: DataSet.RecordCount -nur sichtbare Datensätze?

  Alt 3. Feb 2007, 18:22
@cugar: Mach erst ein Query.Last und dann ein Query.First nach dem Open, dann müsste RecordCount auch korrekt sein.

Gruss
Thorsten
  Mit Zitat antworten Zitat
cugar

Registriert seit: 6. Jan 2007
149 Beiträge
 
Delphi XE Professional
 
#9

Re: DataSet.RecordCount -nur sichtbare Datensätze?

  Alt 3. Feb 2007, 19:35
Greife über IBDataSet auf die Tabellen in der InterBase zu, danke für Eure Tipps!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: DataSet.RecordCount -nur sichtbare Datensätze?

  Alt 3. Feb 2007, 20:03
Zitat von MagicAndre1981:
genau du erwartest das alte BDE-Verhalten, das ist aber falsch. RecordCount gibt die nur die Anzahl der Datensätze wieder, die von gefetched worden sind. Du musst also über COUNT(PK) gehen
Das ist kein Verhalten der BDE sondern ist abhängig von der verwendeten Datenbank und der verwendeten Curserlocation. RecordCount kann nur dann einen gültigen Wert beinhalten wenn das Ergebnis feststeht. Da aber diverse SQL-Datenbanken es fertig bringen schon Daten zum Client zu liefern obwohl die Abfrage noch nicht komplett ausgeführt wurde kann RecordCount auch maximal den bisherigen Abfragestand am Client liefern (Bei verwendung der BDE bekommt man hier auch teilweise -1).
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:38 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