Database 版 (精华区)

发信人: wodeji (西西), 信区: Database
标  题: [转载] 用Delphi进行数据库之间转换  
发信站: 紫 丁 香 (Thu Oct  1 10:30:05 1998), 站内信件

【 以下文字转载自 Software 讨论区 】
【 原文由 checcy 所发表 】
       用Delphi进行数据库之间转换  

                                                                                         
中国船舶工业物资中南公司(430030) 邓汉清 

                   
在实际应用中,可能会遇到将一种数据库转为另一种数据库的情况,而Delphi可以完成这
种功能。尤其是需要将以前的dbase数据库结构及内容转换成其它数据库结构时,采用此方法
简单、快速且安全。 

                   
Delphi是一种Windows应用程序开发软件。它速度快,具有强大且容易使用的可视化开发
环境,并采用了具有弹性和可重用的完整的面向对象程序语言。 

                   
由于以上的这些特点,Delphi可以让我们快速地建立起主从结构的应用程序,可产生单一
可执行文件与动态链接库以及从单机、网络到主从结构的应用程序。 

                   
使用Delhpi可以方便而快速地建立强大的数据库应用程序,可以和Paradox、dbase、Lo
cal InterBase
Server、Foxpro及ODBC数据源等多种桌面型数据库直接配合使用。 

                                                                                      
数据库转换方法 

                    1.所使用的控件 



                    2.TBatchMove控件的使用 

                   
TBatchMove允许在一组记录或是整个数据表中执行特种作业,这个控件的主要用途在于
把数据从服务器中卸到本地的数据源供分析或进行其他操作。TBatchMove可以在目的地建立
对应于原数据表内容的数据表,自动将列名及数据类型进行适当的对应操作。

                    TBatchMove两个特性指明批量移动(Batch
Move)操作的源表及目的表。Source指定一个
对应于已有的源数据表的数据集(一个Tquery或Ttable控件),Destination指明对应于一个数
据库数据表的Ttable控件,目的数据表可以是已经存在的也可以是不存在的。

                    Mode特性指明TBatchMove对象所要做的事情: 



                   
我们可以根据batCopy模式,对数据库类型进行适当的转换,以下是从dBASE类型到其它类
型之间的转换结果: 



                                                                                      
数据库转换举例 

                   
现有用Foxbase开发的财务程序中的会计科目数据库(kjkmk.dbf),系统将升级到Window
s环境下开发,数据库将采用Paradox语言。为了沿用该库结构和数据,可采用如下方法进行转
换。 

                    1.Datasource1控件: 

                    AutoEdit True 

                    DataSet Table1 

                    Enabled True 

                    Name DataSorce1 

                    2.Table1控件: 

                    DatabaseName cw 

                    Name Table1 

                    Readonly False 

                    TableName KJKMK 

                    TableType udBase 

                   
Datasource1控件和Table1控件共同定义被转换的源文件,该文件是在别名为cw里的kjk
mk,文件类型为Dbase。 

                    3.BatchMove1控件: 

                    Destination Table2 

                    Mode balCopy 

                    Name BatchMove1 

                    Sorce Table1 

                   
MatchMovel控件定义转换类型为Copy以及源文件、目标文件。 

                    4.Datasource2控件: 

                    AutoEdit True 

                    DataSet Table2 

                    Enabled True 

                    Name DataSorce2 

                    .Table2控件: 

                    DatabaseName cwdb 

                    Name Table2 

                    Readonly False 

                    TableName KJKMK 

                    TableType uParadox 

                   
Datasource2控件和Table2控件共同定义转换后的目标文件,该文件是在别名为cwdb里的
kjkmk,文件类型为Paradox。 

                    6.DbGrid1控件: 

                    Datasorce Datasorce1 

                    Name DbGridl 

                   
DbGridl网格控件先定义源文件,执行转换后再定义目标文件,主要用于方便查看。

                    7.Button1控件: 

                    OnClck ButtonClck 

                    OndragDrop 

                    Ondragover 

                    OnEnddrag 

                   
该控件有一个OnClick事件,表示执行文件类型转换。其代码如下: 

                    procedure TForm1.Button1Click(Sender:TObject); 

                    begin 

                    BatchMove1.execute; 

                    end; 

                   
经上述方法定义,编译执行后,即可将kjkmk.dbf文件转换成kjkmk.db文件,然后就可以用
Database Desktop工具对其进行修改调整。 

                    用此方法还可进行其它任意文件的转换。

--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: NoSpamPlease@Somewhe]
--
※ 转载:.紫 丁 香 bbs.hit.edu.cn.[FROM: cadcam.hit.edu.c]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.137毫秒