Note | 该命令在头文件中定义,将由 X# 预处理器预处理为函数调用。如果禁用标准头文件 (-nostddefs),该命令将不可用。如果告诉编译器使用不同的标准头文件(-stddef ),则此命令也可能不可用。 |
使用当前数据库文件中的字段定义创建一个空数据库文件。
COPY STRUCTURE [FIELDS <idFieldList>] TO <xcTargetFile>
FIELDS <idFieldList> | 按指定顺序复制到新数据库结构的字段集。 默认为所有字段。 |
TO <xcTargetFile> | 目标数据库文件的名称,包括可选的驱动器、目录和扩展名。 有关文件搜索和创建规则,请参阅 SetDefault() 和 SetPath()。 数据库文件的默认扩展名由 RDD 决定。 |
如果 <xcTargetFile> 不存在,将创建该文件。 如果存在,该命令将尝试以独占模式打开文件,如果成功,文件将被覆盖,不会发出警告或出错。 如果由于其他进程正在使用该文件等原因而拒绝访问,NetErr() 将被设置为 TRUE。 |
在本例中,COPY STRUCTURE 创建了一个临时文件。 用户在临时文件中输入数据后,主数据库文件将根据新信息进行更新:
USE sales NEW
COPY STRUCTURE TO temp
USE temp NEW
lMore := TRUE
DO WHILE lMore
APPEND BLANK
@ 10, 10 GET Temp->Salesman
@ 11, 11 GET Temp->Amount
READ
IF Updated()
SELECT sales
APPEND BLANK
REPLACE Sales->Salesman WITH Temp->Salesman
REPLACE Sales->Amount WITH Temp->Amount
SELECT Temp
ZAP
ELSE
lMore := FALSE
ENDIF
ENDDO
CLOSE DATABASES
XSharp.RT.DLL
COPY STRUCTURE EXTENDED, CREATE, DbCopyStruct(), SetDefault(), SetPath()