说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在Delphi中使用DBF数据

HTML文档下载 WORD文档下载 PDF文档下载
在Delphi中使用DBF数据

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

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

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

---- 若将DBF格式的数据库或表作为应用程序开发中的数据资源,应在Delphi中的"BDE Administrator"数据库引擎中用DBASE或FOXPRO作为配置参数,这样就可以在Delphi中修改和直接访问DBF数据,参见BDE配置工具图(略)。

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

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

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

---- 用Database Desktop(参见图2)的复制功能来实现转换,其操作过程如下: 1)选用菜单"Tools/Utilities/Copy…",将出现"Copy"对话框,让用户指定将要转换的DBF源文件,这里我们选择了student.dbf文件,并按下"OK"键。

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

---- 3)然后选择"Copy"按钮。

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

---- 表1:

在DBF的字段类型 转换成Paradox字段类型

------------------------------------------

C Alpha

F(浮点型) Number

N Number

L Logical

D Date

Memo Memo

OLE OLE

Binary Graphic

-----------------------------------------

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

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

-----------------------------------------------------

---- 2、使用数据管道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而保存转换的结果。

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

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

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

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

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

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

---- 5)设置Source 属性为Table1,Destination属性为 Table2。

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

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

VB5.0数据库编程经验小集 VB5在处理数据库时的几个“BUG” VB6.0中的几个新增数据库工具 VB处理数据库时求数据表记录总数的最佳方法 VB访问数据库的方案比较 VB数据库编程经验两则 VB数据库编空字段的处理 VB数据库多字段记录的录入 VB数据库记录查询四法 vb应用程序访问sql server方法探讨 VB中超长OLE数据库字段的操纵方法 VB中将数据转换为数据库文件 VB中远程数据库的访问 Visual Basic 的数据库编程 Visual Basic数据库数据的选项录入及选项增减与编辑 把资料输往Excel来列印-VB资料 报表中的滚动问题-VB资料 编写Connect Strings-VB资料 表或查询是否存在-VB资料 不创建DSN直接在程序中使用ODBC数据源-VB资料 不用 DATA 控件操作数据库文件 -VB资料 不用 EOF 以加快记录循环-VB资料 处理Select语句中的单引号 -VB资料 断开所有的数据连接 -VB资料 访问VB外来数据库 非access数据库在vb中的编程及应用 关闭程序中所有创建的数据库连接。 -VB资料 关闭所有的数据连接 -VB资料 关于数据报表的打印设置-VB资料 VB建立、改变及重构Access数据库-VB资料 结构化查询语言(SQL)详解之一-VB资料 TURBOC 3.0的问题,在线等待..... 各位高手!我又一问题请教!请帮忙!!! IIS如何与Tomcat结合,请指教! 如何用java访问Excel文件? 如何添加空记录 非常着急!!请高手赐教!我刚注册,只有200分奉送!!谢谢!!! 哪儿可以提供ExpressNavBar vcl下? 各位高手快来指点一下,是关于动态创建组件的! 自己定义CMP的finder定位器的问题 四舍五入问题 请教牛人,能不能发一段java中有关计时的程序 一个小问题,请大侠指点,立即给分!!! 关于三角函数的问题 一个三百年前已忘得一干二净的问题 打包!!!问题问题。。。在线..... 一个c的问题!! [100分求救]在Canvas或Applet上画的图应该怎样输出为jpg图象呢? 用VC的console application 到底能编多大的程序? 关于程序在初始化时候注册窗口类的问题? 上网很慢 请问从log文件里都能得到哪些信息? 系统设计一般把数据表放一个数据库中还是分到多个数据库中? 树型控件的问题,PB8.03版本,大家遇到过吗? 强烈支持雍亲王倒分!!(江湖无赖) 怎样调用VC写的DLL 同步 兄弟们,我的rh8中怎么没有中文输入法? 在access中如何用函数?我怎么找不到函数库啊。那里有关于access的函数库教程? 请教 我装的DELPHI7.0不知为何在区域设置为“英文”是看到的汉字都成了“????”? <iframe>如何改变大小? 关于水晶报表的问题!(急!!!!)(在线等待~~~~~~~~) 关于vb脚本中运用三角函数的问题 一个三百年前已忘得一干二净的问题 cbc+数据库的问题????????? 能不能控制<input type='fele' ...>的文件类型,如不可输入(readonly全部都不能用了) 在线等待:谁有个最简单的加密算法? 谁有More Effective中文电子书! 请教一段java计时器的问题(送分了) 在ASP中能不能引用.net的框架组件,能的话该怎么做? 占便宜歌 不想周末加班了,帮我啊兄弟们! 小弟是2003年毕业生,想找个软件工程师工作,不知道有什么要求? 一个简单的添加记录语句,求解! 请问通常所说的“横表”“纵表”指什么。 我想在菜单显示之前将其文字都更改掉在哪个函数中写?? 各位高手快来指点一下,是关于动态创建组件的! http://expert.csdn.net/Expert/topic/1180/1180423.xml?temp=.7148706 各位高手快来指点一下,是关于动态创建组件的! http://devserver/mail/abc.nsf?login&Username=abc&Password=12345678 如何得到已有exe文件中的菜单资源,并且添加新的item(UP无分) 在线等待:winxp professional中文版的sn? 进度条的颜色能不能换?老是灰的! 根据平面几何的构股定理,类比出三棱锥中相对应的结论用字母表示,多则 “广”字头下有个“林”,“林”下有个“毛”是什么字?怎么读?新华字典里也查不到 1、初二菱形几何题1、在菱形ABCD中,E、F分别是BC、CD上的点,∠B=∠EAF=60°,∠BAE=18°,求∠CEF的度数. on may 1st we s____ held the world expo in shanghai 根据句意级首字母完成单词 火星上有啥?尽量帮帮 --Do you know___ the men with sunglasses is?---I'm not sure .Maybe a reporter 空内填写what 还是who ABC英文字母哥 吉他谱ABCCDEFG HIJKLMN OPQ RST UVWSYZ…… 吉他谱 谢 留Q 《诺贝尔》“近了!近了!火星已经接近炸药了!”这段话表面上写火星接近炸药,实际上还包含了( ) 大学英语六级怎样估分呀?急听力选择对16个,单词6个,句子算1.5个,快速阅读选择加填空是7+2,阅读填词对1个,篇章阅读对8个,翻译就算2个,完型乱写的,算8个吧,作文觉得还可以. 有一天,字母国的ABC来到地球,请问现在字母国还有几个字母? 用英文怎么翻译? 干路与支路的区别最好有图谢谢 Do you know ( )the man with glasses is? Aeporter,I think为何这里用who不用what?what不是对职业进行提问的吗? 用比喻的修辞手法描写月亮出来时的情景 英语翻译是一本英文小说上的.charles waddell chesnuttTales Of Conjure And The Color Line 10 stories.第二个:Dover Thrift Editions 英语翻译 people were overjoyed at the news that the World Expo would be held in Shanghai in 2010 Hearing the news -------- the World Expo would be held in Shanghai in 2010 ,people were wild with ----------- .After hearing the news --------- the world expo wou 甲基红反应(+)、PV反应(-)、血清学反应的具体解释啊! 电路中,干路为什么叫做干路?那支路呢? The World Expo held in Shanghai this summer____ to many people from the world.A.apple B.attract C.fascinate D.attach 我觉得哪个答案都不对呀,好像时态全都错了吧? 激素对生物的新陈代谢、生长发育等生理活动有很多重要的调节作用.它们在生物李磊的含量激素对生物的新陈代谢、生长发育等生理活动有很多重要的调节作用。它们在生物体内的含量A很 什么是干路,支路 请问这方章刻的是什么字 2010年6级估分 第二次考了~作文一般吧快速阅读对8个听力选择题对21个 单词只写对2个 句子算1个简答题只是2个深度阅读7个完形填空是12个 翻译算2个吧可以有多少啊~希望能具体点~为什么还只 文明与文化的区别和联系是什么? 由月亮展开想象与联想,写一段话,要求运用比喻的修辞手法50字左右. 2010年12月份六级估分.快速阅读对9个听力选择对15个,单词6个,句子有两个写对一大半,一个完全不会,只写了几个单词短文阅读,一个完全不对,其他都是格式错误,是分不给么?传统阅读8个完形12个 文明与文化的区别是什么? 智慧背囊中的好文章 求2010年12月六级估分高手帮忙~~~跪谢下面是我做错题的情况:作文中等偏上(四级作文120)快速阅读 选择没错 填空算2个仔细阅读 错4个听力 选择错4个 填词没错 句子错一个完形填空 文明与文化有什么区别? 我们班刚开学的时候有个男生管我要手机号,我一直不肯给,后来我问他你会给我打电话么?后来我给他了,他也给我打了过来告诉我了手机号.老和他同桌的男的喜欢我.但是他肯定不是管他要的, 关于扩散性百万亚瑟王刷招待的事rule_scene.xml 我怎么找不到这个文件. 作文一般快速阅读5或6个听力选择21个,填词3个,句子都没写全阅读填空3个,仔细阅读7个完型4个翻译算2个吧 第4题的第2个空填什么 谁会扩散性百万亚瑟王刷招待谁会刷可以仔细教我一下么?或者直接帮我刷一下可以么?各位大大帮帮忙啊. 火星表面温度 百万亚瑟王3张相同普卡与2张闪卡如何满破?招待送的,明天星期五,求详细合成顺序 阳光下物体影子的变化是有规律的,为什么 什么是干路 什么是支路 求证,有两个角及其中一个角的角平分线对应相等的两个三角形全等 英语同步道学怎么写啊 英语翻译下面几个词怎么翻译啊,request for change proposalestimate for change proposalaccept of estimatechange proposalchange orderpending agreement change orderapplication for change proposal有点急, 十个字母,在ABC里面选 左边一个言旁,右边上面两口字下面一个亏字读什么 合同制订,英文怎么说?要标准点的词汇 求使用扩散性百万亚瑟王招待码!注册时招待码请填2e77b.能获得一张第二型罗恩的五星卡!是一区! 有关宋明理学的一道历史题粉身碎骨浑不怕 要留清白在人间.这是明代诗人于谦的著名诗句.反映了当时社会的主要思想是A道学 B佛学 C理学 D心学 英文合同术语Replace with new parts that conform to the specifications,quality and performance as stipulated in this contract,and bear all the expenses to rectify or replace the damaged parts.The seller shall,at the same time,guarantee the quali 扩散性百万亚瑟王日服招待码求用6342e8 一起那6星卡吧! 求刷PSV日服扩散性百万亚瑟王(MA)招待码V148f5区分大小写 再注册名字下面那栏填 贸易合同中,下面是关于瓜子油的规格类术语,求大神帮忙翻译,卡这了,谢了FFA (as oleic) – max 0,10%Moisture and impurities: max 0,05%Color (lovibond 5 ¼” cell) max 0,6 red unitsPeroxide value max 2 millimoles / kgIodi 求证:有两个角及其中一角的角平分线对应相等的两个三角形全等.要有图的 求扩散性百万亚瑟王(扩散性MA)国服招待码 2010大学英语六级估分我六级 听力section A 对了7个 ,sectionB 对了7个 ,section C (也就是单词听写)对了7 个 ,句子听写对了一个,其他两个马马虎虎的.快速阅读对了 8 个,仔细阅读对了 13 个,完型填 蝴蝶标本怎么做呀? 英语翻译Jane does not accept this job because she wants to earn money 两种译文:1,简不接受这份工作,因为她想赚钱.2 简不是因为想赚钱才接受这份工作的.答案为译文2, 初二菱形的几何题目一道----------------------------急在线等——————————已知菱形的一条边与它的两条对角线所成的两个角大小的比为3:2,求这个菱形的各个内角的度数 蝴蝶标本是怎样制成的? 英语翻译Some goods we distribute by merit,others by need,still others by chance.”这个句子有人说是因为强调把Some goods放在了前面,正常语序是:We distribute some goods by merit,others by need,still others by chance.”还 2010 大学英语六级估分我刚考了六级 第一次考 很紧张.希望有经验的同学可以给我估下分.算分器的分数都不太一样.不太相信~下面是我的正确的答案的情况:听力:8,3,5.单词4个,句子一个.快
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘