Note | 该命令在头文件中定义,将由 X# 预处理器预处理为函数调用。如果禁用标准头文件 (-nostddefs),该命令将不可用。如果告诉编译器使用不同的标准头文件(-stddef ),则此命令也可能不可用。 |
从打开的索引文件中删除一个或多个 order。
DELETE TAG <xcOrder> [IN <xcIndexFile>] [, <xcOrder> [IN <xcIndexFile>]...]
<xcOrder> | 要删除的 order 名称。 如果 <xcOrder> 是 NULL_STRING 或空格,将被忽略。 如果找不到 <xcOrder>,运行时将出错。 |
IN <xcIndexFile> | 打开的索引文件的名称,包括可选的驱动器和目录(不应指定扩展名)。 当不同索引文件中有两个或多个同名命令时,使用该参数可消除歧义。 |
如果当前进程未在当前工作区打开 <xcIndexFile>,则会出现运行时错误。 |
DELETE TAG 要求当前数据库以独占模式打开。 如果调用 DELETE TAG 时未满足此条件,则会出现运行时错误。
如果指定了索引文件名,DELETE TAG 将删除该文件中的指定顺序。 否则,该命令将搜索当前工作区中打开的所有索引文件,并删除找到的第一个 <xcOrder> 。
如果控制 order 被删除,数据库将恢复自然顺序和 DbSetFilter() 作用域。
注意:RDD 决定了索引文件的顺序容量,只有具有多顺序功能的 RDD 才支持 DELETE TAG。 对于单序索引文件,必须删除整个文件。
本例说明如何从索引文件中删除选定的 order:
USE customer VIA "DBFMDX" NEW
Customer->DBSetIndex("customer")
// 从当前索引文件中删除 Cust01 和 Cust02
DELETE TAG Cust01 IN customer, Cust02 IN customer
// 或
// Customer->DBDeleteOrder("Cust01", "customer")
// Customer->DBDeleteOrder("Cust02", "customer")
XSharp.RT.DLL
DBCreateIndex(), DbCreateOrder(), DbDeleteOrder(), INDEX, SetDefault(), SetPath()