用Delphi进行数据库之间转换

       在实际应用中,可能会遇到将一种数据库转为另一种数据库的情况,而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.StringGrid1控件:
Datasorce Datasorce1
Name StringGridl
StringGridl网格控件先定义源文件,执行转换后再定义目标文件,主要用于方便查看。
7.Button1控件:
OnClck ButtonClck
OndragDrop
Ondragover
OnEnddrag
该控件有一个OnClick事件,表示执行文件类型转换。其代码如下:

procedure TForm1.Button1Click(Sender:TObject);
begin
BatchMove1.execute;
end;


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