Foxtable(狐表)用户栏目专家坐堂 → 字典遍历问题


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

主题:字典遍历问题

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
字典遍历问题  发帖心情 Post By:2016/1/17 10:53:00 [只看该作者]

请教老师:如何遍历这样的字典

Dictionary(Of String, List(Of String))

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2016/1/17 11:10:00 [只看该作者]


dim 字典 As New Dictionary(Of String, List(Of String))
.........
For Each 键的集合 As String In 字典.Keys
    MessageBox.Show(键的集合)
    For Each 值的集合 As List(of String) In gs_dicConnTableNames.values
        MessageBox.Show(值的集合)
    Next
Next

上面的代码不执行,请问怎么修改?

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2016/1/17 11:16:00 [只看该作者]

请大红袍老师看看

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/17 11:23:00 [只看该作者]

Dim dic As New Dictionary(Of String, List(Of String))
Dim l1 As new List(Of String)
Dim l2 As new List(Of String)
l1.add("1")
l1.add("2")
l2.add("33")
l2.add("44")

dic.add("list1", l1)
dic.add("list2", l2)

For Each key As String In dic.Keys
    for each s as string in dic(key)
        output.show(key & "   " & s)
    next
next


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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2016/1/17 11:59:00 [只看该作者]

谢谢老师

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2016/1/17 12:13:00 [只看该作者]

再请教一个问题:

For Each dt As DataTable In DataTables  可获得已加载的数据表的信息
----------------------------------------------------------------
For Each dt As DataTable In DataTables
    If dt.Type=1 Then  '内部数据源
       ' .......                                            可获得内部数据源的相关信息
    End If
Next
--------------------------------------------------------------
For Each cn As Connection In Connections  ....... 可获得外部数据库的所有表的相关信息
 
如何获得下面信息:
1.已添加到数据源中的外部数据表信息及字段信息
2.已添加到数据源中但未加载的外部数据表信息及字段信息


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/17 16:37:00 [只看该作者]

获取表名信息

 

Dim lst As List(Of String)
lst = Connections("nwnd").GetTableNames
For Each
nm As String In lst
    Output.Show(nm)

Next


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/17 16:44:00 [只看该作者]

可以根据临时表获取表信息

 

Dim lst As List(Of String)
lst = Connections("nwnd").GetTableNames
For Each nm As String In lst
    Dim cmd As new SQLCommand
    cmd.ConnectionName = "nwnd"
    cmd.CommandText = "select * fr om {" & nm & "} where 1=2"
    Dim dt As DataTable = cmd.ExecuteReader
    For Each dc As DataCol In dt.datacols
        output.show(dc.name & "  " & dc.datatype.name)
    Next
Next

[此贴子已经被作者于2016/1/17 16:44:25编辑过]

 回到顶部