Thema: Delphi BOF und EOF nach Locate

Einzelnen Beitrag anzeigen

Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
679 Beiträge
 
Delphi 12 Athens
 
#8

Re: BOF und EOF nach Locate

  Alt 2. Jun 2010, 10:51
Zitat von Blup:
Code:
Wird eine Query geöffnet, steht der Datensatzzeiger normalerweise auf dem ersten Datensatz:
   BOF = False
-> Satz1
   Satz2
   Satz3
   EOF = False

Ein erfolgreiches Locate verschiebt nur den Datensatzzeiger auf ein anders Element:
   BOF = False
   Satz1
-> Satz2
   Satz3
   EOF = False

Wird der Datensatzzeiger durch Next über den letzten Datensatz hinaus bewegt:
   BOF = False
   Satz1
   Satz2
   Satz3
-> EOF = True

Wird der Datensatzzeiger durch Prior vor den ersten Datensatz bewegt:
-> BOF = True
   Satz1
   Satz2
   Satz3
   EOF = False

Enthält die Datenmenge überhaupt keine Daten:
-> BOF = EOF = True
In der Regel werden aber keine NULL-Datensätze angezeigt, d.h. nach einem prior auf dem ersten Datensatz steht der Zeiger immer noch auf dem ersten, BOF wird aber gesetzt. Bei einem next auf dem letzten Datensatz steht der Zeiger wieder auf dem letzten, EOF ist aber gesetzt. Somit ist sichergestellt, dass immer ein gültiger Datensatz (außer BOF=EOF=TRUE -> keiner vorhanden) vorhanden ist. Ein next bzw prior springt dann jeweils auf den zweiten/zweitletzten und löscht die EOF/BOF Flags.
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat