Functions.VoDbOrdListRebuild 方法 | |
重建工作区中 Order 列表的所有 Order 。
重建工作区订单列表中的所有订单。
命名空间:
XSharp.RT
程序集:
XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法 FUNCTION VoDbOrdListRebuild() AS LOGIC
public static bool VoDbOrdListRebuild()
查看代码返回值
类型:
Boolean
如果成功则返回 TRUE;否则返回 FALSE。
返回值
类型:
Boolean备注
默认情况下,此函数在当前选定的工作区上操作。
可以通过在别名表达式中指定来使其在未选定的工作区上操作。
所有 Order 都会被重建,遵循创建 Order 时指定的唯一性、降序标志和 for 条件。
重建 Order 后,工作区将定位到控制 Order 中的第一个逻辑记录。
尽管此操作在共享和独占模式下都可以工作,但强烈推荐使用独占模式。有关更多信息,请参阅 SetExclusive()。
注意!DBReindex() 在重新创建 Order 时不会重新创建索引文件的头部。因此,如果文件头部发生损坏,DBReindex() 无法提供帮助。
为保证索引有效,在重建损坏的索引文件时,请始终使用 DBCreateIndex() 而不是 DBReindex()。
备注
VODBOrdListRebuild() 与 DBReindex() 相同,只是它是强类型的。
但是,此函数不调用错误处理程序,因此如果失败,不会产生运行时错误消息或创建错误对象。因此,检查返回值以确定函数是否成功可能很重要。
全局结构 StrucErrInfo 将包含有关发生的任何错误的必要信息。
示例
此示例在未找到特定记录时执行 DBReindex():
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
示例 参见 引用
DbSetOrderCondition(__Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual, __Usual)