[C++Builder/Delphi初学者指南] 用C++Builder、Delphi转换数据表

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

[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下完成)

C++Builder 6实战精解:经典RAD工具在现代开发中的价值与应用 快速应用程序开发(RAD)是一种通过可视化设计和组件复用提升开发效率的编程范式,其核心原理在于将界面元素封装为可拖拽的控件,并通过事件驱动模型响应用户交互。这种技术价值在于能大幅缩短GUI应用的开发周期,降低界面编码的复杂度。在桌面工具、数据采集和工业控制等对执行效率和Windows原生集成度要求较高的应用场景中,RAD工具依然具有独特优势。C++Builder 6作为经典的RAD环境,其VCL框架和可视化设计器深刻体现了这一理念。通过剖析其数据感知控件和消息机制,开发者不仅能维护遗留系统,更能理解模块化设 阅读详情

相关推荐

C++BuilderDelphi界面主题包使用教程

本文还有配套的精品资源,点击获取 简介:C++BuilderDelphi是Embarcadero Technologies开发的RAD工具,用于快速构建Windows桌面应用。它们基于Object Pascal语言和VCL框架,提供了丰富的UI组件。本文介绍如何使用主题包,如suipackpro,来提升应用的视觉吸引力和用户体验。主题包包含多种颜色方案和图标集,通过简单的...

weixin_42174098的博客 1345

C++转换Delphi对照表

C++转换Delphi对照表,C++ 转化Dephi基本变量对应表。

DelphiC++Builder设计时接口开发核心技术解析

Delphi 设计时架构的核心单元之一,封装了与设计器交互所需的关键接口。自定义组件编辑器的核心在于扩展设计时交互能力,其中最直观的表现形式就是右键上下文菜单的增强。通过继承并重写其虚方法,开发者可以轻松为组件添加专属命令项。提供了三个关键方法用于菜单构建:: 返回菜单项总数: 返回第Index个菜单项的显示文本: 用户点击菜单项时执行的动作以下是一个完整示例,展示如何为TForm添加“生成事件骨架”和“清理未使用单元”的快捷命令:typepublic。

weixin_42113456的博客 749

Delphi曾是一代王者,2020年Delphi强化WEB开发、拥抱开源、支持开发者社区,升级Delphi语言整合Python恢复昔日的跨平台开发工具王者地位

DelphiC++ Builder)一直致力于快速的应用程序开发环境已有25年以上的历史,并且仍在继续增长。如果您知道如何使用DelphiDelphi会帮助您迅速并且能够创建任何应用程序APP及WEB网站应用! 当前,使用Delphi,您可以为许多操作系统创建应用程序: 微软Windows 安卓系统 苹果系统 Linux iOS 而且,更棒的是Delphi能够创建后端服web应用程序。 windwos linux android IOS WEB 数据库 ...

Delphi开发局QQ群:32422310 2万+

如何在C++Builder中使用Delphi控件

使C++Builder使用DelphiVCL类库的方法基于Windows中较通用的DLL方式。在实际应用中找到了将 VCL控件转化为DLL库,在C++Builder动态调用DLL。此法适用于非可视VCL控件。 假令在Delphi中有一Sample控件,有属性Actived、Pro1、Pro2,欲将这个控件转到C++Builder中使用。 一、Delphi中DLL的制作 在Delph

hemeinvyiqiluoben的专栏 1763

delphi c++builder JSON 生成与解析 例子

json,System.JSON,REST.JSON JSON有两种数据结构,对象和数组。 对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,...} 数组在js中是中括号“[]”括起来的内容,数据结构为 ["java","javascript","vb",...] {"NAME":"DVAD","SEX":"MAN"

weixin_34248023的博客 1478

kbmMW4.93与kbmMemTable7.74资源包介绍:DelphiC++ Builder的数据库利器

kbmMW4.93与kbmMemTable7.74资源包介绍:DelphiC++ Builder的数据库利器 去发现同类优质开源项目:https://gitcode.com/ 在众多数据库连接与处理工具中,kbmMW 4.93与kbmMemTable 7.74资源包以其出色的性能和便捷性,成为DelphiC++ Builder开发者的首选。以下是这款资源包的核心功能与适用场景。 项目介绍 kb...

gitblog_06736的博客 438

Delphi XE程序设计系列 2-开发DataSnap/REST服务器

<br /><br /><br />    在上次的文章中讨论了如何把传统的Delphi 主从架构应用程序逐渐转换为DataSnap JSON服务器,在本篇文章中让我们正式讨论如何使用Delphi XE开发DataSnap/REST服务器,由于这其中牵涉到非常多的技术,因此我们将花数篇的篇幅来讨论。现在就让我们从DataSnap/REST服务器开始。<br /><br />开发DataSnap服务器<br /><br />    Delphi XE版的DataSnap允许开发人员同时在DataSnap服务器

编程资料收集与共享交流 3835

开发DataSnap服务器

 在上次的文章中讨论了如何把传统的Delphi 主从架构应用程序逐渐转换为DataSnap JSON服务器,在本篇文章中让我们正式讨论如何使用Delphi XE开发DataSnap/REST服务器,由于这其中牵涉到非常多的技术,因此我们将花数篇的篇幅来讨论。现在就让我们从DataSnap/REST服务器开始。 开发DataSnap服务器     Delphi XE版的DataSn

itkeyuan的专栏 2656

开发DataSnapserver

 在上次的文章中讨论了怎样把传统的Delphi 主从架构应用程序逐渐转换为DataSnap JSONserver。在本篇文章中让我们正式讨论怎样使用Delphi XE开发DataSnap/RESTserver。因为这当中牵涉到许多的技术,因此我们将花数篇的篇幅来讨论。如今就让我们从DataSnap/RESTserver開始。 开发DataSnapserver De...

weixin_30845171的博客 247

Delphi组件和C++ Builder共用

2、打开相应版本的Delphi版目录,发现有两个VirtualTreesD和VirtualTreesR两个Delphi安装包,从我们无比幸福的Delphi用户那里,我们可以窃听到一个重要的信息:以R结尾的一般是运行时包,以D结尾的一般是设计期包。同样的经验适用于其它绝大多数Delphi控件,比如Graphics32,但注意你可能需要对最终生成的HPP文件做一些改动,以避免与C++里自带的内容冲突,这个遇到一处改掉一处,就不再缀述了。如果你只装了CB或只装了Delphi,你就重装吧。

ljklxlj的专栏 658

Java;C#/C++Delphi/C++Builder之区别与联系

由于DelphiC++Builder同为Inprise公司产品,共享集成开发界面(IDE),而且 使用同一套VCL框架(这一点最关键),它们带的调试器、PVCS/TeamSource团队开发支持 、数据库引擎及企业版中集成的其它高级功能等都是相同的,所以本文将其与C++Build er归入"同一阵线"。我在网上见到一些Delphi程序员认为C++Builder与VC比较接近, 这是个误解

挨踢生涯 3809

DelphiC++Builder代码共享的实现

原文地址:  http://blog.chinaunix.net/uid-16175364-id-2752232.html DelphiC++Builder代码共享的实现 2006-10-30 13:58:49 分类: C/C++ 一.引言    在当今计算机世界中,各种编程语言琳琅满目,从Basic、Pascal到C++、Java再到汇编语言,应有

倦鸟归时 3936

C++Builder中使用Pas文件

C++builder中使用pas文件,时在vcl项目中可以直接 文件->包含单元头文件,但在console项目中则不行,需先新建一个windows项目并在其中生成hpp文件,然后再在console项目中添加。

diligentcat的专栏 2194

Visual C++Delphi/C++Builder之比较(二)

  再从它们的易用性比较。VC有ClassWizard、SourceBrowser等一系列工具,还附带Visual SourceSafe、Visual Modeler等强大的工具,易用性非常好。(VC自带建模工具Visual Modeler,也许说明了它才是工程级的开发平台,与C++Builder的定位不同。)它所带的MSDN这部“开发者的百科全书”更是让你“没有找不到的,只有想不到的”。而且它的

cbacba的专栏 1273

Delphic++builder操作Ole的区别

使用TOleContainer加载个word文档,隐藏缺省的会显示菜单栏和工具栏 1、c++builder方法 void __fastcall TForm1::Button2Click(TObject *Sender) {     OleContainer1->DestroyObject();     OleContainer1->CreateObject("Word.Docum

lcfeng1982的专栏 2639

AC2005B单声道蓝牙芯片原理图

杰理AC2005B单声道蓝牙芯片原理图

上一篇: Borland C++ Mobile Edition为手机开发保驾护航!
下一篇: [UDF系列]如何编写InterBase UDF 之一
warton
博客等级 码龄25年 61粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值