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

利用Tbatch组件完成数据批处理-Delphi资料

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

在 数 据 库 应 用 系 统 中, 常 常 要 对 数 据 进 行 成 批 的 如 追 加、 删 除、 更 改 等操 作, 这 种 批 量 操 作 在 专 门 的 数 据 库 开 发 工 具 如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 中 查 看 到。

VB怎样接收电子邮件(POP3协议简介) VB怎样用VB得知系统当前是否处于internet链结状态 VB制作自己的网络搜索软件 自动更新工作站的应用程序-VB资料 自己的IE——用VB制作浏览器 VB6制作Win98风格的工具栏 VB实现窗口的弹出式菜单 用VB做个漂亮的进度条 Cool 3D 浮動按鈕的模擬作法-VB资料 VB 5.0中实现鼠标拖放 VB5.0下工具条的制作 VB5.0中基于桌面的屏幕技巧 VB5.0中实现字体闪烁效果 VB5实现窗口图像缩放、滚动技巧 VB6.0动态加载ActiveX控件漫谈 VB编程步步高-表单篇 VB编程常见问题 VB编程中如何锁定鼠标 VB创建位图菜单 VB实现按钮浮动效果 VB应用程序中的工具提示和状态显示 VB中处理长列表框项的两种方法 VB中多级下拉列表的实现 VB中防止将重复项目添加到列表框控件中 VB中实现菜单分割 VB中实现带预览的对话框 VB中实现同一窗口的多个实例及控件的动态增减 VB中阴影字体的实现 VB自定义数据结构的传输转换 Visual Basic 窗体背景花纹的实现 Visual Basic 中的界面设计原则和编程技巧 想问一个问题 比我穷的人来拿分 唉~~~女朋友病了......送分求祝福 小问题: 程序运行后, 运行窗口在执行完程序后会自动关闭, 如何不让它自动关闭? 中太数据 VS Sun公司?该选哪个? 为何获取不了url中的Id值? orale 经典书籍征集!!! ASP , FTP 问题~~~~~~~~100分,不够可以加分,高手请进 PHP怎么设置SOCKET超时参数 大家加强点交流好吗?多沟通一点 初学者,串行化问题,谢谢帮忙 今天定下了我的人生目标 谁买了《游戏的设计与开发》这本书? redhat8.0+weblogic7.0(sp1) JSP配置问题 一个简单的问题 这就是我们的smoke小姐(恩不对不能确定性别)的“淑女”作风。。。嘿嘿 学习J2EE,谁能提供一套学习方案及相关书籍和资源 ASP高手来看看啊!!十万火急啊!!!!!!! IPCP数据疑问 Visual Basic宣告死亡了吗? 谁能帮小弟,解释ShellExecute参数的意思?? 怎样传送若干条信息?期待ing... 浮点数运算 内核编译后无法启动!!!!!急急急 我的数据表怎么会经常丢?? 谁能解决这个问题我叫他老大 传统C与ANSI C有何区别 新手提问!!! 组合框的问题 请推荐一些COM入门的书籍。 都来凑热闹来吧!谢! 50分求,有哪位做过ISDN(i4l),进来留个名字,急事!!! 局域网问题,不知简单或复杂,解决了100分相送! 有没有可以动态改变控件与控件之间宽度的控件 仙劍3 破落解文件下載,快下。快刪了。 保存bmp文件的时候,如何让保存对话框默认为.bmp?? 做程序员后最经常给自己找的借口、、、 如何向注册表写入REG_DWORD类型的值,谢谢指点! 怎样链接数据库?再就是运用b/s结构完美结合 我實在不知道怎麼改了,請各位大蝦幫幫忙! interbase数据库返回的错误信息的代码是什么?具体的含义是什么? <script language=javascript src="hp/count/counter.asp?referer="+escape(document.referrer)></script>有何不对? 工具条的运动问题 在等 各位前辈来指点小弟一次吧,小弟明天面试jsp程序员 Visual Basic宣告死亡了吗? JS 菜单如何才能位于 select 表单之上? ★★★★★给个意见★★★★★ 高手指导:编xml用什么工具最好?郁闷中1····· 如何实现在线播放多个文件?即如何处理在线播放列表??在线等..... 请问如何在状态栏中显示图片? unicode和utf8的文件格式、区别等学习资料?! We headed our separate 同上 1.湖中有一条小船,岸边的人用缆绳跨过 一个定滑轮拉船靠岸,若绳子被以恒定的速度v拉动,绳子与水平方向的成角是α,船是否做匀加速直线运动?小船前进瞬时速度多大?2.某人在高层楼房的阳 1.机械手表中的分针与秒针可视为匀速转动,分针与秒针从重合至第二次重合,中间经历的时间为?2.A.B两个质点分别作匀速圆周运动,经过相同的时间,他们通过的弧长之比为SA:SB=4:3,半径转过的角 if we really separate next semester but our heart can't separate什么意思 Excuse me sir?I can`s find my heart 郭敬明里的这句话怎样理解?曾经有一个笑容出现在我的生命里可是最后还是如雾般消散 而那个笑容 就成为我心中深深埋藏的一条湍急河流 无法泅渡 那河流的声音 就成为我每日每夜绝望的 郭敬明经典语句 躲在某一时间,想念一段时光的掌纹;躲在某一地点,想念一个站在来路 现在的手机什么系统才好用呢..还有华为品牌好用吗.华为Honor.荣耀 华为U8860(荣耀 Honor)手机怎么样 华为U8860 Honor(荣耀)怎么样 华为荣耀honor可以扩展吗? “IT男”非法贩卖300多万条“客户解放军学员体验德国军校:74岁军官坚最高法通报首批失信被执行人 3万余老最高法:公布失信名单威慑效果明显 自学校开“学生使用手机”听证会 家长请上海市一小学因作业量太大遭教育部通报大学生零成本创业 半天卖千根糖葫芦收发改委:在未得资金支持时已积极应对气黑莓放弃出售计划 撤换首席执行长海因发改委:雾霾天气几乎常态化 通过5-部分高校将学位证挂钩英语四级 教育部20位韩国政界及宗教界元老要求朴槿惠美成天然气净出口国 能源业欲扩大全球支付宝回应上线低俗照片:第一时间识别联手骑友网 千岛湖以体育赛事促进旅游大气质量急剧下降 太原水泥铸造等全部男子约会女网友嫌其丑 发裸照敲诈对方全国首届地产材料采购o2o模式论坛在今日榕气温低至9℃ 夜起再迎新一轮降两岸定光文化旅游节首次在台湾举办美媒:为什么中国自认为能建立一个乌托丰城发电厂施工方提出遇难者赔偿方案
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘