点击或拖拽改变大小

Functions.VoDbOrdListRebuild 方法

X#
重建工作区中 Order 列表的所有 Order 。
重建工作区订单列表中的所有订单。

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

返回值

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

返回值

类型:Boolean
备注
默认情况下,此函数在当前选定的工作区上操作。
可以通过在别名表达式中指定来使其在未选定的工作区上操作。
所有 Order 都会被重建,遵循创建 Order 时指定的唯一性、降序标志和 for 条件。
重建 Order 后,工作区将定位到控制 Order 中的第一个逻辑记录。 尽管此操作在共享和独占模式下都可以工作,但强烈推荐使用独占模式。有关更多信息,请参阅 SetExclusive()。 注意!DBReindex() 在重新创建 Order 时不会重新创建索引文件的头部。因此,如果文件头部发生损坏,DBReindex() 无法提供帮助。
为保证索引有效,在重建损坏的索引文件时,请始终使用 DBCreateIndex() 而不是 DBReindex()。
备注
VODBOrdListRebuild() 与 DBReindex() 相同,只是它是强类型的。
但是,此函数不调用错误处理程序,因此如果失败,不会产生运行时错误消息或创建错误对象。因此,检查返回值以确定函数是否成功可能很重要。
全局结构 StrucErrInfo 将包含有关发生的任何错误的必要信息。
示例
此示例在未找到特定记录时执行 DBReindex():
X#
 1DBUseArea(TRUE,, "Address")
 2DBGoBottom()
 3DBUseArea(TRUE,, "customer",, FALSE)
 4    //以独占方式打开文件
 5DBSetIndex("CustID")
 6DBSeek(Address->Cust_ID)
 7IF !Found()
 8    ? "引用完整性失败:"
 9    ? "在客户索引文件中未找到最后一条地址记录。"
10    ? "索引不是最新的或记录丢失。正在重新索引..."
11    IF !DBReindex()
12        ? "重新索引失败"
13        DBCloseAll()
14        QUIT
15    ENDIF
16ENDIF
示例