点击或拖拽改变大小

Functions.Cdx 方法

X#
返回指定索引位置编号的已打开复合索引(.cdx)文件名

命名空间:  XSharp.VFP
程序集:  XSharp.VFP (在 XSharp.VFP.dll 中) 版本:2.22 GA
语法
 FUNCTION Cdx(
	nIndexNumber,
	uArea
) AS USUAL CLIPPER
查看代码

参数

nIndexNumber (Optional)
类型:__Usual
下表适用于具有结构性复合索引和一个或多个复合索引的表
uArea (Optional)
类型:__Usual
指定要返回其打开复合索引文件名的工作区号或别名的表。
如果省略此参数,CDX( ) 将返回当前选择的工作区中的表的复合索引文件名。

返回值

类型:__Usual
字符
备注
nIndexNumber描述
1返回结构索引文件的名称(始终与表的名称相同)。
2返回在 Use 或 Set Index 的 Index 子句中指定的第一个复合索引文件名。
3 返回第二个复合索引文件名,如果有的话,以此类推。
大于打开的.cdx文件数 返回空字符串。
下表适用于没有结构性复合索引但有一个或多个复合索引的表:
nIndexNumber描述
1
2 返回在 Use 或 Set Index 的 Index 子句中指定的第一个复合索引文件名。
大于打开的.cdx文件数 返回空字符串。
CDX( ) 函数与 MDX( ) 函数相同。
一个.cdx(复合)索引由一个包含许多索引标识的物理文件组成。每个索引标识都是与关联表相关的索引顺序引用。

有两种类型的.cdx文件:标准复合索引(.cdx)和结构.cdx。
一个标准复合索引(.cdx)可能与其关联表有不同的名称,并且可以位于与其关联表不同的目录中。 一个表可以有多个复合索引文件。您可以使用Use或Set Index的Index子句打开复合索引。
一个结构.cdx必须与其关联表有相同的名称,并且必须位于与其关联表相同的目录中。一个表只能有一个结构索引文件。 当使用Use打开关联表时,结构.cdx文件会自动打开和更新。

CDX( ) 忽略了在 Use 或 Set Index 的 Index 子句中指定的任何.idx(Microsoft FoxBASE+和FoxPro 1.0兼容索引)文件。
使用 TAG( ) 返回.cdx中包含的单个标识名,并使用NDX( ) 返回打开的.idx文件名。
当 Set FullPath 为 ON 时,CDX( ) 返回.cdx的路径和名称。
当 Set FullPath 为 OFF 时,CDX( ) 返回.cdx的驱动器和名称。
示例
X#
 1Close Databases
 2Open Database (HOME(2) + 'data\testdata')
 3Use customer // 打开 customer 表
 4Clear
 5
 6For nCount = 1 TO TAGCOUNT( )
 7    IF !EMPTY(TAG(nCount)) // 检查索引中的标识
 8        ? CDX(nCount) // 显示结构索引名称
 9    ELSE
10        EXIT // 当不再找到标识时退出循环
11    ENDIF
12ENDFor
参见