在FoxBASE中自动生成数据库的一种方法
可以先定义一个字符串:
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就可以生成任何所需要的数据库了。