seek 命令

示例 请参阅

SEEK 在一个表中搜索首次出现的一个记录,这个记录的索引关键字必须与指定的表达式匹配。

语法

SEEK eExpression
[ORDER nIndexNumber | IDXIndexFileName 
| [TAG] TagName [OF CDXFileName] 
[ASCENDING | DESCENDING]]
[IN nWorkArea | cTableAlias]

参数
eExpression

指定 SEEK 搜索的索引关键字。eExpression 可以是空字符串。

ORDER nIndexNumber

指定用来搜索关键字的索引文件或索引标识编号。nIndexNumber 指出了索引文件在 USE 和 SET INDEX 命令中列出的编号。首先,按照 USE 或 SET INDEX 中的顺序对打开的 .IDX 文件进行编号。然后,对结构 .CDX 文件(如果存在)中的标识进行编号,其顺序与创建它们的顺序相同。最后,对所有打开的独立 .CDX 文件进行编号,其顺序也与创建的顺序相同。有关索引编号的详细内容,请参阅 SET ORDER

ORDER IDXIndexFileName

指定一个用来搜索关键字的 .IDX 文件。

ORDER [TAG] TagName [OF CDXFileName]

指定用来搜索索引关键字的 .CDX 文件中的标识。标识名称可能在一个 .CDX 结构文件中,也可以在任何其他打开的独立 .CDX 文件中。
如果在几个打开的独立 .CDX 文件中存在相同标识名称,则应使用 OF CDXFileName 指出包含所用标识的 .CDX 文件。

附注 
如果存在相同的 .IDX 文件和标识名称时,.IDX 文件具有优先权。

ASCENDING

指定按升序搜索表。

DESCENDING

指定按降序搜索表。

IN nWorkArea

指定要搜索的表所在的工作区编号。

IN cTableAlias

指定要搜索的表的别名。
如果省略了 IN nWorkArea 和 In cTableAlias,则在当前选定的工作区中搜索。

说明

只能在索引过的表中使用 seek 命令,并且只能搜索索引关键字。除非 SET EXACT 的设置为 OFF ,否则匹配指的是完全匹配。
如果 SEEK 找到了与索引关键字相匹配的记录,则 RECNO( ) 返回匹配记录的记录号;FOUND( ) 返回“真”(.T.);EOF( ) 返回“假”(.F.)。
如果找不到相匹配的关键字,则 RECNO( ) 将表中记录的个数加 1,然后返回;FOUND( ) 返回“假”(.F.);EOF( ) 返回“真”(.T.)。
如果 SET NEAR 设置为 ON ,则记录指针指向与索引关键字最相匹配的那个记录的后面一个记录。如果 SET NEAR 设置为 OFF,则记录指针指向文件的结尾。在这两种情况下,RECNO(0) 都返回与关键字最匹配的记录号。