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