点击或拖拽改变大小

Functions.SetUnique 方法 (Boolean)

X#
返回并可选地更改设置,以确定在顺序中是否包含唯一记录键。

命名空间:  XSharp.Core
程序集:  XSharp.Core (在 XSharp.Core.dll 中) 版本:2.22 GA
语法
 FUNCTION SetUnique(
	lNewSetting AS LOGIC
) AS LOGIC
查看代码

参数

lNewSetting
类型:Boolean
TRUE 仅创建唯一记录的顺序; FALSE 创建所有记录的顺序,即使它们的键相同。
初始默认值为 FALSE。

返回值

类型:Boolean
如果未指定 lNewSetting,SetUnique() 返回当前设置。
如果指定了 lNewSetting,则返回之前的设置。
备注
SetUnique() 是一个数据库函数,控制创建的顺序是否具有唯一性属性。当指定 TRUE 时,新创建的顺序仅包括唯一键。
这与使用 INDEX...UNIQUE 命令创建顺序相同。 在大多数基于 DBF 的 RDD 中,非唯一键的处理方式是只包括对特定键值的记录引用一次。因此,在创建或更新唯一顺序时,如果遇到两个或多个具有相同键值的记录,则仅第一个记录会被包含在顺序中。当唯一顺序被更新、重新索引或打包时,仅维护唯一记录,而不考虑当前的 SetUnique() 值。 更改唯一顺序中的键值具有重要影响。首先,如果将唯一键更改为顺序中已存在的键的值,则更改的记录将从顺序中丢失。其次,如果数据库文件中有多个实例的键值,则更改可见键值不会在顺序中带来另一个具有相同键的记录,直到顺序被重建。 当指定 FALSE 时,创建的顺序包含所有记录。对数据库文件的后续更新将将所有键值添加到顺序中,而不考虑当前的 UNIQUE 设置。 请注意,已删除记录的键也会包含在索引中,并可能隐藏非删除记录的键。
示例
此示例设置一个例程,仅创建具有唯一键的记录的顺序:
X#
1LOCAL lUniqueSetting AS LOGIC
2lUniqueSetting := SetUnique(TRUE)
3MyFunc()
4SetUnique(lUniqueSetting)
参见