点击或拖拽改变大小

Functions.VoDbOrdListAdd 方法

X#
在工作区中打开一个索引文件并将其所有排序添加到排序列表中。
打开索引文件并将指定的订单添加到工作区的订单列表中。

命名空间:  XSharp.RT
程序集:  XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法
 FUNCTION VoDbOrdListAdd(
	cIndexFile AS STRING,
	uOrder AS USUAL
) AS LOGIC
查看代码

参数

cIndexFile
类型:String
要打开的索引文件的名称,包括可选的驱动器、目录和每个文件的扩展名。参见 SetDefault() 和 SetPath() 了解文件搜索和创建规则。
默认扩展名由 RDD 决定,可以使用 DBOrderInfo(DBOI_INDEXEXT) 获取。
如果 cIndexFile 不存在,将引发运行时错误。
如果存在,此函数将尝试以与相应数据库文件相同的模式打开文件。
如果访问被拒绝(例如,因为另一个进程正在使用该文件而此进程请求独占使用),NetErr() 将被设置为 TRUE。
否则,文件打开成功。
并发冲突对于索引文件来说很少见,因为它们通常只与一个数据库文件一起使用。
如果出现并发问题,通常会在尝试打开数据库文件时发生。
uOrder
类型:__Usual

返回值

类型:Boolean
如果成功则返回 TRUE;否则返回 FALSE。

返回值

类型:Boolean
备注
默认情况下,此函数在当前选定的工作区上操作。
可以通过在别名表达式中指定来使其在未选定的工作区上操作。
如果在发出 DBSetIndex() 时工作区的排序列表为空,则索引文件中的第一个排序将成为控制排序。
如果工作区已经关联了排序,它们不会受到影响 — 新排序只是简单地添加到当前排序列表中。
在新索引文件打开后(使用与其关联的数据库文件相同的打开模式),工作区将定位到控制排序中的第一个逻辑记录。 打开索引文件会对数据库文件中的记录施加逻辑顺序(由控制排序定义),并可能根据 for 条件或唯一标志过滤记录。
这意味着当您处理数据库文件时,记录将按控制排序确定的顺序出现,而被过滤的记录虽然在数据库文件中仍然物理存在,但将无法访问。
提示 提示:
除了某些 RDD 支持的生产索引文件外,索引文件在打开相应的数据库文件时不会自动打开。
为确保索引文件得到准确维护,您应该在对相应数据库文件进行任何更新之前打开它们,或在稍后使用 DBReindex() 重建它们。
备注
VODBOrdListAdd() 与 DBSetIndex() 相同,只是它是强类型的。
但是,此函数不调用错误处理程序,因此如果失败,不会产生运行时错误消息或创建错误对象。因此,检查返回值以确定函数是否成功可能很重要。
全局结构 StrucErrInfo 将包含有关发生的任何错误的必要信息。
示例
以下示例打开多个索引文件:
X#
 1DBUseArea(TRUE, "DBFNTX", "sales", "Sales", TRUE)
 2Sales->DBSetIndex("FirstName")
 3Sales->DBSetIndex("LastName")
 4IF Sales->DBSeek(cLast)
 5    IF Sales->Deleted() .AND. Sales->RLock()
 6        Sales->DBRecall()
 7        QOut("已恢复已删除的记录。")
 8    ENDIF
 9ELSE
10    QOut("未找到")
11ENDIF
示例