Foxtable(狐表)用户栏目专家坐堂 → 谁来开发一个直接建表的程序


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

主题:谁来开发一个直接建表的程序

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


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/5/14 19:50:00 [只看该作者]

Dim say As String  =  Tables("Systablename").Current("FSSXTtable")
If say IsNot Nothing Then
    Dim r As Row = Tables("FS_XTJB").addnew()
    r("FSSTableName")= say
   
    If DataTables.Contains(say) = False Then
       
        Dim  Builder As  New  ADOXBuilder("HCCL")  '要指定数据源名称
        Dim tbl  As ADOXTable
        Builder.Open()
        tbl = Builder.NewTable(say) '创建表
        With tbl
            .AddColumn("FSS1" ,ADOXType.String, 20)
            .AddColumn("FSS2" ,ADOXType.String, 20)
        End With
       
        Builder.AddTable(tbl, True, True) '增加表
        Builder.Close()
    End If
End If

 

我加上了红色部份判断,测试并不起作用,错在哪里了

 


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


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

Dim say As String  =  Tables("Systablename").Current("FSSXTtable")
If say IsNot Nothing Then
    Dim r As Row = Tables("FS_XTJB").addnew()
    r("FSSTableName")= say
   
    If DataTables.Contains(say) = False Then
       
        Dim  Builder As  New  ADOXBuilder("HCCL")  '要指定数据源名称
        Dim tbl  As ADOXTable
        Builder.Open()
        tbl = Builder.NewTable(say) '创建表
        With tbl
            .AddColumn("FSS1" ,ADOXType.String, 20)
            .AddColumn("FSS2" ,ADOXType.String, 20)
        End With
       
        Builder.AddTable(tbl, True, True) '增加表
        Builder.Close()
        DataTables.Load(say)
    End If
End If

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


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

Dim say As String  =  Tables("Systablename").Current("FSSXTtable")
If say IsNot Nothing Then
    Dim r As Row = Tables("FS_XTJB").addnew()
    r("FSSTableName")= say
   
    If DataTables("FS_XTJB").Find("FSSTableName = '" & say & "'") Is Nothing Then
       
        Dim  Builder As  New  ADOXBuilder("HCCL")  '要指定数据源名称
        Dim tbl  As ADOXTable
        Builder.Open()
        tbl = Builder.NewTable(say) '创建表
        With tbl
            .AddColumn("FSS1" ,ADOXType.String, 20)
            .AddColumn("FSS2" ,ADOXType.String, 20)
        End With
       
        Builder.AddTable(tbl, True, True) '增加表
        Builder.Close()
        DataTables.Load(say)
    End If
End If

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


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/5/14 19:58:00 [只看该作者]

12楼 错误依旧,没有解决。第二次执行时,系统提示表已存在不能再建立,If DataTables.Contains(say) = False Then 这个不起作用?

 

13楼理解偏差,我本意是用FS_XTJB存要建立的字段数据,所以这个判断 If DataTables("FS_XTJB").Find("FSSTableName = '" & say & "'") Is Nothing Then  跟表有没有建立一点逻辑关系都没有。

 

所以还是要在 DataTables.Contains(say) 上作文章才行。


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


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

 添加完,你要把表load出来啊,内部表是可以load的,外部表没测试过

 

 DataTables.Load(say)


 回到顶部
帅哥哟,离线,有人找我吗?
黄训良
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1100 积分:8985 威望:0 精华:0 注册:2014/3/15 14:36:00
  发帖心情 Post By:2015/5/14 20:10:00 [只看该作者]

这儿有实例: http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=62917

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


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/5/14 20:11:00 [只看该作者]

If DataTables.Contains("ydh001") '如果存在统计表1
     MessageBox.Show("此表已经存在")
End If

 

经测试 这个判断只能判断已经加载到系统中的表,这种动态建立的表,并没有加载到系统中来,所以无法判断。如果使用手工加载外部表的方式加载后,该判断方式生效了。

 

根据帮助文件说明 :DataTables.Load("ydh009")应该 能加载已建立的外部数据表,但测试不能加载表。

另根据帮助说明:采用这种方法动态建立外部表后,重新启动项目后,外部表会自动加载,但多次测试,重新启动项目也未能加载这个表

请官方查一下原因


 


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


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/5/14 20:12:00 [只看该作者]

那么如何 用SQL语句判断目标外部数据源有无表或字段呢

 


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


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

外部表通过此方法,也是不会自动加进来的,只适用于内部表。

 

你可以建内部表,最后一次性重定向到外部表去。


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


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/5/15 8:50:00 [只看该作者]

先建立内部表,然后再重定向到外部表去,貌似很好的方案。但不是根本解决问题的方法,在大型应用设计中,总要加字段的,增加字段后就不能用这种方法了。所以说这还不是最根本的解决问题的方法,请官方给一个 可承时随地,加载外部表的代码示例,第一次加载,还有后续增加字段了,重新加载外部表把增加的字段也加载进来。

 回到顶部
总数 22 上一页 1 2 3 下一页