说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在Delphi中利用Tbatch组件完成数据批处理

HTML文档下载 WORD文档下载 PDF文档下载
在Delphi中利用Tbatch组件完成数据批处理

---- 在 数 据 库 应 用 系 统 中, 常 常要 对 数 据 进 行 成 批 的 如 追 加、 删 除、 更 改 等操 作, 这 种 批 量 操 作 在 专 门 的 数 据 库 开 发 工 具 如VFP 中用APPEND 、COPY 命 令带 上 相 应 的 命 令 子 句 就 能 轻 易 完 成。 但 在 其 它 开 发 工具 中 并 没 有 类 似 的命 令, 而 是 提 供 能 完 成 类 似 功 能 的 控 件 或 对 象, 如 在PowerBuilder 中 就 是 利 用 Pipe Line( 数 据 管 道) 来 完 成 两 个 或 同 构 或 不 同 构 的 表之 间 的 数 据 批 处 理。

本 文 要 介 绍 的 是Delphi 中 用 来 完 成 数 据 批 处 理 任 务 的 组件TBatchMove。TBatchMove 组件 能 够:

将 一 个 数 据 集 中 的 数 据 追 加 到 一个 表 中。.

从 一 个 表 中 删 除 满 足 条 件 的 记 录。

按 旧 表 结 构 生 成 一 个 新 表, 若 欲 生成 的 新 表 已 存 在, 则 覆 盖。

---- 具 体 的 操 作 要 通 过 设 置TBatchMove 的Mode 属 性 后 再 调 用Execute 方 法 来 完 成。 为举 例 说 明 问 题, 我 们 在 别 名 数 据 库DBDEMOS 中 先 创 建 两 个dBase 格 式 的 表Test1.dbf

和Test2.dbf。 二 者 的 结 构 如 下 表:

Test1.dbf Test2.dbf

Name C 10 Name C 10

Code C 3 Code C 3

---- 其 中 表Test2.dbf 在 字 段code 上 建立 有 唯 一 索 引。 同 时 假 设 表 单 中 已 有 两 个 TABLE 控 件Tsource 和Tdest 和 一 个TbatchMove 组 件batchmove1。Tsource 和Tdest 的DatabaseName 属 性 均设 为DBDEMOS。batchmove1 的source 属 性 设 为Tsource,destination 属 性 设 为Tdest。

---- 在 使 用TbatchMove 组 件 时, 必 须 牢 记:所 有 的 操 作 都 是 以 源 表 为 标 准 针 对 目的 表 进 行 的, 下 面 就 分 别 举 例 说 明TbatchMove 的 各 种 操 作模 式:

batAppend 追 加 模 式 将 源 表 中 的 数据 追 加 到 目 的 表 中, 目 的 表 必 须 事 先 存在。 这 是 缺 省 模 式。

batchmove1.source=Tsource;

batchmove1.destination=Tdest2 ;

batchmove1.Mode:=batCopy;

batchmove1.Execute;

batUpdate 更 新 模 式 用 源 表 中 匹 配目 的 表 的 记 录 替 换 目 的 表 中 的 相 应 记录。 目 的 表 必 须 事 先 存 在 且 有 一 已 定 义 的 索 引 用 来 匹配 源 表 中 的 记录。

Tdest.IndexFieldNames:='code';

batchmove1.source=Tsource;

batchmove1.destination=Tdest ;

batchmove1.Mode:=batUpdate;

batchmove1.Execute;

batAppendUpdate 追 加 更 新 模 式 如 果 源表 中 有 与 目 的 表 匹 配 的 记 录, 则 替 换目 的 表 记 录, 否 则, 直 接 追 加 到 目 的 表 中。 目 的 表 必须 事 先 存 在 且 有 一已 定 义 的 索 引 用 来 匹 配 源 表 中 的 记 录。

Tdest.IndexFieldNames:='code';

batchmove1.source=Tsource;

batchmove1.destination=Tdest ;

batchmove1.Mode:=batAppendUpdate;

batchmove1.Execute;

batCopy 拷 贝 模 式 按 源 表 结 构 生 成新 表, 源 表 中 的 数 据 同 时 拷 贝 到 目 的新 表 中。 如 果 要 生 成 的 新 表 已 存 在, 则 覆 盖。

// 按Test1.dbf 生 成 新 表xxx.dbf

// 如 果 不 指 定 扩 展 名dbf, 生 成 的 新 表 将 是Paradox 格 式 的xxx.db。

Tdest.TableName:='xxx.dbf';

batchmove1.source=Tsource;

batchmove1.destination=Tdest ;

batchmove1.Mode:=batCopy;

batchmove1.Execute;

batDelete 删 除 模 式 删 除 目 的 表 中与 源 表 匹 配 的 记 录。 目 的 表 必 须 事 先 存在 且 有 一 已 定 义 的 索 引 用 来 匹 配 源 表 中 的 记 录。

Tdest.IndexFieldNames:='code';

batchmove1.source=Tsource;

batchmove1.destination=Tdest ;

batchmove1.Mode:=batDelete;

batchmove1.Execute;

---- TBatchMove 还 有 一 个 重 要 属 性ChangedTableName,在 实 际 运 用 中, 通 过 指 定 ChangedTableName 属 性 可 以 创 建 一 个Paradox 表, 该 表 用 来 保 存 目的 表 中 被 更 改 数 据的 原 始 备 份, 有 了 这 个 备 份 表 就 可 以 确 保 恢 复 目 的 表中 的 数 据。

---- 顺 便 提 一 句,如 果 要 删 除 某 一 个 表 中 的 全 部 记 录, 可 以 采 用Table 组件 的 EmptyTable 方 法, 例 如Tdest.EmptyTable 将 清 空Tdest 所 指 定 的 表test2.dbf。

---- 本 文 中 是 以 同构 的dbf 表 进 行 的 示 例, 在 实 际 运 用 中, 源 表 和 目 的 表可 能同 购, 也 可 能 异 构, 异 构 时,Delphi 的BDE 会 自 动 进 行 类 型和 长 度 上 的 转 换, 具体 类 型 间 的 关 系 可 以 有 关BDE 的 帮 助。 本 文 中 各 种 操 作模 式 的 实 际 结 果 均可 以 从Delphi 的Database Desktop 中 查 看 到。

Hoodie:基于JS与CouchDB的超快速Web开发框架 设计优秀API的五大规则 盘点英特尔IDF2013第一天:技术产品新趋势 英雄组队去打怪!Nimble Quest开发团队访谈 云通讯平台打造本土Twilio 被逼无奈?传微软或明年秋发布iOS和Android版Office 欧洲各国政府将向大众开放公共数据 访联想云存储罗予晋:优化MooseFS,共建生态系统 磊友创始人赵霏:关于HTML5与Flash争执之我见 国际混乱C语言代码大赛优胜作品详解之“A clock in one line” 揭秘程序员大脑编程的七大“误区” 从Java到ObjC语言的桥梁:谷歌J2ObjC 0.7版本亮相 数据库管理系统ParElastic:打破常规 扩展云端MySQL 谷歌苹果专利纠纷意在战略无意和解 美法官为其苦恼 Facebook收购神秘移动软件创业公司Osmeta 修改驱动,使用Erlang+VoltDB实现每秒87.7万事务 横评美国IaaS“8匹狼”:AWS、GCE、Azure、Rackspace、SoftLayer、Dell、HP、Joyent 独立游戏精神释放的舞台:IGF China 2013作品火热征集中 三款热门入门级在线编程教程对比 微软modern.IE:网站兼容性测试利器 Localytics:AngularJS代替Backbone 代码减少一半 史上增长最快的SaaS服务Optimizely:13亿访客,10万次测试 IDF上的云计算故事 移动周报:百万年薪、微信疑云,老罗小马本周很忙 一个创业失败者的自述:我是如何搞砸一款产品 收入百万美元:一个放弃上大学的程序员 Cocos2D配Box2D:逆天小白程序员作iOS游戏 招聘移动开发,老板必问的10个问题 黑客用智能手机劫持和控制民航飞机 几小时即可使互联网瘫痪的黑客 现已加入谷歌 Tsar开源:淘宝内部大量使用的系统监控工具 如何在多文档程序里手工新建一个文档 帮帮我,各位大虾 请问,PB有没有类似DELPHI中的对表进行操作的控件 60分求救,对你们也许很简单,硬盘分区的问题: 关于waveInClose的问题? =====[高分求答:如何调用金山词霸的字体“Kingsoft Phonetic Plain”]==== 好奇:微软自己用什么? Socket连接问题 [调查]大家都用什么做安装程序啊? 如何在java脚本中创建一个文本文件到本地机?如何执行一个本地的exe文件? 如何从新定义一个事件 问大家一个学习方向得问题(.net、java) 各位父老乡亲,兄弟们呀~~,偶好想你们呀`~~ .NET及SQL中图片的处理问题,请教! 不能在启动的时候有机器在新建文档的时候由机器自动生成一段文字 问大家一个发展方向的问题(.net、java) 《Inside COM》转卖 想知道怎么将StringGrid或者DBGrid中的数据导到Excel中呀?那位朋友有相关程序代码?100小分送上,不成敬意! 怎样再一个对象内部事件中得到该对象的属性 ? frame 问题,怎样重定位到本frame? 如何使用rs选取从现在开始倒数10条记录的内容? 在vbscript里能用rs("XXX")吗? 哪里有電子書下載?? 谁能搞到(或看到)一个rtf文件的内部格式,最好是一个带有文本框的rtf文件的内部格式。 代理服务器主要需要那些技术????? 请问main()起什么作用? 关于waveInClose的问题? 如何使用ADO存储XML文件? 如何在asp中创建一个文本文件到本地机?如何执行一个本地的exe文件? 高分求解决方案!请各位高手帮我看看! 请教关于 ie 某些document接口的问题。。。高手请进。。。 c和c++的struct有什么区别吗? 怎样给组件加上图标? vc++中如何访问ORACLE数据库? socket连接问题 关于windows xp下的jdk编程的问题!(高分求助!!) adotable 问题 用ado打开数据库的的速度问题!奇快!没有连接时间???来者有分!全天在线等 Flash控件大小问题? 关于css的一些怪现象??? 两个组件同时使用DATABIND方法时为什么只有一个组件能显示数据? 在数据库中有一word的文件,用blob存取,现在我想把其中的内容转换为txt。帮我!!!! Borland Enterprise Server 5.0的用户名和密码到底是多少??? 因女朋友在东莞虎门,想在虎门找份工作,不知有谁能帮忙?请看简历。 文件--打开--另存为...... 的问题?? 怎样通过知道控件的名字获得这个控件? 紧急 文件--打开--另存为...... 的问题?? 混杂模式为什么不能够应用到交换网络中? ----阿菜 调查版主,请不要删 PB中使用OLE时,碰到的数组问题,请大家不吝赐教!!! 若|a-2|+|b-3|+|c -1|=0.求a+2b+3c 的值 怎么判断氧化还原反应某个物质可以氧化他 另一个物质氧化性还强 也可以氧化他 鉴别so4,co3,oh,cl离子取一次液,要有理由,谢谢~ 若|a--2|+|b--3|+|c--1|=0,求a+2b+3c的值 可用于测量或量取一定的液体的计量仪器是( ),在量取液体时还必须同时使用到的一种仪器是( ) 除去盐酸中混有的少量硫酸,可用氯化钡或硝酸钡吗? |a-2|+|b-3|+|c-1|=0,求a+2b+3c的值. 求具体过程. 质数的平方有几个因数.A.2B.3C.4D.无数个A.2 B.3 C.4 D.无数个 元素和原子团的化合价怎么算? 为什么FeCl2中Fe的化合价是+2 NH4Cl中Cl的化合价是-1 元素化合价的那些元素字母有没有简单的方法记忆 中国的海上邻国,陆上邻国有哪些?多写几个很急啊~~~~~~·· 若反应物中铁离子的化合价是+2价,则生成物中铁离子的化合价是+2价还是+3价 计算(a+2b-3c+4d)(a-2b-3c-4d) 高温煅烧CaCO3生成什么CaCO3=(高温)CaO+CO2 这时的 CaO时固体还是液体 科技发展是把双刃剑,既可以造福人类,有可能对人类造成伤害.请举出一个了历史的事件并加以说明 如何去判断"氧化还原反应"? 陆地和海上邻国数量最多的国家是哪个 纯碳酸钙,碳酸钠粉末和稀盐酸或稀硫酸制取二氧化碳反应方程式~ 化学氧化还原反应中电子转移判断在方程式配平前或配平后,电子转移数目怎么判断?是升高或降低的化合价乘以前边元素的系数呢还是后边中的系数,还是? 我国周边国家共有20个,其中海上邻国6个,陆地邻国有14个,对吗? 污水会对人类造成怎样的伤害 怎么判断化学反应是氧化还原反应?为什么MnO2+4HCL==MnCl2+Cl2↑+2H2O是氧化还原反应?而2Na+2H2O==2NaOH+H2↑就不是呢?那个是靠什么来判断的?还有,2Na+2H2O==2NaOH+H2↑不是置换反应吗?不是所有的置换反应 为什么不宜要高温煅烧碳酸钙? 动物表演对动物有什么坏处 化学的化合价的背诵方法化合价最简单的背诵方法 化合价是需记忆还是求出 动物数量过多带来的危害有没有这样的事例急回复一楼:我指的是曾经有过的,包括国外的任何的因为物种过多而造成危害的事.回复二楼:我已经找到了回复三楼:我需要更详细的例子,回复 谁有化合价的记忆方法感觉化合价好难记 碳酸钙高温分解成两种氧化物,其中一种可以使澄清的石灰水变浑浊.(写出一个化学方程式) 什么实验可以证明过氧化钠与二氧化碳反应有氧气生成 原子团中各元素的化合价代数和不等于0, 硫酸根的检验可以吧氯化钡改为硝酸钡吗 三氯化铁中铁元素的化合价为+3价,怎么写 人类对大自然的危害 在做加热高锰酸钾制取氧气得实验中、为什么要用双手紧握试管? 过氧化钠与气体反应生成氧气为什么是气体一半无论与二氧化碳还是水蒸气还是二者混合气体反应生成氧气都是反应气体体积的一半why 人类对大自然的危害有哪些? 碳酸钙高温分解为什么是将化学能转变为了热能呢?这个反应是吸热,那不应该是将热能转变为了化学能么 100个电流等于多少千瓦 化合价记忆表. 为何用氯化钡检验硫酸根离子,硝酸钡和氢氧化钡不能吗?同上 4000千瓦公率等于380电流的多少安时 背诵元素表和化合价的简单方法不是说有一首诗吗?我们老师没讲 ,但是听说蛮好记得~ 有没有什么仪器可以测出液体中某种离子的浓度就是用一种仪器测出一种液体中含有什么元素和他的浓度,那种液体的元素中主要含什么元素已知; 三相电每千瓦多少个电流 原子团所显示的化合价是原子团中什么的代数和 化学取用一定量的液体药品要用什么仪器?操作要点三点一线是什么 三相电1千瓦多少电流 为什么原子团的化合价=原子团中各原子的化合价的代数和? 具有溶解液体、配制溶液、加热较多量液体试剂三种用途的化学仪器是什么?是烧杯还是试管?为什么?试管不行吗/? 氯酸钾制取氧气时可以用高锰酸钾代替二氧化锰么 人类给地球带来的危害有多大 下列原子团中含+5价元素的是__ A CO3 B SO4 C OH D NO3下列原子团中含+5价元素的是__ 某学生称取12.25g氯酸钾制取氧气,由于没有找到二氧化锰,他用少量的高锰酸钾代替二氧化锰,待反应完毕后,一共制得4.96g氧气,问该同学加入了多少g高锰酸钾? 怎样记忆化合价? 一种化合物中有原子团时怎么读?比如:K(OH)、Na(OH)、Mg(OH)、H2(CO3)、H2(SO4)等等~ 某同学用氯酸钾制取氧气时不小心把高锰酸钾当成二氧化锰与氯酸钾混合,那氯酸钾产生的质量和加二氧化锰时的质量相等吗? 判断氧化还原反应的条件是什么? 探究液体质量与体积的关系需要哪些实验器材
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘