以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何用代码得知一个表的结构,并动态生成与其结构相同的零时表?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=149894)

--  作者:蓝色理想
--  发布时间:2020/5/14 17:20:00
--  如何用代码得知一个表的结构,并动态生成与其结构相同的零时表?
请问:
    1、  如何用代码得知一个表的结构

    2、得知结构后是否只有手动用下面的方法建立零时表?

    Dim dr As DataRow
    Dim dtb As New  DataTableBuilder("临时录入表主表") \'创建临时表
    dtb.AddDef("账套期间", Gettype(Date))
    dtb.Build()


--  作者:有点蓝
--  发布时间:2020/5/14 17:27:00
--  
创建和原表结构一样的临时表?


--  作者:蓝色理想
--  发布时间:2020/5/14 18:23:00
--  
谢谢蓝版
再请教一下,  如何用代码得知一个表的结构,这个比较重要,没有这个也没有办法照着原表建立表
--  作者:有点蓝
--  发布时间:2020/5/14 20:10:00
--  
参考:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=147575&skin=0
--  作者:蓝色理想
--  发布时间:2020/5/14 22:33:00
--  
非常感谢
--  作者:蓝色理想
--  发布时间:2020/5/14 23:12:00
--  
一个新的问题
以下代码,已知是  dtb.AddDef(c.Name, Gettype(c.DataType.Name),c.MaxLength ) 中的 c.DataType.Name 问题,这个变量是字符串,但是 Gettpye需要 的参数是 类型,我测试了只要替换成 string就可以运行,请问蓝版,如何解决这个动态提供变量问题啊。



Dim dr As DataRow
Dim dtb As New  DataTableBuilder("临时表") \'创建临时表

For Each c As DataCol In DataTables("收付合同明细").DataCols
    Output.Show(c.Name & "  "  & c.DataType.Name & "  " & c.MaxLength )
    Dim TempDataType As String = c.DataType.Name
    Select Case c.DataType.Name
        Case "String"
            If c.MaxLength > 255 Then
                dtb.AddDef(c.Name, Gettype(c.DataType.Name),c.MaxLength )
            Else
                dtb.AddDef(c.Name, Gettype(c.DataType.Name),c.MaxLength )
            End If
        Case Else
            dtb.AddDef(c.Name, Gettype(c.DataType.Name))
    End Select
    
    
Next

dtb.Build()

--  作者:有点蓝
--  发布时间:2020/5/14 23:14:00
--  
和3楼用法一样,使用case处理

        Case "String"
            If c.MaxLength > 255 Then
                dtb.AddDef(c.Name, Gettype(String),c.MaxLength )
            Else
                dtb.AddDef(c.Name, Gettype(String),c.MaxLength )
            End If
        Case "integer"
dtb.AddDef(c.Name, Gettype(integer),c.MaxLength )
        Case xxxx
dtb.AddDef(c.Name, Gettype(xxxx),c.MaxLength )

--  作者:蓝色理想
--  发布时间:2020/5/15 9:54:00
--  
c.DataType 她的成员变量中是否有  直接可以引用的成员 ?效果和 引用效果就直接等于  string、integer 等类型?


--  作者:有点蓝
--  发布时间:2020/5/15 9:58:00
--  
没有的
--  作者:蓝色理想
--  发布时间:2020/5/15 10:11:00
--  
蓝版,编辑器中的精灵,自动提示的成员、方法不全,有很多没有提示,有无办法能够看到全部的 成员、方法啊