Foxtable(狐表)用户栏目专家坐堂 → 数据比对问题


  共有1833人关注过本帖树形打印复制链接

主题:数据比对问题

帅哥哟,离线,有人找我吗?
wangnovel
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:2087 威望:0 精华:0 注册:2012/10/6 17:19:00
数据比对问题  发帖心情 Post By:2017/1/21 0:07:00 [只看该作者]

表A

  ID  X1   X2    X3 
  11   a  f g  
  12   r   t   y 
  13   u  i    o


表B

 ID    Y1 Y2   
  11   v   n 
  12  m  k  
  14   l  p 

 

两表(均为内部表)各有记录若干,并按ID值进行排序。现在需要对两张表进行操作,操作之前要进行检测,检测两表的ID值是否一一对应相等,如果不对应,应进行提示。提示以表A为准,如上图,系统应提示ID为13的记录与表B不匹配

请问,检测代码如何写比较好?

[此贴子已经被作者于2017/1/21 1:04:09编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106081 积分:539504 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/1/21 9:16:00 [只看该作者]

Dim ids As List(Of String) = DataTables("表B").GetValues("ID")
For Each dr As DataRow In DataTables("表A").DataRows
    If ids.Contains(dr("ID")) = False Then
        msgbox(dr("ID") & "不在表B")
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106081 积分:539504 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/1/21 9:17:00 [只看该作者]

或试试

Dim drs As List(of DataRow)  = DataTables("表A").SQLSelect("ID not in (select distinct ID from 表B)")
For Each dr As DataRow In drs
    msgbox(dr("ID") & "不在表B")
Next

 回到顶部
帅哥哟,离线,有人找我吗?
wangnovel
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:196 积分:2087 威望:0 精华:0 注册:2012/10/6 17:19:00
  发帖心情 Post By:2017/1/22 19:59:00 [只看该作者]

非常感谢!

 回到顶部