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
EOFwhen 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.