Foxtable(狐表)用户栏目专家坐堂 → 复制表结构提示错误,见附件。


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

主题:复制表结构提示错误,见附件。

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


加好友 发短信
等级:婴狐 帖子:66 积分:693 威望:0 精华:0 注册:2012/4/17 13:22:00
复制表结构提示错误,见附件。  发帖心情 Post By:2012/6/29 12:44:00 [只看该作者]

运行的代码如下,连接的是外部数据源。
Dim Builder As New ADOXBuilder("ctais2")
Dim tbl As ADOXTable
Builder.Open()
tbl = Builder.NewTable("xx") '创建表
With tbl
    For Each dc As Data.DataColumn In DataTables("DJ_NSRXX").baseTable.Columns
        If DataTables("DJ_NSRXX").DataCols.Contains(dc.ColumnName)  = False Then
            Continue For
        End If
        If dc.DataType Is Gettype(String)
            If dc.maxlength > 0 And dc.MaxLength < 256 Then
                tbl.AddColumn(dc.ColumnName, ADOXType.String, dc.maxlength)
            Else
                tbl.AddColumn(dc.ColumnName, ADOXType.text)
            End If
        ElseIf dc.datatype Is Gettype(Date) Then
            tbl.AddColumn(dc.ColumnName, ADOXType.DateTime)
        ElseIf dc.datatype Is Gettype(Boolean) Then
            tbl.AddColumn(dc.ColumnName, ADOXType.Boolean)
        ElseIf dc.datatype Is Gettype(Integer) Then
            tbl.AddColumn(dc.ColumnName, ADOXType.Integer)
        ElseIf dc.datatype Is Gettype(Long) Then
            tbl.AddColumn(dc.ColumnName, ADOXType.Long)
        ElseIf dc.datatype Is Gettype(Short) Then
            tbl.AddColumn(dc.ColumnName, ADOXType.Short)
        ElseIf dc.datatype Is Gettype(Byte) Then
            tbl.AddColumn(dc.ColumnName, ADOXType.Byte)
        ElseIf dc.datatype Is Gettype(Double) Then
            tbl.AddColumn(dc.ColumnName, ADOXType.Double)
        ElseIf dc.datatype Is Gettype(Single) Then
            tbl.AddColumn(dc.ColumnName, ADOXType.Single)
        ElseIf dc.datatype Is Gettype(Decimal) Then
            tbl.AddColumn(dc.ColumnName, ADOXType.Decimal)
图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看
        End If
    Next
End With
Builder.AddTable(tbl) '增加表
Builder.Close()
MessageBox.show("生成新表成功,将重新打开项目")
syscmd.project.Open(ProjectFile)

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/6/29 14:26:00 [只看该作者]

我写了一段简单的代码拉测试,木有发现问题:

 

Dim Builder As New ADOXBuilder("fff")
Dim tbl As ADOXTable
Builder.Open()
tbl = Builder.NewTable("xxx") '创建表
tbl.AddColumn("日期" ,ADOXType.DateTime) '增加日期型列
tbl.AddColumn("产品" ,ADOXType.String, 12) '增加字符型列,长度指定为12
tbl.AddColumn("客户" ,ADOXType.String, 20) '增加字符列,长度为20
tbl.AddColumn("数量" ,ADOXType.Integer) '增加整数型列
tbl.AddColumn("备注" ,ADOXType.Text) '增
Builder.AddTable(tbl) '增加表
Builder.Close() '关闭ADOXBuilder

 

同样,你可以做个简单的有错误的例子发上来看看。


 回到顶部