点击或拖拽改变大小

Functions.OrdKeyAdd 方法

X#
向自定义构建的顺序添加键。

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

参数

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

返回值

类型:__Usual
如果成功则为 TRUE;否则为 FALSE。
从标准 RDD 中,只有 DBFCDX RDD 支持自定义索引。此 RDD 不支持使用 uKeyValue 参数。它总是使用键表达式来计算要插入的键值。
备注
自定义构建的顺序是指未由 DBFCDX 驱动程序自动维护的顺序。 您可以使用 DBOrderInfo(DBOI_CUSTOM, ...) 确定顺序是否自定义构建。当您创建这样的顺序时,它最初是空的。您必须使用 OrdKeyAdd() 和 OrdKeyDel() 手动添加和删除键。 OrdKeyAdd() 评估键表达式(或 uKeyValue,如果指定),然后将当前记录的键添加到顺序中。
如果顺序有一个 for 条件,则只有在满足该条件时,键才会被添加,并且仅在其落在当前范围内时。 注意:RDD 可能允许您通过连续调用 OrdKeyAdd() 为同一记录添加多个键。 OrdKeyAdd() 将失败,如果: 记录指针位于无效记录上(即,位于 EOF()) 指定的顺序不是自定义构建的 指定的顺序不存在 未指定顺序且没有控制顺序 默认情况下,此函数在当前选定的工作区上操作。
可以通过在别名表达式中指定来使其在未选定的工作区上操作。
示例
此示例创建一个自定义索引并将每五十条记录添加到其中:
X#
1USE customer VIA "DBFCDX"
2// 创建自定义构建的顺序,最初为空
3INDEX ON LastName TO Last CUSTOM
4// 添加每第50条记录
5FOR n := 1 UPTO RecCount() STEP 50    
6    GOTO n
7    OrdKeyAdd()
8NEXT
参见