VFP中索引关键字表达式指什么?例如'按学生编号建立索引文件"表达式应该怎么写?

 我来答
和平海
2013-05-02 · TA获得超过477个赞
知道小有建树答主
回答量:399
采纳率:100%
帮助的人:446万
展开全部
INDEX on 学生编号 TO suoyin
其中 suoyin是索引文件名,你可以随便起。

INDEX ONeExpressionTOIDXFileName| TAGTagName[BINARY] [COLLATEcCollateSequence] [OFCDXFileName] [FORlExpression] [COMPACT] [ASCENDING | DESCENDING] [UNIQUE | CANDIDATE] [ADDITIVE]

eExpression

指定一个索引表达式,它确定了 Visual FoxPro 中显示和操作记录的顺序。eExpression可以是一个简单表达式,如当前表中的一个或多个字段名,也可以是一个包含 Visual FoxPro 函数、常数等的复合表达式。Visual FoxPro 产生基于eExpression的索引关键字,并在指定的索引文件中存储它们。索引文件并不影响存储在表中记录的物理顺序。
TOIDXFileName

为存储用eExpression产生的独立索引关键字指定永久索引文件(.idx)名。
提示:

通过包含不同的扩展名或改变 Visual FoxPro 配置文件中的默认索引扩展名,可以不考虑默认的索引文件扩展名。创建索引文件时,若包含长文件名,则必须遵循标准的 Windows 文件命名规则。
TAGTagName

为由eExpression创建的索引指定名称或标识,并存储在复合索引文件(.cdx)中。标识名必须以字母或下划线(_)开头,并且可以包含最多 10 个字母、数字、或下划线的字符组合。
注意:

.cdx 文件中标识的数量仅受可用内存和磁盘空间的限制。如果表的 .cdx 文件已经存在并且打开,则发出包含TAGTagName的 INDEX命令将添加一个标识到打开的 .cdx 文件中。如果创建一个索引标识但没有指定索引文件名,则 Visual FoxPro 自动添加标识到表的结构索引文件(.cdx)中。

有关索引文件的更多信息,请参见Visual FoxPro 索引文件。
[COLLATEcCollateSequence]

指定一个不同于默认设置 MACHINE 的比较序列。cCollateSequence必须是一个有效的 Visual FoxPro 比较序列。有关设置比较序列的更多信息,请参见优化国际化应用程序和SET COLLATE 命令。
[OFCDXFileName]

为存储由eExpression产生的索引或标识指定非结构复合索引文件(.cdx)名。若省略该子句则创建一个结构.cdx文件,若包含该子句则创建非结构.cdx文件。有关索引文件的更多信息,请参见Visual FoxPro 索引文件。
[FORlExpression]

指定筛选表达式,只显示或访问那些符合筛选表达式的记录。
提示:

若lExpression可以被优化,则 Rushmore 技术将优化INDEX命令中的FOR子句。为了获得最佳信能,应在FOR子句中使用可优化表达式。更详细的信息,请参见SET OPTIMIZE和使用 Rushmore 查询 优化数据访问速度。

有关筛选表达式的更多信息,请参见如何: 筛选数据。
[COMPACT]

创建一个压缩的索引(.idx)文件。压缩的 .idx 文件更小,也可更快的访问。
注意:

创建一个复合索引(.cdx)文件时,不必非要包含COMPACT。复合索引文件总是压缩的。

更详细的信息,请参见如何: 创建更小的经常使用的索引。
[ASCENDING | DESCENDING]

为显示和访问复合索引(.cdx)文件索引的记录指定顺序。ASCENDING指定显示和访问记录的顺序为升序。默认情况下,Visual FoxPro 以升序显示和访问记录。当然,您也可以包含ASCENDING明确指出记录的现实顺序。DESCENDING指定显示和访问记录的顺序为降序。
注意:

当创建独立索引文件(.idx)时不能使用DESCENDING;但是,可以通过使用SET INDEX和SET ORDER命令将 .idx 文件指定降序。

[UNIQUE | CANDIDATE]

创建一个唯一索引或候选索引。UNIQUE只存储指定索引表达式的第一条与索引关键字相匹配的记录。索引关键字作为独立索引文件(.idx)中的唯一关键字或复合索引文件(.cdx)中的索引标识来存储。任何其它与索引表达式相匹配的记录的索引关键字都排除在索引文件之外。
注意:

使用UNIQUE不能避免重复的记录被添加到表中。它只能避免重复的索引关键字添加到索引文件中。当UNIQUE索引或索引标识处于活动状态时,如果改变了一个有重复索引关键字的记录,则同时需要改变索引或所以标识。但是,在重新用REINDEX命令索引该文件之前,Visual FoxPro 不能显示或访问下一个有相同索引关键字的记录。

使用UNIQUE与在发出INDEX或REINDEX之前执行SET UNIQUE ON作用相同。更详细的信息,请参见SET UNIQUE 命令。只有在存储一个索引标识到一个结构复合索引文件(.cdx)中时才能包含CANDIDATE;否则,Visual FoxPro 将产生一条错误信息。
注意:

候选索引不允许字段中存在重复值。如果为包含重复值一个或多个字段创建候选索引,则 Visual FoxPro 产生一条错误。

有关候选索引的更多信息,请参见Visual FoxPro 索引类型。有关索引文件的更多信息,请参见Visual FoxPro 索引文件。
[ADDITIVE]

保持所有已打开的索引文件的打开状态。省略ADDITIVE子句,将关闭所有已打开的索引文件,除了结构复合索引文件(.cdx)之外。
注意:

可以保持打开状态的索引文件的数量仅受内存和系统资源的限定。在 Visual FoxPro 中,Windows Config.sys 配置文件中FILES的设置决定了可以打开的文件总数。

[BINARY]*NEW

创建一个二进制索引(binary index)。有关二进制索引的更多信息,请参见Visual FoxPro 索引类型.
注意:

在为eExpression指定一个索引表达式时,必须指定一个结果不是空值(null)的有效逻辑表达式。若要将一个二进制索引的索引表达式改为空值(null),则 Visual FoxPro 将产生一条错误。

在使用二进制索引时,不能使用FOR子句指定筛选表达式或ASCENDING,DESCENDING,UNIQUE, CANDIDATE关键字。当设置为二进制索引标识时,Visual FoxPro 不支持SET ORDER命令。如果您试图设置二进制标识的顺序,Visual FoxPro 将产生一条错误,并且当前顺序延用原来的设置。Visual FoxPro 不支持对二进制索引的SEEK操作,或在独立单关键字索引(.idx)中包含二进制索引。
追问
我开始也是这样认为,可是为什么我输入的是这样,结果依然提示缺少表达式????
追答
检查一下你的空格和字母是不是在全角状态下输入的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式