点击或拖拽改变大小

Functions.OrdKeyVal 方法

X#
获取当前记录在控制顺序中的键值。

命名空间:  XSharp.RT
程序集:  XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法
 FUNCTION OrdKeyVal(
	uOrder,
	cIndexFile
) AS USUAL CLIPPER
查看代码

参数

uOrder (Optional)
类型:__Usual
cIndexFile (Optional)
类型:__Usual

返回值

类型:__Usual
当前记录的键值。
返回值的数据类型与创建顺序时使用的键表达式的数据类型相同。
使用 ValType() 或 UsualType() 来确定数据类型。 OrdKeyVal() 在以下情况下返回 NIL: 没有控制顺序 记录指针位于文件末尾(EOF() 返回 TRUE) 此记录没有定义键(例如,您已将记录指针定位到不符合顺序条件或超出其指定范围的记录)
备注
键值是从控制顺序中检索的,而不是从数据库文件中检索。
这使得检索更快,因为没有时间花费在读取实际记录上。 提示:OrdKeyVal() 很快,但如果您多次使用该值,存储结果在局部变量中会更快。
然后使用局部变量,而不是对同一记录多次调用 OrdKeyVal()。 默认情况下,此函数在当前选定的工作区上操作。
可以通过在别名表达式中指定来使其在未选定的工作区上操作。
示例
此示例显示了顺序中所有键的值,而无需将单个记录读入内存:
X#
1FUNCTION DisplayKeys()
2    LOCAL cKey, cFirst, cLast
X#
1USE customer
2// 假设 LastName 和 FirstName 都是
3// 20 个字符
4INDEX ON LastName + FirstName TO lastfir
X#
 1DO WHILE !Customer->EOF()
 2    cKey := Customer->OrdKeyVal()        // 获取键
 3                            // 值
 4    cLast := LEFT(cKey, 20)            // 获取姓
 5                            // 名字
 6    cFirst := RIGHT(cKey, 20)        // 获取名
 7                            // 字
 8    ? cLast, cFirst
 9    Customer->DBSkip()
10ENDDO
X#
1CLOSE
参见