Functions.VoDbOrdListAdd 方法 | |
在工作区中打开一个索引文件并将其所有排序添加到排序列表中。
打开索引文件并将指定的订单添加到工作区的订单列表中。
命名空间:
XSharp.RT
程序集:
XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法 FUNCTION VoDbOrdListAdd(
cIndexFile AS STRING,
uOrder AS USUAL
) AS LOGIC
public static bool VoDbOrdListAdd(
string cIndexFile,
__Usual uOrder
)
查看代码参数
- cIndexFile
- 类型:String
要打开的索引文件的名称,包括可选的驱动器、目录和每个文件的扩展名。参见 SetDefault() 和 SetPath() 了解文件搜索和创建规则。
默认扩展名由 RDD 决定,可以使用 DBOrderInfo(DBOI_INDEXEXT) 获取。
如果 cIndexFile 不存在,将引发运行时错误。
如果存在,此函数将尝试以与相应数据库文件相同的模式打开文件。
如果访问被拒绝(例如,因为另一个进程正在使用该文件而此进程请求独占使用),NetErr() 将被设置为 TRUE。
否则,文件打开成功。
并发冲突对于索引文件来说很少见,因为它们通常只与一个数据库文件一起使用。
如果出现并发问题,通常会在尝试打开数据库文件时发生。
- uOrder
- 类型:__Usual
返回值
类型:
Boolean
如果成功则返回 TRUE;否则返回 FALSE。
返回值
类型:
Boolean备注
默认情况下,此函数在当前选定的工作区上操作。
可以通过在别名表达式中指定来使其在未选定的工作区上操作。
如果在发出 DBSetIndex() 时工作区的排序列表为空,则索引文件中的第一个排序将成为控制排序。
如果工作区已经关联了排序,它们不会受到影响 — 新排序只是简单地添加到当前排序列表中。
在新索引文件打开后(使用与其关联的数据库文件相同的打开模式),工作区将定位到控制排序中的第一个逻辑记录。
打开索引文件会对数据库文件中的记录施加逻辑顺序(由控制排序定义),并可能根据 for 条件或唯一标志过滤记录。
这意味着当您处理数据库文件时,记录将按控制排序确定的顺序出现,而被过滤的记录虽然在数据库文件中仍然物理存在,但将无法访问。
提示: |
---|
除了某些 RDD 支持的生产索引文件外,索引文件在打开相应的数据库文件时不会自动打开。
为确保索引文件得到准确维护,您应该在对相应数据库文件进行任何更新之前打开它们,或在稍后使用 DBReindex() 重建它们。
|
备注
VODBOrdListAdd() 与 DBSetIndex() 相同,只是它是强类型的。
但是,此函数不调用错误处理程序,因此如果失败,不会产生运行时错误消息或创建错误对象。因此,检查返回值以确定函数是否成功可能很重要。
全局结构 StrucErrInfo 将包含有关发生的任何错误的必要信息。
示例
以下示例打开多个索引文件:
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
示例 参见