Foxtable(狐表)用户栏目专家坐堂 → 醉了,5000条数据处理20分钟


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

主题:醉了,5000条数据处理20分钟

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


加好友 发短信
等级:二尾狐 帖子:574 积分:4252 威望:0 精华:0 注册:2015/5/13 8:32:00
  发帖心情 Post By:2016/7/17 11:02:00 [显示全部帖子]

 用字典做 键值对,瞬间完成!

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


加好友 发短信
等级:二尾狐 帖子:574 积分:4252 威望:0 精华:0 注册:2015/5/13 8:32:00
  发帖心情 Post By:2016/7/17 17:37:00 [显示全部帖子]

DataTables("表A").DataRows.Clear
DataTables("表A").StopRedraw()
For i As Integer = 0 To 5000
    Dim dr As DataRow = DataTables("表A").AddNew
    dr("第一列")= "aa" & i
    dr("第二列")= "bb1" & i
Next
DataTables("表A").ResumeRedraw()

DataTables("表B").DataRows.Clear
DataTables("表B").StopRedraw()
For i As Integer = 0 To 80000
    Dim dr As DataRow = DataTables("表B").AddNew
    dr("第一列")= "aa" & i
    dr("第二列")= "bb1" & i
Next
DataTables("表B").ResumeRedraw()
MessageBox.show("模拟数据完成")

Dim zd1 As new Dictionary(of String,DataRow)
Dim zd2 As new Dictionary(of String,DataRow)
For Each  dr As DataRow In DataTables("表A").DataRows
    zd1.Add(dr("第一列"),dr)
Next
For Each  dr As DataRow In DataTables("表B").DataRows
    zd2.Add(dr("第一列"),dr)
Next

For Each str As String In zd1.Keys
    If zd2.ContainsKey(str) Then
        zd2(str)("第三列")= zd1(str)("第二列") '赋值
    End If
Next

MessageBox.show("数据复制完成")

 回到顶部