Foxtable(狐表)用户栏目专家坐堂 → 一键定向


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

主题:一键定向

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/6/8 7:36:00 [显示全部帖子]

值得给个精华!

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/6/8 8:28:00 [显示全部帖子]

不可能的,测试过了,后台直接可以定向的.前台看不见的.你要做两个数据源  A和B  A是原数据源  B是一个新的数据源,没有任何东西的.

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/6/8 8:59:00 [显示全部帖子]

再发一个内部表定向到外部表的代码:

 

  Dim Builder As New ADOXBuilder("服务器") '要指定数据源名称
Dim tbl As ADOXTable
Builder.Open()
For Each dt As DataTable In DataTables
    tbl = Builder.NewTable(dt.Name) 创建表
    For Each dc As DataCol In DataTables(dt.Name).DataCols
        With tbl
            Select Case dc.DataType.Name
                Case  "String"
                    .AddColumn(dc.Name ,ADOXType.String,100)
                Case  "DateTime"
                    .AddColumn(dc.Name ,ADOXType.DateTime)
                Case  "Boolean"
                    .AddColumn(dc.Name ,ADOXType.Boolean)
                Case  "Double"
                    .AddColumn(dc.Name ,ADOXType.Double)
                Case  "Text"
                    .AddColumn(dc.Name ,ADOXType.Text)
                Case  "Integer"
                    .AddColumn(dc.Name ,ADOXType.Integer)
                Case  "Short"
                    .AddColumn(dc.Name ,ADOXType.Short)
                Case  "Byte"
                    .AddColumn(dc.Name ,ADOXType.Byte)
                Case  "Single"
                    .AddColumn(dc.Name ,ADOXType.Single)
                Case  "Decimal"
                    .AddColumn(dc.Name ,ADOXType.Decimal)
            End Select
        End With
    Next
    Builder.AddTable(tbl,True,True) '增加表
Next
Builder.Close()
Syscmd.Project.Open(ProjectFile)


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/6/8 10:53:00 [显示全部帖子]

老大,外部表转内部表:

 

Dim Builder As New ADOXBuilder
Dim tbl As ADOXTable
Builder.Open()
Dim lst As List(Of String)
lst = Connections("BB").GetTableNames
For Each nm As String In lst
    tbl = Builder.NewTable(nm)
    For Each dc As DataCol In DataTables(nm).DataCols

 

这儿的nm是字符串,不是表,这个地方应该怎么改才行?


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/6/8 13:09:00 [显示全部帖子]

哈哈,外部表转入内部的一键定向的代码也做出来了:

 

Dim Builder As New ADOXBuilder
Dim tbl As ADOXTable
Builder.Open()
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim lst As List(Of String)
lst = Connections("BB").GetTableNames
For Each nm As String In lst
    cmd.CommandText = "SELECT * From {" & nm & " } Where [_Identify] Is Null"
    cmd.C
    dt = cmd.ExecuteReader()
    tbl = Builder.NewTable(nm) '创建表
    For Each dc As DataCol In dt.DataCols
        With tbl
            Select Case dc.DataType.Name
                Case  "String"
                    .AddColumn(dc.Name ,ADOXType.String,100)
                Case  "DateTime"
                    .AddColumn(dc.Name ,ADOXType.DateTime)
                Case  "Boolean"
                    .AddColumn(dc.Name ,ADOXType.Boolean)
                Case  "Double"
                    .AddColumn(dc.Name ,ADOXType.Double)
                Case  "Text"
                    .AddColumn(dc.Name ,ADOXType.Text)
                Case  "Integer"
                    .AddColumn(dc.Name ,ADOXType.Integer)
                Case  "Short"
                    .AddColumn(dc.Name ,ADOXType.Short)
                Case  "Byte"
                    .AddColumn(dc.Name ,ADOXType.Byte)
                Case  "Single"
                    .AddColumn(dc.Name ,ADOXType.Single)
                Case  "Decimal"
                    .AddColumn(dc.Name ,ADOXType.Decimal)
            End Select
        End With
    Next
    Builder.AddTable(tbl,True,True) '增加表
Next
Builder.Close()
Syscmd.Project.Open(ProjectFile)


 


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/6/8 13:33:00 [显示全部帖子]

一楼改过了外部到外部的代码.

[此贴子已经被作者于2012-6-8 13:43:30编辑过]

 回到顶部