在FoxBASE中自动生成数据库的一种方法

Author: 山东 董振岳 Date: 1996-09-27

        例如要生成以下的数据库:
        可以先定义一个字符串:
        DBFSTR='FIELD1'+CHR(13)+'C'+'1'+CHR(13);
        +'FIELD2'+CHR(13)+'N'+'1'+CHR(13)+'0'+CHR(13);
        +'FIELD3'+CHR(13)+'D';
        +'FIELD4'+CHR(13)+'L';
        +'FIELD5'+CHR(13)+'M';
        +CHR(13)+CHR(13)+CHR(13);
        把生成数据结构的所有按键都定义进去,然后在程序需要建立数据库的地方加入:
        KEYB(DBFSTR)
        CREATE<数据库文件名>
        就可自动生成一个空的数据库文件。
        但Keybord()函数有一个限制,最多只能发送254个字符到缓冲区,不能满足结构复杂的数据库最多;而且有时数据库的结构是由用户使用程序时定义的,编程时并不能知道。这时,我们可以利用数据库结构伸展文件来达到目的。
        数据库结构伸展文件的库结构只有4个字段:
        所以我们只要先定义一个字符串:
        DBFSTR='FIELD-NAME'+'C'+'10'+CHR(13);
        +'FIELD-TYPE'+'C'+'1'+CHR(13);
        +'FIELD-LEN'+'N'+'3'+CHR(13)+'0'+CHR(13);
        'FIELD-DEC'+'N'+'3'+CHR(13)+'0'+CHR(130);
        +CHR(13)+CHR(13)+CHR(13);
        然后用 KEYB(DBFSTR)
        CREATE TEMP
        就可生成一个文件名为TEMP.DBF结构伸展文件。在获取数据库结构后,用 APPEND BLAN
        REPL..WITH..
        将每个字段的字段名,字段类型,字段长度,小数位填入TEMP.DBF中,也可以用GET,READ通过对话方式让用户输入每个字段名。然后运行命令CREATE<数据库文件名>FROM TEMP就可以生成任何所需要的数据库了。