DbServer.OrderKeyNo 方法 (__Usual, String) | |
获取当前记录的逻辑记录号。
表示当前记录的逻辑记录号的数值。
DBServer:OrderKeyNo 分配在成功完成后发送 NotifyRecordChange 消息。
命名空间:
XSharp.VO.SDK
程序集:
XSharp.VORDDClasses (在 XSharp.VORDDClasses.dll 中) 版本:2.22 GA
语法 VIRTUAL METHOD OrderKeyNo(
uOrder AS USUAL,
cIndex AS STRING
) AS LONG
public virtual int OrderKeyNo(
__Usual uOrder,
[DefaultParameterValueAttribute("", 0)] string cIndex
)
查看代码参数
- uOrder
- 类型:__Usual
order 的名称或表示其在 order 列表中的位置的数字。使用 order 名称是首选方法,因为使用多个 order 文件时,位置可能难以确定。
如果省略或为 NIL,则假定为控制 order。
指定无效值将引发运行时错误。
- cIndex
- 类型:String
索引文件的名称,包括可选的驱动器和目录(不应指定扩展名)。
使用此参数和 uOrder 消除当不同索引文件中有两个或多个同名 order 时的歧义。
如果当前进程未打开 cIndex,则会引发运行时错误。
字段值
类型:
Int32
表示当前记录的逻辑记录号的数值。
DBServer:OrderKeyNo 分配在成功完成后发送 NotifyRecordChange 消息。
返回值
类型:
Int32
当前记录在指定 order 中的相对位置,作为数值。DBServer:OrderKeyNo() 尊重 order 的范围和条件,
如果记录指针定位在无效记录上或 DBServer:EOF 为 TRUE,则返回零。
备注
DBServer:OrderKeyNo() 返回 order 中一个键的逻辑记录号。
这与物理记录号(使用 DBServer:RecNo 返回)不同,后者是记录在物理数据库文件中的相对位置。
DBServer:OrderKeyNo() 在操作之前发送 NotifyIntentToMove 消息。
提示:此方法在浏览器中查看记录时,对于显示滚动条和消息(如“记录 9/123”)非常有用。
默认情况下,DBServer:OrderKeyNo() 在当前选择的工作区上操作。如果您将其作为别名表达式的一部分指定,它将在未选择的工作区上操作。
示例
此示例显示物理记录号和逻辑记录号之间的区别:
1oDBCust := Customer{}
2oDBCust:SetIndex("first")
3? oDBCust:OrderKeyNo()
4oDBCust:Skip(10)
5? oDBCust:OrderKeyNo()
6? oDBCust:RECNO
7oDBCust:GoBottom()
8? oDBCust:OrderKeyNo()
9? oDBCust:RECNO
参见