点击或拖拽改变大小

DbServer.OrderKeyNo 方法

X#
获取当前记录的逻辑记录号。
表示当前记录的逻辑记录号的数值。 DBServer:OrderKeyNo 分配在成功完成后发送 NotifyRecordChange 消息。

命名空间:  VO
程序集:  VORDDClasses (在 VORDDClasses.dll 中) 版本:2.22 GA
语法
 VIRTUAL METHOD OrderKeyNo(
	uOrder,
	oFSIndex
) AS USUAL CLIPPER
查看代码

参数

uOrder (Optional)
类型:__Usual
order 的名称或表示其在 order 列表中的位置的数字。使用 order 名称是首选方法,因为使用多个 order 文件时,位置可能难以确定。 如果省略或为 NIL,则假定为控制 order。 指定无效值将引发运行时错误。
oFSIndex (Optional)
类型:__Usual
一个字符串或文件规范对象,指定索引文件的名称,包括可选的驱动器和目录(不应指定扩展名)。 使用此参数和 cOrder 消除当不同索引文件中有两个或多个同名 order 时的歧义。 如果当前进程未打开 oFSIndex 则会引发运行时错误。

字段值

类型:__Usual
表示当前记录的逻辑记录号的数值。 DBServer:OrderKeyNo 分配在成功完成后发送 NotifyRecordChange 消息。

返回值

类型:__Usual
当前记录在指定 order 中的相对位置,作为数值。DBServer:OrderKeyNo() 尊重 order 的范围和条件, 如果记录指针定位在无效记录上或 DBServer:EOF 为 TRUE,则返回零。
备注
DBServer:OrderKeyNo() 返回 order 中一个键的逻辑记录号。 这与物理记录号(使用 DBServer:RecNo 返回)不同,后者是记录在物理数据库文件中的相对位置。 DBServer:OrderKeyNo() 在操作之前发送 NotifyIntentToMove 消息。 提示:此方法在浏览器中查看记录时,对于显示滚动条和消息(如“记录 9/123”)非常有用。 默认情况下,DBServer:OrderKeyNo() 在当前选择的工作区上操作。如果您将其作为别名表达式的一部分指定,它将在未选择的工作区上操作。
示例
此示例显示物理记录号和逻辑记录号之间的区别:
X#
1oDBCust := Customer{} // 假设有1000条记录
2oDBCust:SetIndex("first") // 使记录按名字顺序排列
3? oDBCust:OrderKeyNo() // 结果:1
4oDBCust:Skip(10)
5? oDBCust:OrderKeyNo() // 结果:11
6? oDBCust:RECNO // 结果:未知
7oDBCust:GoBottom()
8? oDBCust:OrderKeyNo() // 结果:1000
9? oDBCust:RECNO // 结果:未知
参见