资源描述:
《数据库原理与应用第14章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第14章FoxPro与其它语言的联系14.1FoxPro与其它语言交换数据的方法14.2库文件与文本文件的数据交换14.3直接调用其它高级语言的命令——RUN14.4调用汇编语言子程序14.1FoxPro与其它语言交换数据的方法1.交换数据的基本方法一般,FoxPro与其它语言程序是通过文本文件来相互交换数据的。但是,只有具有SDF格式(系统数据格式)或DELIMTED格式(用户定义分隔符格式)的文本文件才能完成这个任务,图14[CD*2]1描绘了这种交换数据的方法。图14—1FoxPro与其它语言程序交换数据法FoxPro可以利用自
2、己的命令把库文件的数据传送给具有SDF格式或DELIMITED格式的文本文件;也可以用自己的命令,从具有SDF格式或DILIMITED格式的文本文件中读入数据并构成库文件的记录。但这两种方法不涉及库文件的记忆型字段。任何一种其它语言程序,都可利用自己的命令,从具有SDF格式或DELIMITED格式的文本文件中为自己的变量读入数据;或用自己的命令,把自己程序运行的结果数据传送给具有SDF格式或DELIMITED格式的文本文件。2.SDF格式文本文件SDF格式文本文件称为系统数据格式文本文件,它在格式上与库文件有着很多相似之处。首先,每一个
3、字段的宽度是固定的,等于原库文件中该字段的定义宽度,因此各记录的长度也是相同的。在SDF格式文本文件中,原库文件的字符型字段和数字型字段数据将原样存储,即字符型数据左对齐存放,右边不足部分填以空格;数字型数据右对齐存放,左边不足部分填以空格。3.DELIMITED格式文本文件DELIMITED格式文本文件又称为用户定义分隔符格式文本文件或紧凑格式文本文件。它和SDF格式的差别在于:①同一字段中,各字段值的宽度不再固定为原字段定义宽度,而是等于字段值的实际宽度。也即,原字符型数据的尾部空格和原数字型数据的头部空格都被删去。②在同一记录中,
4、各数据项之间用分隔符隔开。(表14—2的分隔符为逗号,表14—3的分隔符为空格。)③原字符型数据还有单独的标界符(表14—2中为双引号;表14—3是特殊情况,没有单独标界符)定界。14.2库文件与文本文件的数据交换FoxPro可以用自己的命令把库文件数据传送给具有SDF格式或DELIMITED格式的文本文件,也可以用自己的命令从相应的SDF格式或DELIMITED格式文本文件提取数据给库文件(组成新的记录)。1.库文件数据传送给文本文件(1)生成SDF格式文本文件。在FoxPro状态下,把当前库文件内容传送给SDF格式文本文件的命令为
5、:COPYTO〈文件名〉[FOR〈条件〉][WHILE〈条件〉][〈范围〉][FIELDS〈字段名表〉][TYPE]SDF功能:此命令把当前库文件中指定范围内符合条件记录的指定字段,按SDF格式复制到命令中规定的文本文件中。命令中若无范围项,则范围为ALL;若无FIELDS项,则复制全部字段(除记忆型);若无条件项,则复制范围内全部记录。〈文件名〉默认扩展名为.TXT。TYPE项可省略。例1USE职工COPYTOZGSSDFTYPEZGS.TXT输出SDF格式文本文件ZGS.TXT,结果见表14—1。(2)生成DELIMITED
6、格式文本文件命令格式:COPYTO〈文本文件名〉[FOR〈条件〉][WHILE〈条件〉][〈范围〉][FIELDS〈字段名清单〉][TYPE]DELIMITED[WITH〈分界符〉]功能:此命令把当前库文件中指定范围内符合条件记录的指定字段,按DELIMITED格式复制到命令中规定的文本文件中。命令中若无范围项,则范围为ALL;若无FIELDS项,则复制全部字段(除记忆型字段);若无条件项,则复制范围内全部记录。命令中文本文件的默认扩展名为.TXT;若无分界符项,则原字符型字段数据都用双引号括起;若用分界符项,则原字符型字段数据都用分界
7、符括起;同一记录的各字段值之间一般都用逗号分隔,但当分界符是BLANK时,同一记录的各字段值之间将用空格分隔。TYPE项可省略。例2USE职工COPYTOZGDSDELIMITEDTYPEZGDS.TXT输出结果见表14—2。例3USE职工COPYTOZGDBDELIMITEDWITHBLANKTYPEZGDB.TXT输出结果见表14—3。自己定义分界符后,字符串中就可以包含逗号。当然,所有分界符必须不在字符数据中出现。2.文本文件内容传送给库文件(1)SDF格式文本文件内容传送给库文件。在FoxPro状态下,把SDF格式文本文件内容追
8、加入当前库文件的命令为:APPENDFROM〈文件名〉[FIELDS〈字段名清单〉][FOR〈条件〉][TYPE]SDF功能:把指定SDF格式文本文件内容中符合〈条件〉者,追加入当前库文件。在无〈条件〉时