以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]读取列属性中的标准数据字典 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=173244) |
||||
-- 作者:chnfo -- 发布时间:2021/11/20 19:29:00 -- [求助]读取列属性中的标准数据字典 表X中的A列,在列属性的基本属性-字典-数据字典中设为标准,然后在数据字典中设置数据=1、2、3、4、5、……,显示值分别为甲、乙、丙、丁、戊、…… 能不能通过代码把它读出来? [此贴子已经被作者于2021/11/20 19:29:37编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2021/11/21 20:08:00 -- Dim dmp As DataMap = Tables("表X").Cols("A列").DataMap For Each key As String In dmp.keys Output.Show(key & "=" & dmp(key)) Next
|
||||
-- 作者:chnfo -- 发布时间:2021/11/22 9:47:00 -- 此主题相关图片如下:字典读不出来.png 执行的时候,为什么键可以读出来,值读不出来哟
|
||||
-- 作者:有点蓝 -- 发布时间:2021/11/22 10:05:00 -- 列类型的问题,这个列是微整形 For Each key As Byte In dmp.keys Output.Show(key & "=" & dmp(key)) Next |
||||
-- 作者:chnfo -- 发布时间:2021/11/23 17:12:00 -- Dim ct As String = "Kind" Dim ck As String = DataTables("CS").DataCols(ct).datatype.Name \'得到ct列的数据类型 Dim dmp As DataMap = Tables("CS").Cols(ct).DataMap Output.Show(ct & "列有数据字典=" &(dmp IsNot Nothing)) If dmp IsNot Nothing Then Dim dicx As new Dictionary(of object ,String) ’Dim dicx As new Dictionary(of ck,String) ,这里使用ck就会报错,本意是想精确引用数据类型,后来发现有错误,只能用了object,不报错了 For Each key As object In dmp.keys ’For Each key As ck In dmp.keys,这里使用ck就会报错,本意是想精确引用数据类型,后来发现有错误,只能用了object,不报错了 dicx.Add(key,dmp(key)) Next For Each k As object In dicx.Keys ’For Each key As ck In dicx.Keys,这里使用ck就会报错,本意是想精确引用数据类型,后来发现有错误,只能用了object,不报错了 Output.Show(k & "----" & dicx(k)) Next End If 用object可以执行,不过可能效率上会低一些。如果要精确引用数据列类型,该怎么用?
|
||||
-- 作者:有点蓝 -- 发布时间:2021/11/23 17:14:00 -- 只能用object |
||||
-- 作者:chnfo -- 发布时间:2021/11/23 17:39:00 -- 啊,误打误撞,居然撞对了 |