标题:[灌水]不用 EOF 以加快记录循环
只看楼主
suyongtao
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:33
帖 子:8674
专家分:127
注 册:2004-11-6
结帖率:77.27%
 问题点数:0 回复次数:6 
[灌水]不用 EOF 以加快记录循环
不用 EOF 以加快记录循环
通常我们使用以下的代码进行记录循环:

Do while not records.eof
combo1.additem records![Full Name]
records.movenext
loop 

结果是每个循环中数据库都要进行一次数据结束测试。在大量的记录的情况下, 浪费的时间相当大。 而使用以下的代码, 可以提高近 1/3 的速度:

records.movelast
intRecCount=records.RecordCount
records.movefirst

for intCounter=1 to intRecCount
combo1.additem records![Full Name]
records.movenext
next intCounter
搜索更多相关主题的帖子: EOF 灌水 记录 
2005-01-14 11:03
无根泉
Rank: 2
等 级:新手上路
威 望:4
帖 子:853
专家分:0
注 册:2004-11-4
得分:0 
回头试试,看看怎么样,

我很菜,但我很努力!
2005-01-14 17:22
aniude
Rank: 2
等 级:新手上路
威 望:3
帖 子:231
专家分:0
注 册:2004-11-3
得分:0 
旧作了,呵呵

2005-01-15 12:05
tang688
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1219
专家分:35
注 册:2004-12-25
得分:0 
records.movelast
intRecCount=records.RecordCount
records.movefirst

for intCounter=1 to intRecCount
combo1.additem records![Full Name]
records.movenext
next intCounter
只要
intRecCount=records.RecordCount
for intCounter=1 to intRecCount
combo1.additem records![Full Name]
records.movenext
next intCounter
就可以了。
多此二举

2005-01-15 13:09
tang688
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1219
专家分:35
注 册:2004-12-25
得分:0 

for intCounter=1 to records.RecordCount
combo1.additem records![Full Name]
records.movenext
next
就可以了。

2005-01-15 13:11
aniude
Rank: 2
等 级:新手上路
威 望:3
帖 子:231
专家分:0
注 册:2004-11-3
得分:0 
??他这样做可以减少rs的读取量//

2005-01-15 18:29
tang688
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1219
专家分:35
注 册:2004-12-25
得分:0 
噢?你的意思是说
intRecCount=records.RecordCount
for intCounter=1 to intRecCount
combo1.additem records![Full Name]
records.movenext
next intCounter

rs.movelast
intRecCount=records.RecordCount
rs.movefirst
for intCounter=1 to intRecCount
combo1.additem records![Full Name]
records.movenext
next intCounter
多读取了rs?
我还没试过。如果真是这样我就要先谢谢了。

[此贴子已经被作者于2005-1-16 14:58:58编辑过]



2005-01-16 14:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-11271-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.066279 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved