以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 怎样用代码检查列的数据类型?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103874)

--  作者:xiekai
--  发布时间:2017/7/19 0:02:00
--  [求助] 怎样用代码检查列的数据类型?

想根据一个外部查询表生成一个临时表,不知道数据类型怎么确定。

求助。


--  作者:有点蓝
--  发布时间:2017/7/19 8:51:00
--  
直接通过sql加载结构:


--  作者:xiekai
--  发布时间:2017/7/19 17:12:00
--  

谢谢回复,但介绍的方法不是我现在需要的。

还是想知道用代码检查foxtable列的数据类型的方法。

能否告知,谢谢。


--  作者:有点甜
--  发布时间:2017/7/19 17:42:00
--  

这个意思?

 

For Each dt As DataTable In DataTables
    For Each dc As DataCol In dt.DataCols
        output.show(dt.name & " " & dc.Name & " " & dc.Caption & " " & dc.datatype.Name & dc.MaxLength)
    Next
Next


--  作者:xiekai
--  发布时间:2017/7/20 15:49:00
--  

是这个意思。

想把这样得到的dc.datatype.Name 代入

DataCols.Add(ColumnName, GetType(Type), MaxLength),不知道该怎样写?

写成DataCols.Add(dc.Name, GetType(dc.datatype.Name), dc.MaxLength)会报错:未定义类型“dc.datatype.Name”。

再请教。

[此贴子已经被作者于2017/7/20 15:50:36编辑过]

--  作者:有点甜
--  发布时间:2017/7/20 15:53:00
--  

不能这样,要这样判断

 

Select Case dc.datatype.name

    Case "Double"

        dt.DataCols.Add(dc.Name, GetType(double))

    Case "Date"

        dt.DataCols.Add(dc.Name, GetType(date))

    Case "Boolean"

 

End Select


--  作者:xiekai
--  发布时间:2017/7/20 16:11:00
--  
知道了,谢谢