DBF格式数据库与高级语言的接口  内容加载中,请稍后...
CAD家园 
CAD家园
生活因感动而精彩,理想在创造中放飞!
DBF格式数据库与高级语言的接口
作者:cad 提交日期:2009-1-10| 分类: | 访问量:




DBF格式数据库与高级语言的接口

在CAD系统中,可以借用关系数据库作为CAD软件的数据库。为了在CAD环境下实时地生成、调用和更新数据,需要开发高级语言与数据库的接口。

  DBF格式的数据库文件是最常用的数据库格式文件之一,它可由多种数据库软件创建,包括dBASE、Foxpro,乃至最新的面向对象的程序设计语言VisuI Foxpro、Delphi等。

  这种格式的数据库文件与高级语言的接口方法也可分为直接型接口和间接型接口。

  1.直接型接口

  所谓直接型接口,就是不依赖于中性文件,由高级语言直接对数据库文件进行读写操作。当然,必须首先分析DBF文件的数据存储格式,也就是DBF文件的数据结构。
  DBF文件分两部分:文件头部分存储记录的个数,每个记录的字段的个数,字段名等总体信息;文件的主体存储各个记录的内容。

  接口程序的编制步骤如下:
 
  (1) 由DBF文件建立线性链表。通过读取DBF文件头,可以知道记录的总体情况,然后分配内存空间,建立相应的数据结构;
  (2) 编制对线性表进行删除、插入、遍历等各种操作的子程序;
  (3) 将修改后的线性表写回DBF文件。

  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) 将文本文件中的数据输入到数据库文件中。

  3.数据库与面向对象编程语言的接口

  随着软件技术的发展,在出现了面向对象编程的高级语言后,数据库与高级语言的接口问题似乎得到了完美的解决。

  在最新出现的面向对象编程的语言如:Visul BASIC、Delphi中,已将数据库的操作完全融合进程序设计中,也就是说,这一类的编程语言既继承了以前高级语言的全部功能,又具备了数据库编程的能力。

  用该类编程语言操作数据库文件,无需分析数据库文件的存储格式,在读写数据库内容上有了更大的灵活性,在程序设计中,只需在FORM(面向对象程序设计中程序界面的一个窗口)中加人数据源、数据库表、数据显示表格、数据库操作控制器等少许几个控件,然后将数据库表与相应的数据库文件相连接,便可在程序中随意操作数据库文件,因为对于连接并打开的数据库,每一个字段在程序中都是作为一个字段变量,可随意读写字段值。更值得称道的是,该类编程语言通过配备的数据库引擎,可以对多种格式的数据库文件进行操作。在开发数据管理与计算一体的CAD系统中,使用该类编程语言将是最佳选择。 *

本文摘自:http://www.jxcad.com.cn/read.php?tid=2154&fpage=11

Google
 


阅读全文 | 回复(0) | 引用通告 | 编辑


作者:游客
输入您的评论:(不支持HTML标签)

段首缩进两个汉字:


  
个人档案
文章分类
企业管理与质量体系(4019)

建筑标准区(2817)

已应助标准区(17707)

标准资料攻关区(30)

资料教程区(168)

精品教程区(95)

UG习题区(95)

Solidworks插件学习区(96)

Solidworks习题及画法区(95)

模型及标准件库区(24)

Pro/E教程区(94)

加分习题区(95)

Pro/E二次开发(96)

习题区(62)

练习提高区(94)

资料教程区(96)

作品展示及模型专区(96)

焦点专区(96)

AutoCAD 二次开发专区(96)

画法几何及习题专区(96)

图纸专区(95)

资料区(95)

资料区(96)

起重机交流区(96)

冶金设备资料图纸共享专区(95)

钢铁新闻(90)

资料区(53)

资料区(96)

资料区(96)

习题区(35)

资料区(97)

资料区(96)

液压气动仿真(91)

轴承专版(92)

资料区(97)

涉世之初(95)

已答复区(95)

技术求助, 应助 技术心得, 探讨(91)

Technical English(or other languages) Forum(103)

基础理论(95)

手册区(93)

机械零部件、机构、装置、设备设计、制造及应用专区(93)

工程材料(95)

金属热处理(96)

机械冷加工(95)

资料区(95)

液压气动、液力传动与控制、仿真设计等资料(95)

五金模具设计(96)

金属板料成形专版(95)

塑胶模具设计(95)

特种加工(96)

橡胶与工程塑料(96)

化工机械、管道与压力容器专版(4209)

汽车技术专版(12590)

齿轮类零件及减(增)速机设计、制造及应用专区(5305)

电子(电气)、电力系统专业基础知识、应用技术、技术经验、资料交流(14173)

钢铁、冶金技术(12883)

重型机械装备(2798)

数控技术(2688)

清洁能源(93)

AutoDesk技术、教程、资料交流区(17459)

Inventor设计应用专区(4595)

Catia技术、教程、资料交流区(2329)

CAXA技术、教程、资料交流专区(3870)

KM开目技术、教程、资料交流专区(403)

Pro/E技术、教程、资料交流区(11947)

SolidWorks 技术、教程、资料交流区(9523)

TH天河技术、教程、资料交流专区(1635)

UGS技术、教程、资料交流区(7596)

建筑设计CAD专区(1629)

逆向工程技术、教程、资料交流专区(902)

其它CAX软件交流区(533)

ANSYS系列软件技术资料交流区(6590)

ABAQUS软件技术资料交流区(650)

CFD软件技术资料交流区(851)

MSC 系列软件技术资料交流区(2509)

疲劳, 断裂力学, 可靠性及钢结构软件技术资料交流专区(831)

科学, 工程计算专版(533)

其它 CAE软件技术资料交流区(1334)

Cimatron技术、教程、资料交流区(726)

MasterCAM技术、教程、资料交流区(1932)

PowerMill技术、教程、资料交流区(402)

其它 CAM软件技术资料交流区(436)

标准资料求助板块(1215)

国内标准共享版块(19074)

国外标准共享版块(10434)

标准手册区(1766)

标准库(112)

标准件、非标准件图形图库专区(951)

Copyright © 2008.01.06 design| CAD家园   生活因感动而精彩,理想在创造中放飞