Heißt das, dass ich bei einem
select * from tabelle
per
for x := 1 to qry.RecordCount
niemals die tatsächliche, datenbankseitige, Anzahl von Datensätzen bekomme, sondern immer nur die Anzahl der Sätze, die gerade beim Client angekommen ist und dieser dann lokal auswerten kann?
Das würde doch dann bedeuten, dass das im Eingangspost gezeigte Konstrukt der For-Schleife (gegen eine
MySQL-Datenbank) noch nie (bzw. nur zufällig) korrekt gearbeitet haben kann?!?
Es kommt letztendlich auf die
Query-Komponente bzw deren Einstellungen an.
Ich hatte in einem alten Programm mal das Problem, dass das RecordCount genau so lange wunderbar funktioniert hat, wie die tatsächliche Anzahl der Datensätze kleiner oder gleich 50 war, denn in diesem Fall war 50 meine Page-Größe.
Ob das in deinem Fall auch so war, hängt von den Einstellungen der
Query ab, die hier schon ausgiebig diskutiert wurden.
Ich habe aus diesem und anderen Gründen der Verwendung von RecordCount schon vor geraumer Zeit abgeschworen, da man zu viele Dinge beachten muss und es dementsprechend eine riesige Fehlerquelle darstellt.