软件工程

本类阅读TOP10

·PHP4 + MYSQL + APACHE 在 WIN 系统下的安装、配置
·Linux 入门常用命令(1)
·Linux 入门常用命令(2)
·使用 DCPROMO/FORCEREMOVAL 命令强制将 Active Directory 域控制器降级
·DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
·基于ICE方式SIP信令穿透Symmetric NAT技术研究
·Windows 2003网络负载均衡的实现
·一网打尽Win十四种系统故障解决方法
·数百种 Windows 软件的免费替代品列表
·收藏---行百里半九十

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
[C++Builder/Delphi初学者指南] 用C++Builder、Delphi转换数据表

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

[C++Builder/Delphi初学者指南] 三分秒完成数据表的转换

西安 warton

   笔者在先前写程序时,经常遇到数据库的转换问题,一般的方法是用SQL语句将数据从表中取出,再insert到另一个表。这个方法比较通用,在任何编程语言中都可以使用。但这样比较麻烦,需要编程者有一定的经验。

       笔者在使用C++BuilderDelphi之后,发现它们提供的BatchMove控件就能完成数据表的转换。而且操作相当方便,在数分钟之内就能完成!

下面,我来做一个实验:将BCDEMOS(Paradox库,CB,Delphi自带)中的Customer.db转换为test.Mdb(MicroSoft ACCESS)中的test()

1.    建立一个新工程,选择New-àApplication;

2.    添加控件:Table1,Tabel2,DataSource1, DataSource2,DBGrid1, DBGrid2,BatchMove1,Button1,Button2

3.    建立一个MDB文件,打开该文件,建立一个新表,字段只写一个Custno,类型为数字(这里使用的是ACESSMDB文件数据库,字段不用和paradox表一致,只要第一个字段相同就行,或者只要有一个空表就行),并为该文件配置ODBC。笔者这里是D:\test.mdb(笔者的odbc dsn设置为access,数据库为:D:\test.mdb,如下图:)

4.    C++Builder/DelphiSQL Explorernew 一个数据库别名:ACCESS,并选择其odbc dsn为刚才设置的ODBC数据源。

5.    分别为各控件设置属性(只需在控件上设置即可,不用在代码中写了)

Table1

Table1: TTable

Active = True

DatabaseName = 'BCDEMOS'

TableName = 'customer.db'

Table2

Table2: TTable

DatabaseName = 'ACCESS'

TableName = 'test'

TableType = tDefault

DataSource1

DataSource1: TDataSource

DataSet = Table1

DataSource2

DataSource2: TDataSource

DataSet = Table2

BatchMove1

BatchMove1: TBatchMove

Destination = Table2

Mode = batCopy //很重要,表明是复制模式

Source = Table1

DBGrid2

DBGrid2: TDBGrid

DataSource = DataSource1

DBGrid1

DBGrid1: TDBGrid

DataSource = DataSource2

Button1

Button1: TButton

Caption = '转换'

Button2

Button2: TButton

Caption = '刷新'

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6.为Button1Button2添加事件:

void __fastcall TForm1::Button1Click(TObject *Sender)

{

     BatchMove1->Execute();//执行转换

}

void __fastcall TForm1::Button2Click(TObject *Sender)

{

    Table2->Open();    //打开表,可以在DBGrid2中看到转换的结果

}

最后,编程并运行程序,点击Button1等程序执行完毕后,点击Button2,你会发现Paradox库中的Customer.db中的数据全都导入到了ACCESS test.mdbtest表中了。

       使用这种方法操作相当简单,只需要简单地设置几个相关的性就OK了,有兴趣的朋友不妨试试。(本测试程序在windows XP Home Edition ,C++Builder 6下完成)




相关文章

相关软件