点击或拖拽改变大小

DbServer.OrderKeyCount 方法

X#
返回 order 中的键数。

命名空间:  VO
程序集:  VORDDClasses (在 VORDDClasses.dll 中) 版本:2.22 GA
语法
 VIRTUAL METHOD OrderKeyCount(
	uOrder,
	oFSIndex
) AS USUAL CLIPPER
查看代码

参数

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

返回值

类型:__Usual
备注
DBServer:OrderKeyCount() 计算指定 order 中的键数并将结果作为数值返回。 如果 order 没有条件且未设置范围,DBServer:OrderKeyCount() 与 DBServer:RecCount 相同,返回数据服务中的记录数。 然而,对于条件 order,可能会有比记录少的键,因为某些记录可能不满足 order 的条件或不在 DBServer:OrderScope() 指定的范围内——在计算键时, DBServer:OrderKeyCount() 尊重当前定义的范围和条件。
提示 提示:
如果没有操作中的 order,DBServer:OrderKeyCount() 将返回0而不是 DBServer:RecCount() 的值。
示例
此示例演示了使用各种 order 的 DBServer:OrderKeyCount()。
X#
 1oDBCust := Customer{}
 2// 假设总共有1000条记录,
 3// 500条记录年龄小于30岁,和
 4// 895条记录收入少于50000
 5? oDBCust:RecCount // 结果:1000
 6? oDBCust:OrderKeyCount() // 结果:0
 7oDBCust:CreateIndex("age", "oDBCust:Age")
 8oDBCust:SetOrderCondition("oDBCust:Age < 30")
 9oDBCust:CreateIndex("first", "oDBCust:FirstName")
10oDBCust:SetOrderCondition("oDBCust:Salary < 50000")
11oDBCust:CreateIndex("last", "oDBCust:LastName")
12// age是控制order
13oDBCust:SetIndex("age")
14oDBCust:SetIndex("first")
15oDBCust:SetIndex("last")
16? oDBCust:RecCount // 结果:1000
17? oDBCust:OrderKeyCount() // 结果:1000
18? oDBCust:OrderKeyCount("first") // 结果:500
19? oDBCust:OrderKeyCount(3) // 结果:895
参见