点击或拖拽改变大小

DbServer.OrderKeyAdd 方法

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

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

参数

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

返回值

类型:__Usual
如果成功则返回 TRUE;否则返回 FALSE。
备注
自定义构建的 order 是指不由 DBFCDX 驱动程序自动维护的 order。您可以使用 DBServer:OrderInfo(DBOI_CUSTOM, ...)确定 order 是否为自定义构建。当您创建这样的 order 时,它最初是空的。 您必须手动使用 DBServer:OrderKeyAdd() 和 DBServer:OrderKeyDel() 添加和删除键。 DBServer:OrderKeyAdd() 评估键表达式(或 uKeyValue,如果指定), 然后将当前记录的键添加到 order 中。如果 order 有条件,则仅在满足该条件时才添加键,并且仅在它落在当前范围内时才添加。
提示 提示:
RDDs 可能允许您通过连续调用 DBServer:OrderKeyAdd() 为同一记录添加多个键。
DBServer:OrderKeyAdd() 将在以下情况下失败:
  • 记录指针定位在无效记录上(即,位于 DBServer:EOF)
  • 指定的 order 不是自定义构建的
  • 指定的 order 不存在
  • 未指定 order 且没有控制 order
提示 提示:
在标准 RDD 中,只有 DBFCDX RDD 支持自定义索引。此 RDD 不支持使用 uKeyValue 参数。 它始终使用键表达式来计算要插入的键值。
示例
此示例创建一个自定义索引并每隔五十条记录添加一次:
X#
1oDBCust := Customer{}
2// 创建最初为空的自定义构建order
3oDBCust:SetOrderCondition(,,,,,,,,,,,,, TRUE)
4oDBCust:CreateIndex("last", "oDBCust:LastName")
5// 每50条记录添加一次
6FOR n := 1 UPTO oDBCust:RecCount STEP 50
7oDBCust:GoTo(n)
8oDBCust:OrderKeyAdd()
9NEXT
参见