数据库原理与应用第14章.ppt

上传人:牧羊曲112 文档编号:5985494 上传时间:2023-09-11 格式:PPT 页数:29 大小:255.63KB
返回 下载 相关 举报
数据库原理与应用第14章.ppt_第1页
第1页 / 共29页
数据库原理与应用第14章.ppt_第2页
第2页 / 共29页
数据库原理与应用第14章.ppt_第3页
第3页 / 共29页
数据库原理与应用第14章.ppt_第4页
第4页 / 共29页
数据库原理与应用第14章.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《数据库原理与应用第14章.ppt》由会员分享,可在线阅读,更多相关《数据库原理与应用第14章.ppt(29页珍藏版)》请在三一办公上搜索。

1、第14章 FoxPro与其它语言 的联系,14.1 FoxPro与其它语言交换数据的方法 14.2 库文件与文本文件的数据交换14.3 直接调用其它高级语言的命令 RUN 14.4 调用汇编语言子程序,14.1 FoxPro与其它语言交换数据的方法,1.交换数据的基本方法 一般,FoxPro与其它语言程序是通过文本文件来相互交换数据的。但是,只有具有SDF格式(系统数据格式)或DELIMTED格式(用户定义分隔符格式)的文本文件才能完成这个任务,图14CD*21描绘了这种交换数据的方法。,图 141 FoxPro与其它语言程序交换数据法,FoxPro可以利用自己的命令把库文件的数据传送给具有S

2、DF格式或DELIMITED格式的文本文件;也可以用自己的命令,从具有SDF格式或DILIMITED格式的文本文件中读入数据并构成库文件的记录。但这两种方法不涉及库文件的记忆型字段。任何一种其它语言程序,都可利用自己的命令,从具有SDF格式或DELIMITED格式的文本文件中为自己的变量读入数据;或用自己的命令,把自己程序运行的结果数据传送给具有SDF格式或DELIMITED格式的文本文件。,2.SDF格式文本文件 SDF格式文本文件称为系统数据格式文本文件,它在格式上与库文件有着很多相似之处。首先,每一个字段的宽度是固定的,等于原库文件中该字段的定义宽度,因此各记录的长度也是相同的。在SDF

3、格式文本文件中,原库文件的字符型字段和数字型字段数据将原样存储,即字符型数据左对齐存放,右边不足部分填以空格;数字型数据右对齐存放,左边不足部分填以空格。,3.DELIMITED格式文本文件 DELIMITED格式文本文件又称为用户定义分隔符格式文本文件或紧凑格式文本文件。它和SDF格式的差别在于:同一字段中,各字段值的宽度不再固定为原字段定义宽度,而是等于字段值的实际宽度。也即,原字符型数据的尾部空格和原数字型数据的头部空格都被删去。在同一记录中,各数据项之间用分隔符隔开。(表142的分隔符为逗号,表143 的分隔符为空格。)原字符型数据还有单独的标界符(表142中为双引号;表143是特殊情

4、况,没有单独标界符)定界。,14.2 库文件与文本文件的数据交换,FoxPro可以用自己的命令把库文件数据传送给具有SDF格式或DELIMITED格式的文本文件,也可以用自己的命令从相应的SDF格式或DELIMITED格式文本文件提取数据给库文件(组成新的记录)。1.库文件数据传送给文本文件(1)生成SDF格式文本文件。在FoxPro状态下,把当前库文件内容传送给SDF格式文本文件的命令为:,COPY TO 文件名 FOR条件 WHILE条件 范围 FIELDS字段名表TYPESDF 功能:此命令把当前库文件中指定范围内符合条件记录的指定字段,按SDF格式复制到命令中规定的文本文件中。命令中若

5、无范围项,则范围为ALL;若无FIELDS项,则复制全部字段(除记忆型);若无条件项,则复制范围内全部记录。文件名默认扩展名为.TXT。TYPE项可省略。,例1 USE 职工 COPY TO ZGS SDF TYPE ZGS.TXT 输出SDF格式文本文件ZGS.TXT,结果见表141。(2)生成DELIMITED格式文本文件 命令格式:COPY TO 文本文件名 FOR条件 WHILE条件 范围 FIELDS字段名清单 TYPEDELIMITEDWITH分界符,功能:此命令把当前库文件中指定范围内符合条件记录的指定字段,按DELIMITED格式复制到命令中规定的文本文件中。命令中若无范围项,

6、则范围为ALL;若无FIELDS项,则复制全部字段(除记忆型字段);若无条件项,则复制范围内全部记录。命令中文本文件的默认扩展名为.TXT;若无分界符项,则原字符型字段数据都用双引号括起;若用分界符项,则原字符型字段数据都用分界符括起;同一记录的各字段值之间一般都用逗号分隔,但当分界符是BLANK时,同一记录的各字段值之间将用空格分隔。TYPE项可省略。,例2 USE 职工 COPY TO ZGDS DELIMITED TYPE ZGDS.TXT 输出结果见表142。例3 USE 职工 COPY TO ZGDB DELIMITED WITH BLANK TYPE ZGDB.TXT 输出结果见表

7、143。自己定义分界符后,字符串中就可以包含逗号。当然,所有分界符必须不在字符数据中出现。,2.文本文件内容传送给库文件(1)SDF格式文本文件内容传送给库文件。在FoxPro状态下,把SDF格式文本文件内容追加入当前库文件的命令为:APPEND FROM 文件名 FIELDS字段名清单 FOR条件TYPESDF 功能:把指定SDF格式文本文件内容中符合条件者,追加入当前库文件。在无条件时,全部追加;否则,只追加符合条件者。在无FIELDS项时,为所有字段追加数据;否则,只为指定字段追加数据。,步骤:以当前库文件的字段宽度为准,逐个字段地为一条记录的指定字段读入数据。若在SDF格式文本文件中遇

8、到了回车换行符,则在库文件中开始追加新的一条记录(在刚才追加的那条记录中,可能最后还有指定字段未输入数据);若库文件中一条记录的所有指定字段都已顺次追加完数据,则在SDF格式文本文件中跳到下面一个回车换行符后,再开始为库文件追加新的一条记录(SDF文件中,刚才被读的那一行的最后一些数据,可能未用到);若在库文件中遇到一个记忆型字段,系统也认为一条记录已追加完毕。,(2)DELIMITED格式文本文件内容传送给库文件。在FoxPro状态下,追加DELIMITED格式文件内容到当前库文件的命令为:APPEND FROM 文件名 FIELDS字段名清单FOR条件TYPE DELIMITED WITH

9、分界符 功能:此命令把命令中给出的DELIMITED格式文本文件内容中的符合条件者,追加入当前库文件。命令中文件名的默认扩展名为.TXT。在无FIELDS项时,为所有字段追加数据。,步骤:顺次为追加记录的指定字段读入数据。库文件的一个记录追加完毕,则在文本文件中跳到下一个回车换行符后,开始为新记录追加数据;若在文本文件中遇到一个回车换行符,则结束正在追加的记录,再开始追加一个新记录;若在库文件中遇到一个记忆型字段,则结束追加本记录,在文本文件中跳到一个回车换行符后,开始追加一个新记录,直至结束。,由上可知,SDF格式的文本文件只能被追加SDF格式的APPEND命令使用,DELIMITED格式文

10、本文件也只能被追加DELIMITED格式的APPEND命令使用。而且,一定分界符的DELIMITED格式文件也只能被规定了同样分界符的APPEND命令使用。因此,是选择第一条SDF命令;还是选择第二条DELIMITED命令;如果选DELIMITED命令到底选择什么分界符;这些都完全取决于被读文本文件。,14.3 直接调用其它高级语言的命令RUN,1.RUN命令 有两种命令格式:RUN/NK外部可执行文件名/MSDOS命令!/NK外部可执行文件名/MSDOS命令 在MSDOS支持下使用RUN命令时,操作系统文件COMMAND.COM必须在当前目录中或在能被MSDOS COMSPEC找到的位置(见

11、MSDOS手册中有关SET COMSPEC内容)。,在FoxPro中,有一个名为FoxSwap的内存管理实用程序,它为RUN命令提供了更多的内存空间。选择项/N或/NK指定该RUN命令所用内存空间量。N为一个数值,单位为KB。当N=0时,该RUN命令将得到最大的内存空间。当N0时,则:缓冲区内容写进磁盘;或内存中有N(KB)可用空间,则执行该RUN命令;否则,执行FoxSwap。,例 下列命令提供120 KB内存空间,执行外部文本编辑程序MYEDITOR。!/120 MYEDITOR 注意,不要规定超过需要的内存空间,FoxSwap要花费额外的时间。,14.4 调用汇编语言子程序,FoxPro

12、可直接调用汇编语言程序,主要使用三条命令。1.LOAD命令 命令格式:LOAD 文件名SAVENOSAVE 本命令把一个二进制程序装入内存,供FoxPro的CALL命令调用。该文件名的默认扩展名为.BIN。若文件名与已装入内容的某文件同名,即使扩展名不同,也将覆盖前已装入内存的文件。在内存中,最多可同时存在16个64 KB的这类文件。,在LOAD命令和CALL命令中,可使用选择项SAVE及NOSAVE(NOSAVE是默认值)。在CALL中的SAVE、NOSAVE优先于LOAD中的SAVE、NOSAVE。选择SAVE后,一从二进制文件返回,FoxPro将把显示器RAM的内容复制到 FoxPro

13、桌面或主窗口(假定二进制文件直接写进显示器RAM)。一般地,不要选用SAVE项,因为它将花费一些额外时间。在建立二进制代码文件时,应注意:程序的第一条可执行指令必须放在偏移量为0处;不允许程序使用超出其本身大小的存储区域;程序不得改变在DS:BX中作为自变量的内存变量的长度;返回FoxPro前,应恢复CS和SS寄存器;应以远程返回指令返回FoxPro,否则只能被RUN命令调用。(不能用LOAD和CALL命令来调用。),建立汇编文件的步骤如下:用MASM文件名对源文件进行汇编,产生一个目标文件;用LINK文件名连接目标文件,生成一个可执行文件;用EXE2BIN文件名产生二进制文件。当使用字符型变

14、量时,不能改变其值长度;当从一个调用到下一个调用而存储字符串地址时,也应重新设置已经用过而又准备存入新内容的字符串地址。,2.CALL命令 格式:CALL 文件名WITH字符表达式/内存变量SAVE/NOSAVE 功能:执行由LOAD命令装入内存的二进制代码文件,文件名不用扩展名。WITH选择项用于向调用的二进制程序传递参数。CALL命令使代码段(CS)指向被调用模块的起始处,DS和BX寄存器组指向由WITH传递参数的第一字节。若命令中未选用WITH项,则BX内容为0。SAVE和NOSAVE选择项的使用见LOAD命令。,3.RELEASE MODULE命令 格式:RELEASE MODULE 二进制文件名 功能:清除内存中该二进制文件,以便用户装入其它二进制文件。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号