Foxtable(狐表)用户栏目专家坐堂 → 如何用代码得知一个表的结构,并动态生成与其结构相同的零时表?


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

主题:如何用代码得知一个表的结构,并动态生成与其结构相同的零时表?

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


加好友 发短信
等级:二尾狐 帖子:561 积分:4284 威望:0 精华:0 注册:2014/6/12 19:15:00
如何用代码得知一个表的结构,并动态生成与其结构相同的零时表?  发帖心情 Post By:2020/5/14 17:20:00 [只看该作者]

请问:
    1、  如何用代码得知一个表的结构

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

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


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110655 积分:563189 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/14 17:27:00 [只看该作者]


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


加好友 发短信
等级:二尾狐 帖子:561 积分:4284 威望:0 精华:0 注册:2014/6/12 19:15:00
  发帖心情 Post By:2020/5/14 18:23:00 [只看该作者]

谢谢蓝版
再请教一下,  如何用代码得知一个表的结构,这个比较重要,没有这个也没有办法照着原表建立表

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110655 积分:563189 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/14 20:10:00 [只看该作者]


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


加好友 发短信
等级:二尾狐 帖子:561 积分:4284 威望:0 精华:0 注册:2014/6/12 19:15:00
  发帖心情 Post By:2020/5/14 22:33:00 [只看该作者]

非常感谢

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


加好友 发短信
等级:二尾狐 帖子:561 积分:4284 威望:0 精华:0 注册:2014/6/12 19:15:00
  发帖心情 Post By: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()

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110655 积分:563189 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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 )

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


加好友 发短信
等级:二尾狐 帖子:561 积分:4284 威望:0 精华:0 注册:2014/6/12 19:15:00
  发帖心情 Post By:2020/5/15 9:54:00 [只看该作者]

c.DataType 她的成员变量中是否有  直接可以引用的成员 ?效果和 引用效果就直接等于  string、integer 等类型?


 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110655 积分:563189 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/15 9:58:00 [只看该作者]

没有的

 回到顶部
帅哥哟,离线,有人找我吗?
蓝色理想
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:561 积分:4284 威望:0 精华:0 注册:2014/6/12 19:15:00
  发帖心情 Post By:2020/5/15 10:11:00 [只看该作者]

蓝版,编辑器中的精灵,自动提示的成员、方法不全,有很多没有提示,有无办法能够看到全部的 成员、方法啊


 回到顶部
总数 11 1 2 下一页