Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#6

AW: Anzahl gefundener Datensätze

  Alt 28. Jul 2020, 10:43
KAList ist die Liste, mit der ich dann später einzelne Datensätze mittels anderer SQL Abfragen abfrage.
Das ist schon klar, beantwortet aber nicht die Frage, von welchem Typ sie ist und ob sie unter Umständen Dubletten ignorieren könnte und damit ein falsches Zählergebnis zustande kommt.

Last muss gesetzt werden, damit die Datenbank zum letzten Datensatz geht. Vorher ist RecordCount (je nach Datenbank) die Zahl des letzten, bisher gelesenen, Datensatzes. Und bei einigen Datenbanken bzw. Datenbankkomponenten wird nicht sofort alles gelesen, sondern nur die Sätze, deren Lesen beim ersten Fetch erfolgt. Wenn Du also z. B. 1000000 Sätze in der Tabelle hast, aber beim Fetchen nur 2 Datensätze gelesen werden sollen, so hat RecordCount dann auch nur den Wert 2, derweil: Der Datenbank und der Datenbankkomponenten sind zu diesem Zeitpunkt noch nicht bekannt, dass es 1000000 Sätze gibt. Bisher haben sie halt nur 2 gefunden, beim nächsten Next wissen sie dann, dass es bis dahin nun 3 Sätze sind. Das wird wiederholt, bis EoF erreicht ist. Last ist halt der kürzeste Weg zum letzten Datensatz in der Datenmenge. Und erst wenn das Ende der Datenmenge erreicht ist, ist auch definitiv bekannt, wieviele Datensätze die Datenmenge enthält.
  Mit Zitat antworten Zitat