点击或拖拽改变大小

Functions.VoDbSort 方法

X#
将记录按排序顺序复制到数据库文件中。

命名空间:  XSharp.RT
程序集:  XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法
 FUNCTION VoDbSort(
	nDest AS DWORD,
	fldNames AS _FieldNames,
	cbForCondition AS USUAL,
	cbWhileCondition AS USUAL,
	nNext AS USUAL,
	nRecord AS USUAL,
	lRest AS LOGIC,
	fnSortNames AS _FieldNames
) AS LOGIC
查看代码

参数

nDest
类型:UInt32
fldNames
类型:_FieldNames
List of field names to copy
cbForCondition
类型:__Usual
定义范围内每条记录必须满足的条件的代码块,以便进行处理。
cbWhileCondition
类型:__Usual
定义每条记录必须满足的另一个条件的代码块,以便进行处理。 一旦遇到导致条件失败的记录,操作就会终止。
如果未指定范围,cbWhileCondition 会将默认范围更改为 lRest
您可以使用这三个互斥参数之一来定义范围。
默认是所有记录。
nNext
类型:__Usual
要处理的记录数,从 nRecord 开始。 指定 0 以忽略此参数。
nRecord
类型:__Usual
要处理的单个记录号。指定 0 以忽略此参数。
lRest
类型:Boolean
TRUE 仅处理从 nStart 到文件末尾的记录。 FALSE 处理所有记录。
fnSortNames
类型:_FieldNames
List of field names to sort on

返回值

类型:Boolean
如果成功则返回 TRUE;否则返回 FALSE。
备注
提示 提示:
nNextnRecordlRest 参数是互斥的。您不应同时传递这三个参数。 如果您传递 cbWhile 参数,那么它也会控制范围行为。
DBSort() 将当前工作区的记录按排序顺序复制到另一个数据库文件中。 X# 根据字符串中每个字符的 ASCII 值对字符字段进行排序。 数字字段按数字顺序排序,日期字段按时间顺序排序, 逻辑字段排序时 TRUE 为高值。 备注字段不能排序。 DBSort() 尽可能多地在内存中执行操作,然后将结果溢出 到一个唯一命名的临时磁盘文件中。
这个临时文件可能与源数据库文件一样大。 还要注意,DBSort() 会使用三个文件句柄:源数据库文件、 目标数据库文件和临时文件。 如果数据库以共享模式打开,您必须使用 FLock() 锁定要排序的文件。 DBSort() 在功能上等同于 SORT 命令。
提示 提示:
已删除的源记录:
如果 SetDeleted() 为 TRUE,VODBSort() 会将已删除的记录复制到目标数据库文件中; 但是,这些已删除的记录不会保留其删除状态。 无论源文件中的状态如何,目标文件中的记录都不会被标记为删除。
如果 SetDeleted() 为 FALSE,已删除的记录不会被复制到目标数据库文件中。 同样,在排序过程中会忽略经过过滤的记录,它们不会包含在目标 文件中。
示例
以下示例按两个字段(忽略大小写)对数据库进行排序,并将其用作 当前文件:
X#
1IF DBSort("sortdb.dbf", {"Last/C", "First/C"})
2    DBCloseArea()
3    USE sortdb NEW
4ENDIF
参见