- 积分
- 214
UID2913
主题
在线时间 小时
注册时间2006-1-25
|

楼主 |
发表于 2004-2-11 16:59:00
|
显示全部楼层
来自: 中国山东枣庄
五、DBF格式数据库与高级语言的接口
5 d, v$ w; [6 r; h6 l 在CAD系统中,可以借用关系数据库作为CAD软件的数据库。为了在CAD环境下实时地生成、调用和更新数据,需要开发高级语言与数据库的接口。 DBF格式的数据库文件是最常用的数据库格式文件之一,它可由多种数据库软件创建,包括dBASE、Foxpro,乃至最新的面向对象的程序设计语言VisuI Foxpro、Delphi等。 这种格式的数据库文件与高级语言的接口方法也可分为直接型接口和间接型接口。, _+ Y0 z; h" s5 f9 b1 A
, Q4 t+ f+ c+ Q
9 \2 M- y9 N6 g 1.直接型接口 所谓直接型接口,就是不依赖于中性文件,由高级语言直接对数据库文件进行读写操作。当然,必须首先分析DBF文件的数据存储格式,也就是DBF文件的数据结构。 DBF文件分两部分:文件头部分存储记录的个数,每个记录的字段的个数,字段名等总体信息;文件的主体存储各个记录的内容。 接口程序的编制步骤如下: (1) 由DBF文件建立线性链表。通过读取DBF文件头,可以知道记录的总体情况,然后分配内存空间,建立相应的数据结构; (2) 编制对线性表进行删除、插入、遍历等各种操作的子程序; (3) 将修改后的线性表写回DBF文件。- x! t7 O3 z3 `5 i( ~8 C# ?
& [! ^- O9 o: P/ Y
, r' D5 P: R' }* X* F 2.间接型接口 间接型接口就是数据的传递是通过中性文件来实现的。在绝大多数的数据库编程软件中,都有将数据库文件转换为文本文件的功能。文本文件即ASCⅡ码文件,是软件系统之间数据交换最基本的文件格式之一。 数据转换步骤如下: (1) DBF文件转换为TXT文件 以dBASE为例,在dBASE中,可用“下述命令将DBF数据库文件内容输出到一文本文件中。 COPY TO(文件名)[FOR 〈表达式〉][FIELD〈 字段名表〉][SDF]/[DELIMITED」 若在COPY命令中选用了选择项[SDF]或[DELIMITED」时,则产生一个文本文件。文件中的数据可以是当前数据库文件的部分数据或全部数据,取决于命令行中其它选择项的使用,系统会自动再此类文件名后加上扩展名.TXT。这两个选择项的区别在于:用[SDF]产生的是标准格式的数据文件,用[DELIMITED]产生的是通用格式的数据文件。 标准数据格式是:每一个记录定长;记录从文件头开始存放;每一个记录用回车换行结柬;各记录中的同一数据项的长度及类型都相同,不足的用空格补充。 通用数据格式是:数据项与数据项之间用逗号分开;字符型数据或逻辑型数据用单、双引号或其它限制符括起来;数字型数据不加任何限制符;记录可以定长,也可以不定长;在每个记录后面用回车换行结柬。 (2) 将TXT文件中的数据加人到DBF文件中 在dBASE环境下,利用APPEND命令可以把其它外部软件建立的扩展名为.TXT文件中的数据转移到数据库文件中。传递数据的要求是数据格式要匹配。命令如下: APPEND FROM 〈文件名〉〔FOR 〈表达式〉][SDF]/[DELIMITED]命令行中〈文件名〉所指出的文件为提供数据的文件(简称施主);当前被打开的数据库文件为接受数据的文件(简称受主)。 如果指出了选择项[SDF]或[DELIMITED],可以实现数据文件(.TXT文件)中的数据按规定的格式转移。特别需要指出的是,由于数据文件没有结构,所以数据是按位置转移的,这时要注意施主和受主在同一位置上的数据类型要一致,也就是说,若受主的第一个字段是材料,则施主在相应位置上也应该是与材料有关的数据。 概括的说,这种数据转换的过程如下: (1) 将数据库文件内容输出到文本文件。 (2) 外部软件从文本文件中读取数据或对其进行处理。 (3) 将文本文件中的数据输入到数据库文件中。 x/ H" y; f/ \& i- [* }
% R' h( O& q! J/ o' r" f/ X/ y
; R' }- {. @4 @ K' C 3.数据库与面向对象编程语言的接口 随着软件技术的发展,在出现了面向对象编程的高级语言后,数据库与高级语言的接口问题似乎得到了完美的解决。 在最新出现的面向对象编程的语言如:Visul BASIC、Delphi中,已将数据库的操作完全融合进程序设计中,也就是说,这一类的编程语言既继承了以前高级语言的全部功能,又具备了数据库编程的能力。 用该类编程语言操作数据库文件,无需分析数据库文件的存储格式,在读写数据库内容上有了更大的灵活性,在程序设计中,只需在FORM(面向对象程序设计中程序界面的一个窗口)中加人数据源、数据库表、数据显示表格、数据库操作控制器等少许几个控件,然后将数据库表与相应的数据库文件相连接,便可在程序中随意操作数据库文件,因为对于连接并打开的数据库,每一个字段在程序中都是作为一个字段变量,可随意读写字段值。更值得称道的是,该类编程语言通过配备的数据库引擎,可以对多种格式的数据库文件进行操作。在开发数据管理与计算一体的CAD系统中,使用该类编程语言将是最佳选择。
( {8 q5 a3 _* D6 \" p' f5 T# j& `. q/ U
|
|