点击或拖拽改变大小

Functions.OrdKeyNo 方法

X#
获取当前记录的逻辑记录编号。

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

参数

uOrder (Optional)
类型:__Usual
顺序的名称或表示其在顺序列表中位置的数字。
使用顺序名称是首选方法,因为在多个顺序索引文件中确定位置可能很困难。
如果省略或为 NIL,则假定为控制顺序。
指定无效顺序将引发运行时错误。
cIndexFile (Optional)
类型:__Usual
索引文件的名称,包括可选的驱动器和目录(不应指定扩展名)。
使用此参数与 cOrder 一起消除在不同索引文件中具有相同名称的两个或多个顺序之间的歧义。
如果 cIndexFile 未被当前进程打开,将引发运行时错误。

返回值

类型:__Usual
当前记录在指定顺序中的相对位置,作为数值。OrdKeyNo() 尊重顺序的范围和条件,如果记录指针位于无效记录上或 EOF() 为 TRUE,则返回零。
备注
OrdKeyNo() 返回顺序中键的逻辑记录编号。
这与物理记录编号(使用 RecNo() 函数返回)形成对比,后者是记录在物理数据库文件中的相对位置。 提示:
此函数在浏览记录时用于显示滚动条和消息,例如“第9条记录,共123条”时非常有用。 默认情况下,此函数在当前选定的工作区上操作。
可以通过在别名表达式中指定来使其在未选定的工作区上操作。
示例
此示例展示了物理和逻辑记录编号之间的区别:
X#
1USE customer            // 假设有1000条记录
2SET INDEX TO first        // 按名字排序记录
3? OrdKeyNo()            // 结果: 1
4DBSkip(10)
5? OrdKeyNo()            // 结果: 11
6? RECNO()                // 结果: 未知
7DBGoBottom()
8? OrdKeyNo()            // 结果: 1000
9? RECNO()                // 结果: 未知
参见