Show/Hide Toolbars

XSharp

Note该命令在头文件中定义,将由 X# 预处理器预处理为函数调用。如果禁用标准头文件 (-nostddefs),该命令将不可用。如果告诉编译器使用不同的标准头文件(-stddef ),则此命令也可能不可用。

用途

搜索 order 中与指定表达式匹配的第一个键,将记录指针定位到相应记录,并设置 Found() 标志。

语法

SEEK <uKeyValue> [SOFTSEEK] [LAST]  [[IN|ALIAS] <workarea>]

参数

<uKeyValue>与 order 键值匹配的表达式。

 

SOFTSEEK如果指定了 SOFTSEEK(或 SetSoftSeek() 为 TRUE),记录指针将定位到具有下一个较高键值的记录,并且在 SEEK 不成功后,Found( ) 返回 FALSE。 只有在没有大于 <uKeyValue> 的键的情况下,EoF() 才会返回 TRUE。
 
如果未指定 SOFTSEEK 且 SetSoftSeek() 为 FALSE,则记录指针将定位到 LastRec() + 1,EOF() 返回 TRUE,并且在 SEEK 失败后 Found() 返回 FALSE。

 

LAST如果指定了 LAST,SEEK 会查找指定键值的最后一次出现。 如果未指定 LAST,SEEK 会查找第一次出现的键值。

 

IN | ALIAS <workarea>指定执行操作的工作区。

描述

如果 SEEK 成功,Found() 将设置为 TRUE,记录指针将定位到匹配记录。

示例

下面的示例使用 SEEK 命令搜索 "Doe":

USE customer NEW
SET INDEX TO customer
SEEK "Doe"
 
IF Found()
 .
 .  <Statements>
 .
ENDIF

下面的示例使用 SEEK 命令的 SOFTSEEK 子句对 "Doe "执行了软查找。 请注意,SOFTSEEK 子句对 SetSoftSeek() 标志没有任何影响:

USE customer NEW
SET INDEX TO customer
 
? SetSoftSeek()                        // 失败
SEEK "Doe" SOFTSEEK
? SetSoftSeek()                        // 仍旧失败
 
IF !Found()
 ? Customer->Name                // 返回 "Doe" 之后的下一个逻辑名称
ENDIF

程序集

XSharp.RT.DLL

参见

DbSeek(), DbSetIndex(), DbSetOrder(), SET INDEX, SET ORDER