你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 编程语言
在Delphi中使用DBF数据
 

  要:叙述在数据库开发工具Delphi中编程的方法和技巧,即如何在Delphi中利用已有的dBASEFoxPro数据资源来开发数据库应用程序。

关键字:Delphi软件、数据库和数据转换。

 

 

Delphi是美国Inprise 公司开发的功能强大的Windows 应用程序开发工具。她是可视化应用程序开发环境、可重用性面向对象编程语言、快速编译器和数据库技术的完美结合。由于Delphi具有运行速度快、功能强大、易于学习和使用且开发迅速等特点,并支持XMLHTML,支持 Web Internet的开发,一直受到广大用户的喜爱。

    国内PC机上使用最普及历史最长的数据库是DBF格式的数据库,即是dBASE IIdBASE IIIFoxPro中使用的数据库格式。为了充分利用已有的数据库资源,并能在Delphi环境下开发功能更强的应用软件,本文将讨论如何在Delphi中使用DBF数据库(数据表)以及其转换的方法。

 

 

 

 

 

一、直接使用DBF格式的数据库


若将DBF格式的数据库或表作为应用程序开发中的数据资源,应在Delphi中的“BDE Administrator”数据库引擎中用DBASEFOXPRO作为配置参数,这样就可以在Delphi中修改和直接访问DBF数据,参见图1

1   BDE配置工具

 

二、转换成Delphi环境中的Paradox数据表

Delphi开发工具允许用户创建和访问Paradox Local InterBase等服务器的数据库应用,这里我们讨论将DBF转换成Paradox 数据库的方法。

使用数据库桌面Database Desktop ——Delphi提供的辅助工具之一

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2  Database Desktop窗口

 

Database Desktop(参见图2)的复制功能来实现转换,其操作过程如下:

1)选用菜单“Tools/Utilities/Copy…”,将出现“Copy”对话框,让用户指定将要转换的DBF源文件,这里我们选择了student.dbf文件,并按下“OK”键。

2)这时,出现“Copy to” 对话框,选择目标文件名或在文件名编辑框里输入一个新目标文件名,并给出Paradox数据文件的扩展名.db

3)然后选择“Copy”按钮。

DBF的字段类型

转换成Paradox字段类型

C

Alpha

F(浮点型)

Number

N

Number

L

Logical

D

Date

Memo

Memo

OLE 

OLE

Binary

Graphic

此时,Database DesktopDBF数据student.dbf转换成了Paradox student.db数据。转换过程中,其数据结构的字段类型变化参照表1

 

1

 

 

 

 

 

 

 

 

 

 

Paradox 确保从DBF备注字段转换来的数值是文本格式,否则如含有其他类型的数据,就应该使用Add功能添加该备注字段到相应的Paradox BLOB类型字段中。

同样,也可以将Paradox数据库表转换成DBF格式,其字段类型将按参照表2自动地转化。如果生成的DBF不含有索引文件、浮点类型字段和备注字段,则Database Desktop 将产生一个dBASE III数据库表;如果生成的DBF表含有OLE或二进制字段类型,则Database Desktop 将产生WindowsDBF数据库表;否则将生成一个dBASE IV数据库表。

 

2

Paradox中的字段类型

转换成DBF字段类型

备注

Alpha

C

 

Number

N(20.4)

 

Money

N(20.4)

 

Short

N(6.0)

 

Long Integer

N(11.0)

 

BCD

N(20.4)

 

Date

D

 

Time

C(8)

 

Timestamp

C (30)

 

Memo

Memo

 

Formatted Memo

Memo

格式丢失

Graphic

Binary

 

OLE

OLE

 

Logical

Logical

 

Autoincrement

Number

 

Binary

Memo

不能显示数据

Bytes

Memo

不能显示数据

 

 

1、   使用数据管道Datapump ——Delphi提供的辅助工具之一

用数据管道的移动功能可以实现DBF数据库表转换成Paradox的数据,其操作过程如下:

1)使用Borland数据库引擎BDE,为源数据库和目标数据库各建立一个别名;

2)启动数据管道Data Pump,在其向导程序中指定源数据库的别名或路径;

3)指定目标数据库的别名;

4)从源数据库中选择要移动的数据表(可以选择一个或多个),这里我们选择student.dbf

5)通过按钮“Modify Mapping Information for Selected Item”,修改数据表的结构信息,以适应目标数据表的需求。当选择此按钮,进入“Modify Fields”对话框,从而可以逐一选择DBF数据表的字段名,并修改成所需的Paradox 数据类型,以及目标数据库中不支持的字段类型、索引和数据的完整性等。

6)单击“Upsize”按钮,使DBF数据表移动到Paradox

7)浏览数据移动结果,若有不满意之处,可以在目标数据表中直接修改;或者观察“Report”对话框显示的移动过程的详细记载,若满足需求,击“Write a copy of this report to file”按钮,输入文件名student.db而保存转换的结果。

 


除了DBFParadox 数据之外,Data Pump也可以应用到其他的PC数据库或SQL Server数据库之间的转换。

                     3数据管道Data Pump

 

2、     使用Delphi数据访问部件(Data Access)中的BatchMove控件

BatchMove控件具有对成批的记录、整个数据库表进行移动、拷贝和删除操作,但是它不能复制源数据文件的索引和纠错规则等。将DBF 数据库转换成Paradox的数据表操作过程如下:

1)Database Desktop 中建立Paradox 数据表student.db 的表结构,使其字段顺序等与DBF格式的student.dbf相对应。

2)Delphi数据访问部件Data Access中选择两个控件Table,并分别将Table1Table2连接到源数据文件student.dbf 和目标文件student.db

3)Delphi数据访问部件Data Access中选择控件BatchMove放在一个Form上。

4)BatchMoveMode属性设置为batCopy(功能:复制源文件数据到目标文件中)。

5)设置Source 属性为Table1Destination属性为 Table2

6)用鼠标右击控件BatchMove,选择弹出式菜单中的“Execute”项,此时,执行复制功能,即将DBF数据库转换成Paradox 数据表。

以上仅向同仁交流我在Delphi编程中的一点体会,且希望在编程过程中互通经验,共振我国软件之兴。

 

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089