DbServer.SetOrderCondition 方法 | |
设置应用于索引和顺序创建的条件。如果未调用 SetOrderCondition(),则顺序创建受通用服务范围的约束。如果两者都未设置,则顺序没有条件。
命名空间:
VO
程序集:
VORDDClasses (在 VORDDClasses.dll 中) 版本:2.22 GA
语法 VIRTUAL METHOD SetOrderCondition(
cFor,
cbForBlock,
lAll,
cbWhileBlock,
cbEvalBlock,
nStep,
nStart,
nNext,
nRecno,
lRest,
lDescending,
lAdditive,
lCurrent,
lCustom,
lNoOptimize
) AS USUAL CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public virtual __Usual SetOrderCondition(
__Usual cFor = default,
__Usual cbForBlock = default,
__Usual lAll = default,
__Usual cbWhileBlock = default,
__Usual cbEvalBlock = default,
__Usual nStep = default,
__Usual nStart = default,
__Usual nNext = default,
__Usual nRecno = default,
__Usual lRest = default,
__Usual lDescending = default,
__Usual lAdditive = default,
__Usual lCurrent = default,
__Usual lCustom = default,
__Usual lNoOptimize = default
)
查看代码参数
- cFor (Optional)
- 类型:__Usual
指定顺序的 FOR 条件的字符串。如果不需要此信息,可以指定 NULL_STRING。 - cbForBlock (Optional)
- 类型:__Usual
定义 FOR 条件的代码块,每个范围内的记录必须满足该条件才能被处理。只有满足条件的记录才会包含在结果顺序中。重复的键值不会添加到索引文件中。
FOR 条件作为索引文件的一部分存储,并在使用 DBServer:Reindex() 方法更新或重新创建索引时使用。FOR
子句提供了所有数据库更改的唯一范围。所有其他范围条件创建的顺序不反映数据库更新。
如果提供了字符串,则会动态编译为代码块。在 DBFNTX 驱动程序下,它的长度不能超过 250 个字符。
- lAll (Optional)
- 类型:__Usual
指定当前或指定工作区中的所有顺序。ALL 是 INDEX ON 的默认范围。 - cbWhileBlock (Optional)
- 类型:__Usual
指定另一个条件的代码块,每个记录在处理时必须满足该条件。一旦遇到导致条件失败的记录,顺序创建就会终止。
如果指定了 WHILE 子句,则数据按控制顺序处理。 WHILE 条件是临时的(即,它不会存储在文件中,也不会用于索引更新和重新索引目的)。
WHILE 条件创建临时顺序,但这些顺序不会更新。
使用 WHILE 条件比使用 FOR 条件更高效且更快。WHILE 条件仅处理 cbWhileCondition 为 TRUE 的数据。
相比之下,FOR 条件处理数据源中的所有数据。
- cbEvalBlock (Optional)
- 类型:__Usual
为每个处理的记录或如下所述评估的代码块。此代码块允许应用程序在顺序创建期间进行干预,这可能会非常耗时;
它可能用于更新屏幕,例如显示进度条或状态栏中的进度。
- nStep (Optional)
- 类型:__Usual
修改 cbEvalBlock 评估次数的数值表达式。此参数通过每 n
条记录而不是每条记录评估条件来提供性能增强。要逐条记录进行评估,请指定值 0 或省略参数。
- nStart (Optional)
- 类型:__Usual
开始评估的记录号。要从顶部开始,请指定值 0 或省略参数。 - nNext (Optional)
- 类型:__Usual
从 nStart 开始处理的记录数。指定 0 以忽略此参数。
- nRecno (Optional)
- 类型:__Usual
要处理的单个记录号。指定 0 以忽略此参数。 - lRest (Optional)
- 类型:__Usual
指定处理范围是所有记录,还是从当前记录开始到文件末尾的所有记录。
此参数对应于记录处理命令的 REST 和 ALL 子句。如果为 TRUE,则范围为 REST;否则,范围为所有记录。
- lDescending (Optional)
- 类型:__Usual
指定键值对是按值的递减顺序还是递增顺序排序。如果为 TRUE,则顺序为降序,否则顺序为升序。 - lAdditive (Optional)
- 类型:__Usual
指定在创建新顺序时是否应保持打开顺序。TRUE 指定应保持打开。FALSE 指定应关闭所有打开的顺序。默认值为 FALSE。 - lCurrent (Optional)
- 类型:__Usual
指定是否仅包括控制顺序中的记录以及当前范围内的记录。
TRUE 指定应使用控制顺序和范围来限制新创建的顺序的范围。
FALSE 指定数据库文件中的所有记录都包含在顺序中。默认值为 FALSE。
- lCustom (Optional)
- 类型:__Usual
指定新顺序是否为自定义顺序(适用于支持此功能的 RDD)。
TRUE 指定将创建自定义顺序。自定义顺序最初为空,使您可以完全控制顺序维护。系统不会自动添加和删除自定义顺序中的键。
相反,您可以使用 DBServer:OrderKeyAdd() 和 DBServer:OrderKeyDel() 显式添加和删除键。
FALSE 指定标准的系统维护顺序。默认值为 FALSE。
- lNoOptimize (Optional)
- 类型:__Usual
指定是否优化用于构建此顺序的 FOR 条件(适用于支持此功能的 RDD)。TRUE 优化 FOR 条件,FALSE 不优化。默认值为 FALSE。
返回值
类型:
__Usual
如果成功则返回 TRUE;否则返回 FALSE。
参见