Show/Hide Toolbars

XSharp

Note该命令在头文件中定义,将由 X# 预处理器预处理为函数调用。如果禁用标准头文件 (-nostddefs),该命令将不可用。如果告诉编译器使用不同的标准头文件(-stddef ),则此命令也可能不可用。

用途

将当前工作区的记录按排序复制到数据库文件中。

语法

SORT TO <xcTargetFile> ON <idFieldList> [<Scope>] [WHILE <lCondition>] [FOR <lCondition>]

参数

TO <xcTargetFile>要写入排序记录的目标数据库文件名,包括可选的驱动器、目录和扩展名。 有关文件搜索和创建规则,请参阅 SetDefault() 和 SetPath()。 数据库文件的默认扩展名由 RDD 决定。
 
如果 <xcTargetFile> 不存在,将创建该文件。 如果存在,该命令将尝试以独占模式打开文件,如果成功,文件将被覆盖,不会发出警告或出错。 如果由于其他进程正在使用该文件等原因而拒绝访问,NetErr() 将被设置为 TRUE。

 

ON <idFieldList>以逗号分隔的字段名列表形式指定的排序键。 可以选择在每个字段名后添加 /A(按字典顺序排序)、/C(忽略大写字母)或 /D(按降序排序)。 默认设置为 /A。

 

<Scope>当前数据库文件中要处理的部分。 默认为所有可见记录。范围可以是以下一个或多个子句:
[NEXT <NEXT>]        可选择指定从源文件第一条记录开始处理的记录数。这将从源文件的第一条记录开始。
[RECORD <rec>]        可选的记录 ID 如果指定,处理将从源文件中的该数据记录开始。
[<rest:REST>]                选项 REST 可指定是否从当前记录到最后一条记录按顺序搜索。如果指定了条件,则选项 ALL 为默认值。
[ALL]                选项 ALL 指定导入源文件中的所有记录。这是默认设置。
WHILE <lCondition>范围内每条可见记录都必须满足的条件,从当前记录开始。 一旦 while 条件失败,进程就会终止。 如果没有指定 <Scope>,while 条件会将默认范围改为文件中的其他可见记录。

 

FOR <lCondition>处理范围内每条可见记录必须满足的条件。 如果某条记录不符合指定条件,则会被忽略,并处理下一条可见记录。 如果没有指定 <Scope> 或 WHILE 子句,则 for 条件会将默认范围改为所有可见记录。

 

描述

SORT 在功能上等同于 DBSort()。

示例

此示例将使用降序排序键的邮件列表复制到较小的列表中进行打印:

USE mailing INDEX zip
SEEK "900"
SORT ON Lastname /D, Firstname /D TO invite ;
                 WHILE Zip = "900"
USE invite NEW
REPORT FORM rsvplist TO PRINTER

程序集

XSharp.RT.DLL

参见

ASort(), DbSort(), FLock(), INDEX,SetDefault(), SetPath(), USE