转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
数据补丁         ★★★★

数据补丁

作者:闵涛 文章来源:闵涛的学习笔记 点击数:856 更新时间:2009/4/23 18:30:47

    当公司要定期给客户发送数据时,而且数据库很大,但每次更改量很小,这样就不毕发送
整个数据库,只要发送一个数据补丁,在客户端对数据补丁操作一下即可更新整个数据库。
下面对单个表操作
===================================================================================
 (公司端:源表src:旧数据库,目标表dst:新数据库)  ===> 数据补丁
 (公司端:源表src:旧数据库)                      <=== 数据补丁

方法:

(A)在公司端, 比较源表src和目标表dst:
  (1)源表src中记录在目标表dst不存在的记录加入删除标记写入查询
     DeleteSQL=''''select 2 as AowStatA,dst.* from dst right join src on (dst.所有字段=src.所有字段) where src.第一个字段 is null'''';
  (2)目标表src中记录在源表dst不存在的记录加入新增标记写入查询
     InsertSQL=''''select 4 as AowStatA,src.* from src left  join dst on (src.所有字段=dst.所有字段) where dst.第一个字段 is null'''';
  (3)对上面两个查询结果用 provider.GetRecords 分别得到 一个 OleVariant ,转换为 string 写入XML文件:
       分别删除<FIELD attrname="AowStatA" fieldtype="r8"/> 接点,然后合并两XML文件,再把“AowStatA”该为“RowState”.
       得到一个数据补丁(XML文件).
  (4)数据补丁(XML文件)中一行 <PARAMS ... /> 该为 <PARAMS DATASET_DELTA="1" MD_SEMANTICS="3"/>
 
(B)在客户端,收到数据补丁(XML文件)后对源表src进行以下操作:
  (1)数据补丁(XML文件)作为 string 读出,并转换为 OleVariant .
  (2)源表src对应的 Provider 执行 applyUpdates() 方法.

(C) 注意: :
    (1) 如表结构改变了,在客户端先按新结构创建一个新表,
        并对已存在字段源表src中的数据全部导入新表,再进行 (B) 操作
    (2) Paradox库 的 SQL 例:
       select "zzj.db".*,"tmp.db".* from zzj.db inner join tmp.db    //表名用双引号
       on "zzj.db".keyf="tmp.db".keyf where 1=2                      // 不能用 where false


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台