DbServer.GetLookupTable 方法 | |
从服务中的两个字段检索两列值数组,受当前活动选择的约束(如果有)。
命名空间:
VO
程序集:
VORDDClasses (在 VORDDClasses.dll 中) 版本:2.22 GA
语法 VIRTUAL METHOD GetLookupTable(
nMaxRows,
uField1,
uField2,
uSearchValue
) AS USUAL CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public virtual __Usual GetLookupTable(
__Usual nMaxRows = default,
__Usual uField1 = default,
__Usual uField2 = default,
__Usual uSearchValue = default
)
查看代码参数
- nMaxRows (Optional)
- 类型:__Usual
应检索的最大行数。如果省略,则最多检索100行。 - uField1 (Optional)
- 类型:__Usual
要检索的第一个字段的名称、编号或符号。如果省略,则检索第一个字段。 - uField2 (Optional)
- 类型:__Usual
要检索的第二个字段的名称、编号或符号。如果省略,则检索第二个字段。 - uSearchValue (Optional)
- 类型:__Usual
在当前控制顺序下要搜索的值。系统执行 Seek() 操作,然后从那里开始加载数组。
返回值
类型:
__Usual
该方法返回在指定字段中找到的两列值数组,按顺序移动,直到指定的最大行数或文件结束。如果选择处于活动状态,则方法仅包括该选择中的记录。值在当前控制顺序下检索(如果有)。
请注意,该方法在开始填充数组之前不会重新定位到开头。要么提供起始值,要么在使用该方法之前显式定位服务。(这允许增量读取,分段构建数组。)
备注
在操作之前发送 NotifyIntentToMove 消息。
完成后发送 NotifyRecordChange 消息,并将服务定位在使用的最后一条记录或文件结束(最后一条文件记录)。
此方法的一种用途是填充用户界面中的翻译列表。生成的数组可以在 ATranslate() 中使用。
示例
以下示例构建查找表,例如将产品代码翻译为产品名称,反之亦然,从指定的产品编号开始:
1oDB := DBServer{"products",#Shared,#ReadOnly}
2oDB:SetIndex("prodno")
3aProducts := oDB:GetLookupTable(500,#ProdNo,#ProdName, 22750)
4oDB:Close()
参见