1.if qrytem.isempty=true then qrytem.recno:=-1; //最小值 此情况为 数据源刚打开的时候且数据记录集为空值,不为空则recno:=1;
2.if qrytem.eof=true then qrytem.recno:=qrytem.recordcount;//最大值(数据源不为空)
//当 recno=qrytem.recordcount时 指向最后一条记录 此时可以再执行一次qrytem.next;而后qrytem.eof才为真,recno值不变
3. //所有qrytem.close;qrytem.open; 此语句 使当前记录位置为 记录集的最前头;或者说为第一条记录;不用执行qrytem.first;语句
qrytem.open;qrytem.first; //此语句永远是真的 即 初始记录 都存在 且 空时 recno=-1 不空时 recno=1;
qrytem.open; if qrytem.bof then //此语句永远是真的 即 初始记录 都存在 且 空时 recno=-1 不空时 recno=1;
eg://delphi7 qrytem:TAdoQuery;
if qrytem.isempty=false then //利用recno属性 定位记录位置
begin
r:=qrytem.recno;
qrytem.close;qrytem.open;
if r<=qrytem.recordcount then qrytem.recno:=r;
end;