Skip to main content

BOF

property BOF: Boolean read;

Example

function AtBeginning(const View: TdaSQLQueryDataView): Boolean;
begin
Result := View.BOF;
end;

Usage

Reports whether the view cursor is at or before its first visible record; an empty view has both BOF and EOF true.

  • Use with EOF when distinguishing empty/boundary states.
  • Do not use BOF alone to infer that the current record is invalid.
  • Master/detail ranges and filters define the visible beginning.

Additional Technical Info

BOF is a cursor boundary flag, not a record-existence count.

Source-backed behaviour

The base getter returns DataPipelines[0].BOF; both shipped descendants override it with FQuery.BOF. These normally track the same underlying client dataset but the override bypasses pipeline aliasing/state. BOF becomes true before the first visible record and is also true on an empty dataset. On the first valid record it can remain true until an attempted backward move depending on standard dataset semantics.

Reading requires a valid created view/pipeline/dataset lifecycle. It does not move the cursor or query the database.

Official terminal references

Created 2026-07-15