| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 628 人关注过本帖, 1 人收藏
标题:编程检查数据的修改情况
只看楼主 加入收藏
施南人
Rank: 2
等 级:论坛游民
帖 子:40
专家分:27
注 册:2013-5-19
结帖率:87.5%
收藏(1)
已结贴  问题点数:20 回复次数:7 
编程检查数据的修改情况
有两个信息数据表(xxb1.dbf,xxb2.dbf),其中第二张表是在第一张表的基础上修改得来的,两表的结构完全一样。现在想通过编程方法检查出修改了哪条记录的哪些字段信息,也就是想得到修改数据表(xg.dbf)。由于字段多,记录也很多,基本是上万条,所以每个字段来检查的话太费功夫了,请老师们指教。
示例数据.rar (6.48 KB)
搜索更多相关主题的帖子: 数据表 
2013-05-21 14:34
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
sele xxb1.xh xh1,xxb2.xh xh2,xxb1.sfzh sfzh1,xxb2.sfzh sfzh2 from xxb1 left join xxb2 on xxb1.xh=xxb2.xh where !allt(xxb2.sfzh)==allt(xxb1.sfzh)

以sfzh为例
2013-05-21 14:50
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2013-05-21 14:52
施南人
Rank: 2
等 级:论坛游民
帖 子:40
专家分:27
注 册:2013-5-19
收藏
得分:0 
谢谢tlliqi版主,一个字段一个字段的检查是可以的,字段多了,很费时的,而且记录超过10000条的话,机器运行就很慢了。我想能不能一次性检查出来。
2013-05-21 15:35
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11795
专家分:43421
注 册:2006-5-13
收藏
得分:0 
可能没有其他捷径。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2013-05-21 15:37
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:5 
以 xm 为键值
SELECT * FROM xxb1 UNION SELECT * FROM xxb2 INTO CURSOR t1 ORDER BY xm
SELECT a.* FROM t1 a,(SELECT xm FROM t1 GROUP BY xm HAVING COUNT(*)>1) b WHERE a.xm=b.xm



2013-05-21 16:15
施南人
Rank: 2
等 级:论坛游民
帖 子:40
专家分:27
注 册:2013-5-19
收藏
得分:0 
谢谢KIFF版主,很好!
2013-05-22 11:51
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9820
专家分:27081
注 册:2012-2-5
收藏
得分:15 
程序代码:
SELECT * FROM XXB1 INTO CURSOR XXB
EE=AFIELDS(AA,'XXB')
CREATE CURSOR T (XH C(8),字段名 C(10),XXB1内容 C(20),XXB2内容 C(20)) &&保存不同记录的临时表
FOR I=1 TO EE
    STORE "SELECT " TO ASQLA,ASQLB
    IF UPPER(AA(I,1))<>'XH'
       ASQLA=ASQLA+"'"+AA(I,1)+"' AS ZD,XH,"+AA(I,1)+" FROM XXB1 INTO CURSOR QTA"
       &ASQLA
       ASQLB=ASQLB+"'"+AA(I,1)+"' AS ZD,XH,"+AA(I,1)+" FROM XXB2 INTO CURSOR QTB"
       &ASQLB
       ASQLC="INSERT INTO T SELECT A.XH,A.ZD,A."+AA(I,1)+",B."+AA(I,1)+" FROM QTA A LEFT JOIN QTB B ON A.XH=B.XH WHERE A."+AA(I,1)+"<>B."+AA(I,1)
       &ASQLC
    ENDIF
NEXT 

SELECT T
INDEX ON XH TO XH
BROWSE

字段修改内容
图片附件: 游客没有浏览图片的权限,请 登录注册



[ 本帖最后由 sdta 于 2013-5-27 02:16 编辑 ]

坚守VFP最后的阵地
2013-05-27 01:54
快速回复:编程检查数据的修改情况
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013817 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved