点击或拖拽改变大小

Functions.OrdKeyCount 方法

X#
返回顺序中的键的数量。

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

参数

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

返回值

类型:__Usual
备注
OrdKeyCount() 计算指定顺序中的键并返回结果作为数值。
如果顺序没有条件且未设置范围,则 OrdKeyCount() 与 RecCount() 相同,返回数据库文件中的记录数。然而,对于条件顺序,键的数量可能少于记录的数量,因为某些记录可能不符合顺序的条件或不在 OrdScope() 指定的范围内 — 在计算键时,OrdKeyCount() 尊重当前定义的范围和条件。 默认情况下,此函数在当前选定的工作区上操作。
可以通过在别名表达式中指定来使其在未选定的工作区上操作。

如果没有顺序在操作,返回值将是 0 而不是 RecCount() 的值。
示例
此示例演示使用 OrdKeyCount() 与各种顺序。
X#
 1USE customer
 2// 假设总记录数为 1000,
 3// 小于三十岁的人数为 500,和
 4// 工资低于 50,000 的记录为 895
 5? RecCount()                    // 结果: 1000
 6? OrdKeyCount()            // 结果: 0
 7INDEX ON Age TO Age
 8INDEX ON First TO First FOR Age < 30
 9INDEX ON Last TO Last FOR Salary < 50000
10// Age 是控制顺序
11SET INDEX TO Age, First, Last
12? RecCount()                    // 结果: 1000
13? OrdKeyCount()            // 结果: 1000
14? OrdKeyCount("First")        // 结果: 500
15? OrdKeyCount(3)            // 结果: 895
参见