⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 010.htm

📁 Delphi书籍--Delphi网上教程
💻 HTM
字号:
<HTML>
<a href="index8.html">返回</a>

<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>

<TD class="tt2" bgcolor="#F5F8F8" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷体_GB2312">在Delphi中使用DBF数据</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">

<p><span style="font-size: 9pt"><font color="#ffffff">----</font> Delphi是美国Inprise 
公司开发的功能强大的Windows 
应用程序开发工具。她是可视化应用程序开发环境、可重用性面向对象编程语言、快速编译器和数据库技术的完美结合。由于Delphi具有运行速度快、功能强大、易于学习和使用且开发迅速等特点,并支持XML和HTML,支持 
Web 和Internet的开发,一直受到广大用户的喜爱。 </span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 国内PC机上使用最普及历史最长的数据库是DBF格式的数据库,即是dBASE 
II、dBASE III和FoxPro中使用的数据库格式。为了充分利用已有的数据库资源,并能在Delphi环境下开发功能更强的应用软件,本文将讨论如何在Delphi中使用DBF数据库(数据表)以及其转换的方法。 
</span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> <b>一、直接使用DBF格式的数据库</b> 
</span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 若将DBF格式的数据库或表作为应用程序开发中的数据资源,应在Delphi中的&quot;BDE 
Administrator&quot;数据库引擎中用DBASE或FOXPRO作为配置参数,这样就可以在Delphi中修改和直接访问DBF数据,参见BDE配置工具图(略)。 
</span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> <b>二、转换成Delphi环境中的Paradox数据表</b> 
</span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> Delphi开发工具允许用户创建和访问Paradox 
和Local InterBase等服务器的数据库应用,这里我们讨论将DBF转换成Paradox 
数据库的方法。 </span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 1、使用数据库桌面Database 
Desktop --Delphi提供的辅助工具之一 </span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 用Database Desktop(参见图2)的复制功能来实现转换,其操作过程如下: 
1)选用菜单&quot;Tools/Utilities/Copy…&quot;,将出现&quot;Copy&quot;对话框,让用户指定将要转换的DBF源文件,这里我们选择了student.dbf文件,并按下&quot;OK&quot;键。 
</span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 2)这时,出现&quot;Copy 
to&quot; 
对话框,选择目标文件名或在文件名编辑框里输入一个新目标文件名,并给出Paradox数据文件的扩展名.db。 
</span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 3)然后选择&quot;Copy&quot;按钮。 
</span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 此时,Database 
Desktop将DBF数据student.dbf转换成了Paradox 的student.db数据。转换过程中,其数据结构的字段类型变化参照表1。 
</span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 表1: </span></p> 
<BR> 
<pre><span style="font-size: 9pt">


在DBF的字段类型	    转换成Paradox字段类型
------------------------------------------
C	                Alpha
F(浮点型)	        Number
N	                Number
L	                Logical
D	                Date
Memo	                Memo
OLE  	                OLE
Binary	                Graphic
-----------------------------------------
</span></pre> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> Paradox 确保从DBF备注字段转换来的数值是文本格式,否则如含有其他类型的数据,就应该使用Add功能添加该备注字段到相应的Paradox 
BLOB类型字段中。 </span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 同样,也可以将Paradox数据库表转换成DBF格式,其字段类型将按参照表2自动地转化。如果生成的DBF不含有索引文件、浮点类型字段和备注字段,则Database 
Desktop 将产生一个dBASE III数据库表;如果生成的DBF表含有OLE或二进制字段类型,则Database 
Desktop 将产生Windows的DBF数据库表;否则将生成一个dBASE IV数据库表。 </span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 表2: </span></p> 
<BR> 
<pre><span style="font-size: 9pt">
-----------------------------------------------------
在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	       不能显示数据
-----------------------------------------------------


</span></pre> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 2、使用数据管道Datapump 
--Delphi提供的辅助工具之一 </span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 
用数据管道的移动功能可以实现DBF数据库表转换成Paradox的数据,其操作过程如下: 
</span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 1)使用Borland数据库引擎BDE,为源数据库和目标数据库各建立一个别名; 
</span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 2)启动数据管道Data 
Pump,在其向导程序中指定源数据库的别名或路径; </span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 3)指定目标数据库的别名; 
</span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 4)从源数据库中选择要移动的数据表(可以选择一个或多个),这里我们选择student.dbf; 
</span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 5)通过按钮&quot;Modify 
Mapping Information for Selected Item&quot;,修改数据表的结构信息,以适应目标数据表的需求。当选择此按钮,进入&quot;Modify 
Fields&quot;对话框,从而可以逐一选择DBF数据表的字段名,并修改成所需的Paradox 
数据类型,以及目标数据库中不支持的字段类型、索引和数据的完整性等。 
</span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 6)单击&quot;Upsize&quot;按钮,使DBF数据表移动到Paradox 
。 </span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 7)浏览数据移动结果,若有不满意之处,可以在目标数据表中直接修改;或者观察&quot;Report&quot;对话框显示的移动过程的详细记载,若满足需求,击&quot;Write 
a copy of this report to file&quot;按钮,输入文件名student.db而保存转换的结果。 
</span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 除了DBF和Paradox 
数据之外,Data Pump也可以应用到其他的PC数据库或SQL Server数据库之间的转换。 
</span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 3、使用Delphi数据访问部件(Data 
Access)中的BatchMove控件 BatchMove控件具有对成批的记录、整个数据库表进行移动、拷贝和删除操作,但是它不能复制源数据文件的索引和纠错规则等。将DBF 
数据库转换成Paradox的数据表操作过程如下: </span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 1)在Database Desktop 
中建立Paradox 数据表student.db 的表结构,使其字段顺序等与DBF格式的student.dbf相对应。 
</span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 2)在Delphi数据访问部件Data 
Access中选择两个控件Table,并分别将Table1和Table2连接到源数据文件student.dbf 
和目标文件student.db。 </span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 3)在Delphi数据访问部件Data 
Access中选择控件BatchMove放在一个Form上。 </span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 4)将BatchMove的Mode属性设置为batCopy(功能:复制源文件数据到目标文件中)。 
</span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 5)设置Source 
属性为Table1,Destination属性为 Table2。 </span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 6)用鼠标右击控件BatchMove,选择弹出式菜单中的&quot;Execute&quot;项,此时,执行复制功能,即将DBF数据库转换成Paradox 
数据表。 </span></p> 
<p><span style="font-size: 9pt"><font color="#ffffff">----</font> 
以上仅向同仁交流我在Delphi编程中的一点体会,且希望在编程过程中互通经验,共振我国软件之兴。 
</span></p> 
<BR> 
<hr color="#EE9B73" size="1" width="94%"> 
 
</TD> 
 
</TR> 
</table> 
</BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -