Note | 该命令在头文件中定义,将由 X# 预处理器预处理为函数调用。如果禁用标准头文件 (-nostddefs),该命令将不可用。如果告诉编译器使用不同的标准头文件(-stddef ),则此命令也可能不可用。 |
创建一个空的结构扩展文件。
CREATE <xcTargetFile> [NEW] [ALIAS <xcAlias>] [VIA <cDriver>]
<xcTargetFile> | 空结构扩展数据库文件的名称,包括可选的驱动器、目录和扩展名。 有关文件搜索和创建规则,请参阅 SetDefault() 和 SetPath()。 数据库文件的默认扩展名由 RDD 决定。 文件创建后,将以工作区 SetExclusive() 标志指定的模式保持打开。 |
如果 <xcTargetFile> 不存在,则将创建该文件。 如果存在,该命令将尝试以独占模式打开文件,如果成功,文件将被覆盖,不会发出警告或出错。 如果由于其他进程正在使用该文件等原因而拒绝访问,NetErr() 将被设置为 "true"。 |
<xcTargetFile> 的结构与 COPY STRUCTURE EXTENDED 生成的结构相同,更多详情可参考 COPY STRUCTURE EXTENDED。 |
NEW | 在打开 <xcTargetFile> 前选择下一个未占用的工作区。 如果未指定该子句,则使用当前工作区。 |
ALIAS <xcAlias> | 打开 <xcTargetFile> 时与工作区相关联的标识符名称。 如果未指定该子句,别名默认为数据库文件名。 单个应用程序内不允许使用重复的别名。 |
VIA <cDriver> | 为工作区提供服务的 RDD 名称。 如果未指定,则使用 RDDSetDefault() 确定的默认 RDD。 |
与 COPY STRUCTURE EXTENDED 不同,CREATE 创建的文件是空的。 在使用 CREATE FROM 创建新数据库文件之前,必须先在结构扩展文件中添加记录。
此示例创建了一个新的结构扩展文件,将一个字段的定义放入其中,然后根据扩展结构创建了一个新的数据库文件:
CREATE tempstru
APPEND BLANK
REPLACE Field_Name WITH "Name",;
Field_Type WITH "C",;
Field_Len WITH 25,;
Field_Dec WITH 0
CLOSE
CREATE newfile FROM tempstru
XSharp.RT.DLL
COPY STRUCTURE EXTENDED, CREATE FROM, DbCopyStruct(), DbCreate(), RDDSetDefault(),SetDefault(), SetPath(), SetExclusive()