标题:关于locate命令使用方法求大佬讲解
只看楼主
青灯古佛
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2019-10-14
结帖率:50%
 问题点数:0 回复次数:2 
关于locate命令使用方法求大佬讲解
去问一下各位前辈locate命令是不是只能查找已创建索引的记录
搜索更多相关主题的帖子: 命令 locate 方法 讲解 记录 
2020-07-27 08:40
zhken
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:273
专家分:594
注 册:2012-9-21
得分:0 

表不必存在索引。

参考一下帮助就有:


LOCATE 命令
请参阅 示例
 全部折叠 全部展开
按顺序搜索表,从中找到与指定的逻辑表达式相匹配的第一条记录。

 
LOCATE [FOR lExpression1]   [Scope]   [WHILE lExpression2]   [NOOPTIMIZE]
 

参数
FOR lExpression1
按顺序搜索当前表,从中找到与逻辑表达式 lExpression1 相匹配的第一条记录。如果 lExpression1 是一个可优化表达式,则 Rushmore 查询优化技术将优化由 LOCATE FOR 创建的查询。为了获得最佳性能,应在 FOR 子句中使用可优化表达式。更多的信息,请参见 SET OPTIMIZE 和 使用 Rushmore 优化数据访问速度。
Scope
指定要查找记录的范围。近查找在范围中的记录。Scope 子句有:ALL、NEXT nRecords、RECORD nRecordNumber、和 REST。包含 Scope 子句的命令仅对活动工作区中的表起作用。LOCATE 的默认范围是所有记录(ALL)。
WHILE lExpression2
指定一个条件,只要逻辑表达式 lExpression2 结果为真(.T.),就继续查找记录。
NOOPTIMIZE
禁止对 LOCATE 的 Rushmore 查询优化。更多的信息,请参见 SET OPTIMIZE 和 使用 Rushmore 优化数据访问速度。
说明

表不必存在索引。

如果使用不包含 FOR 表达式的 LOCATE 命令,则 Visual FoxPro 将记录指针定位在第一个逻辑记录上。这在使用了筛选或 DELETED 为 ON 时,比使用 GO TOP 更快。

如果 LOCATE 找到了匹配的记录,则可以用 RECNO( ) 返回匹配记录的编号。如果找到匹配记录,则 FOUND( ) 返回真(.T.),EOF( ) 返回假(.F.)。如果 SET TALK 为 ON,则显示匹配记录的编号。

LOCATE 找到匹配记录后,可以使用 CONTINUE 继续寻找表中的其它匹配的记录。在执行 CONTINUE 时,查找操作从满足条件记录的下一条记录开始继续执行。您可以重复使用 CONTINUE 命令,直至达到范围尾或表尾。

如果没有找到匹配记录,则 RECNO( ) 返回比表中记录数大 1 的值,FOUND( ) 返回假(.F.),EOF( ) 返回真(.T.)。

LOCATE 和 CONTINUE 作用于当前工作区。如果选择了另外的工作区,则当重新选择原来工作区时,可以继续原来的搜索过程。
2020-07-27 09:10
青灯古佛
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2019-10-14
得分:0 
回复 2楼 zhken
好的谢谢前辈

天道酬勤
2020-07-27 09:39



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




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

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