DbServer.OrderInfo 方法 | |
返回并可选地更改有关 order 和索引文件的信息。
命名空间:
VO
程序集:
VORDDClasses (在 VORDDClasses.dll 中) 版本:2.22 GA
语法 VIRTUAL METHOD OrderInfo(
kOrderInfoType,
oFSIndex,
uOrder,
uOrdVal
) AS USUAL CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public virtual __Usual OrderInfo(
__Usual kOrderInfoType = default,
__Usual oFSIndex = default,
__Usual uOrder = default,
__Usual uOrdVal = default
)
查看代码参数
- kOrderInfoType (Optional)
- 类型:__Usual
指定信息类型。常量列在下面。请注意,并非所有常量都支持所有 RDD。
这应该是备注部分中列出的 DBOI_ 常量之一。
- oFSIndex (Optional)
- 类型:__Usual
一个字符串或文件规范对象,指定索引文件的名称,包括可选的驱动器和目录(不应指定扩展名)。
使用此参数和 cOrder 消除当不同索引文件中有两个或多个同名order时的歧义。
如果当前进程未打开 oFSIndex,则会引发运行时错误。
- uOrder (Optional)
- 类型:__Usual
您想要获取信息的 order 名称或表示其在 order 列表中的位置的数字(对于单序索引文件,order 名称是八个字母的索引文件名)。
使用 order 名称是首选方法,因为使用多个 order 文件时,位置可能难以确定。无效值将被忽略。
如果未指定索引文件或 order,则假定为控制 order。
- uOrdVal (Optional)
- 类型:__Usual
如果指定,此参数用于更改设置的值。数据类型(以及是否可以指定 uOrdVal),
取决于 kInfoType 常量,并在下面的常量部分中记录。
返回值
类型:
__Usual
如果未指定
uNewSetting,DBServer:OrderInfo() 返回当前设置。
如果指定了
uNewSetting,则返回先前的设置。
备注 Constant | 描述 |
---|
DBOI_CONDITION | 返回指定顺序的条件作为字符串。 |
DBOI_CUSTOM |
返回并可选地设置指定顺序是否为自定义构建(对于支持自定义构建顺序的 RDD)。请注意,
虽然您可以通过在 uNewSetting 参数中指定 TRUE 来为标准顺序打开自定义构建标志,
但您不能将自定义构建顺序转换为标准顺序。
指定 FALSE 为 uNewSetting 的值与不指定参数一样—在更改参数之前返回当前设置。
|
DBOI_EXPRESSION | 返回指定顺序的键表达式作为字符串。 |
DBOI_FILEHANDLE | 返回指定索引文件的句柄作为 IntPtr。 |
DBOI_FILESTREAM | 返回指定索引文件的文件流。 |
DBOI_FULLPATH | 返回指定索引文件的完整路径作为字符串。 |
DBOI_HPLOCKING | 返回一个逻辑标志,指示指定索引文件是否使用高性能索引锁定模式(参见 IndexHPLock() 函数)。 |
DBOI_INDEXEXT | 返回默认的索引文件扩展名作为字符串。 |
DBOI_INDEXNAME | 返回指定索引文件的名称作为字符串。 |
DBOI_ISCOND | 返回一个逻辑标志,确定指定顺序是否使用 for 条件定义。 |
DBOI_ISDESC |
返回一个逻辑标志,确定指定顺序是否为降序。对于支持在运行时动态设置降序标志的驱动程序,可以使用逻辑值指定新值,使用
DBServer:OrderInfo(DBOI_ISDESC, [<oFSIndexFile> | <cIndexFile>],
[<cOrder> | <nPosition>], <lNewSetting>)。在更改参数之前返回当前设置。
|
DBOI_KEYCOUNT | 返回指定顺序的键数。 |
DBOI_KEYDEC | 返回指定顺序的键中的小数位数。 |
DBOI_KEYSINCLUDED | 返回指定顺序中包含的键的数量。这主要用于条件顺序。它可以在状态显示过程中使用(使用 INDEX 命令的 EVAL 子句)。 |
DBOI_KEYSIZE | 返回指定顺序的键的大小作为数字。 |
DBOI_KEYTYPE | 返回指定顺序的键的数据类型作为字符串。 |
DBOI_KEYVAL | 返回指定顺序中当前记录的键值。 |
DBOI_LOCKOFFSET | 返回指定索引文件的锁定偏移量(参见 NewIndexLock() 函数)作为数值。 |
DBOI_NAME | 返回指定顺序的名称作为字符串。 |
DBOI_NUMBER | 返回指定顺序在顺序列表中的数值位置。 |
DBOI_ORDERCOUNT | 返回指定索引文件中定义的顺序数。 |
DBOI_POSITION | 返回指定顺序中当前记录的逻辑记录号。 |
DBOI_RECNO | 返回指定顺序中当前记录的物理记录号。 |
DBOI_SCOPEBOTTOMs | 返回指定顺序的作用域的底部边界。 |
DBOI_SCOPETOP | 返回指定顺序的作用域的顶部边界。 |
DBOI_SETCODEBLOCK | 返回指定顺序的键作为代码块。 |
DBOI_UNIQUE | 返回一个逻辑标志,指示指定顺序是否具有唯一属性。 |
DBOI_USER | 用于自定义的开始。 |
提示: |
---|
DBOI_USER 是一个常量,返回第三方 RDD 开发人员可以用于自定义的最小值。
小于 DBOI_USER 的值保留给 X# 开发。
|
示例
此示例使用 DBOI_NAME 保存当前控制 order。更改为新控制 order后,它使用保存的值恢复原始 order:
1oDBCust := Customer{}
2oDBCust:SetIndex("name")
3oDBCust:SetIndex("serial")
4cOrder := oDBCust:OrderInfo(DBOI_NAME)
5oDBCust:SetOrder("serial")
6? oDBCust:OrderInfo(DBOI_NAME)
7oDBCust:SetOrder(cOrder)
8? oDBCust:OrderInfo(DBOI_NAME)
此示例返回两个不同数据服务的默认索引文件扩展名(使用 DBOI_INDEXEXT):
1oDBSales := Sales{}
2oDBCust := Customer{}
3? oDBSales:OrderInfo(DBOI_INDEXEXT)
4? oDBCust:OrderInfo(DBOI_INDEXEXT)
在此示例中,DBServer:OrderInfo(DBOI_INDEXEXT) 检查 CUSTOMER 索引文件的存在,而与数据服务关联的 RDD 无关:
1oDBCust := Customer{}
2IF !File("customer" + oDBCust:OrderInfo(DBOI_INDEXEXT))
3oDBCust:CreateIndex("customer", "oDBCust:CustName")
4ENDIF
此示例从同一索引文件中访问多个order的键表达式:
1oDBCust := Customer{}
2oDBCust:SetOrder("serial")
3? oDBCust:OrderInfo(DBOI_EXPRESSION,, "name")
4
5? oDBCust:OrderInfo(DBOI_EXPRESSION,, "serial")
6
在此示例中,ALL_CUST.MDX 包含三个 order,分别为 CUACCT、CUNAME、CUZIP。使用 DBOI_INDEXNAME 常量显示使用其 order 之一的索引文件的名称:
1oDBCust := Customer{}
2oDBCust:SetIndex("all_cust")
3? oDBCust:OrderInfo(DBOI_INDEXNAME,, "cuname")
4
以下示例在 order 列表中搜索 CUNAME:
1oDBCust := Customer{}
2oDBCust:SetIndex("cuacct")
3oDBCust:SetIndex("cuname")
4oDBCust:SetIndex("cuzip")
5? oDBCust:OrderInfo(DBOI_NUMBER,, "cuname")
此示例从 order 中检索“for条件”:
1oDBCust := Customer{}
2oDBCust:SetOrderCondition("oDBCust:Acct > 'AZZZZZ'")
3oDBCust:CreateIndex("customer", "oDBCust:Acct")
4oDBCust:OrderInfo(DBOI_CONDITION,, "customer")
5
参见