记录集是否结束?(50分)

  • 主题发起人 主题发起人 mxsbt2
  • 开始时间 开始时间
M

mxsbt2

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟经常用到记录集的BOF 和EOF 属性,但一直并未搞清 BOF和EOF到底是在什么位置
如果说EOF 在最后一条记录时为 TRUE则
while not table1.eof do
begin
.
.
.
table1.next;
end;
不就不能遍历整个数据集吗?
到底eof 是最后一条,还是最后一条的下一条?
ADO的数据集也和它一样吗?
 
BOF 在第一条记录的前面,EOF在最后一条记录的后面,如果表为空则EOF和BOF重合。如果表不
空则记录指针为EOF时取数据仍取出第一条记录,当记录指针为EOF时取记录仍取出最后一条记录。
 
那为啥
table1.last;
if table1.eof=true then showmessage('eof');
还会出现呢?
 
看一下Delphi关于Last方法的帮助:
Call Last to make the last record in the dataset active. If the dataset is not unidirectional Last posts any changes to the active record and

1.Clears the record buffers.
2.Fetches the last record and makes it the active record.
3.Fetches any additional records required for display, such as those needed to
fill out a grid control.
4.Sets the Eof property to True.//这里把EOF置为TRUE;
5.Broadcasts the record change so that data controls and linked detail sets can
update.
 

Similar threads

回复
0
查看
995
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部