用Delphi进行数据库之间转换

用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工具对其进行修改调整。

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