DbServer.OrderKeyAdd 方法 (__Usual, String, __Usual) | |
向自定义构建的 order 添加键。
命名空间:
XSharp.VO.SDK
程序集:
XSharp.VORDDClasses (在 XSharp.VORDDClasses.dll 中) 版本:2.22 GA
语法 VIRTUAL METHOD OrderKeyAdd(
uOrder AS USUAL,
cIndex AS STRING,
uKeyValue AS USUAL
) AS LONG
public virtual int OrderKeyAdd(
__Usual uOrder,
[DefaultParameterValueAttribute("", 0)] string cIndex,
[DefaultParameterValueAttribute(0, 1)] __Usual uKeyValue
)
查看代码参数
- uOrder
- 类型:__Usual
order 的名称或表示其在 order 列表中的位置的数字。使用 order 名称是首选方法,因为使用多个 order 文件时,位置可能难以确定。
如果省略或为 NIL,则假定为控制 order。
指定无效值将引发运行时错误。
- cIndex
- 类型:String
索引文件的名称,包括可选的驱动器和目录(不应指定扩展名)。
使用此参数和 uOrder 消除当不同索引文件中有两个或多个同名 order 时的歧义。
如果当前进程未打开 cIndex,则会引发运行时错误。
- uKeyValue
- 类型:__Usual
您要为当前记录添加的特定键值。
数据类型必须与order的数据类型匹配。如果未指定,则为当前记录评估 order 的键表达式并将其添加到 order 中。
返回值
类型:
Int32
如果成功则返回 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 参数。
它始终使用键表达式来计算要插入的键值。
|
示例
此示例创建一个自定义索引并每隔五十条记录添加一次:
1oDBCust := Customer{}
2
3oDBCust:SetOrderCondition(,,,,,,,,,,,,, TRUE)
4oDBCust:CreateIndex("last", "oDBCust:LastName")
5
6FOR n := 1 UPTO oDBCust:RecCount STEP 50
7oDBCust:GoTo(n)
8oDBCust:OrderKeyAdd()
9NEXT
参见