Delphi 中的 TAdoQuery 中方法 First 的目的是什么

问题描述

能否请您向我解释以下几行的目的,尤其是对于第一种方法

TestQ.First;
  while not TestQ.Eof do  

解决方法

TDataSet 及其后代(如 TAdoAquery 和 TAdoTable)具有一组标准的导航方法,包括 First、Last、Next、Prior 和 MoveBy,它们以方法名称描述的方式移动数据集的“光标”。

除非数据集为空,否则数据集的光标始终指向数据集中的一条记录,称为“活动”记录,即进行数据读取和数据写入操作的记录。当数据库感知组件用于显示数据集中的字段时,显示的是活动记录的字段值。 (在 TDBGrid 中,当前记录突出显示)。

First 只需将光标移动到数据集中的第一条记录,根据数据集的当前顺序并考虑数据集上的任何活动过滤器。

顺便说一句,打开非空 TDataSet 时的标准行为将光标放在其中的第一条记录上,因此在调用 First 时具有相同的效果。通常,在遍历数据集之前调用 First,以便从已知位置开始遍历。

,

想法,使用以下代码迭代查询

AnyQuery.first;
while (not AnyQuery.EOF) do
   begin 
   ///   enter your query code here
   ....
   ...
   .
   ///   Move to the next query record 
   AnyQuery.Next ;    
   end;