Foxtable(狐表)用户栏目专家坐堂 → 增加列时总是出错


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

主题:增加列时总是出错

帅哥,在线噢!
zhuxinhui
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1860 积分:5263 威望:0 精华:0 注册:2017/11/8 17:37:00
增加列时总是出错  发帖心情 Post By:2022/7/4 11:43:00 [只看该作者]

增加列时总是出错,查过半天都查不出哪出问题了
‘’‘’‘’‘’是内部数据源,根据表数据进行增加列
Dim uu As Table = Tables("表列名")
For i As Integer = 0 To uu.Rows.count - 1 
    Dim nn As String = uu.Rows(i)("列名")
    Dim nn1 As String = uu.Rows(i)("表名")
    Dim nn2  = uu.Rows(i)("长度")
    Dim Builder As New ADOXBuilder  ‘’‘’‘’‘’是内部数据源
    Builder.Open()
    If uu.Rows(i)("类型") = "String" Then
        With Builder.Tables(nn1)
            .AddColumn(nn , ADOXType.string, 50)
        End With
        MessageBox.Show(1)
    Else If uu.Rows(i)("类型") = "DateTime" Then
    With Builder.Tables(nn1)
        .AddColumn(nn , ADOXType.DateTime)
    End With
    MessageBox.Show(2)
    Else If uu.Rows(i)("类型") = "Double" Then
    With Builder.Tables(nn1)
        .AddColumn(nn , ADOXType.Double)
    End With
    MessageBox.Show(3)
    Else If uu.Rows(i)("类型") = "Text" Then
    With Builder.Tables(nn1)
        .AddColumn(nn , ADOXType.Text)
    End With
    MessageBox.Show(4)
    Else If uu.Rows(i)("类型") = "Boolean" Then
    With Builder.Tables(nn1)
        .AddColumn(nn , ADOXType.Boolean)
    End With 
    MessageBox.Show(6)
    Else If uu.Rows(i)("类型") = "" And uu.Rows(i)("是否文本") = True Then
    With Builder.Tables(nn1)
        .AddColumn(nn , ADOXType.String, 50)
    End With
    MessageBox.Show(7)
    Else If uu.Rows(i)("类型") = "" And uu.Rows(i)("是否文本") = False Then
        With Builder.Tables(nn1)
            .AddColumn(nn , ADOXType.Double)
        End With
    End If
Next

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20220704111440.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/7/4 11:56:00 [只看该作者]

可能出错原因:
1、已经有同名的列了
2、不存在指定名称的表

最后代码执行后必须重启项目才能正常使用

 回到顶部
帅哥,在线噢!
zhuxinhui
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1860 积分:5263 威望:0 精华:0 注册:2017/11/8 17:37:00
  发帖心情 Post By:2022/7/4 11:59:00 [只看该作者]

可能出错原因:
1、已经有同名的列了
2、不存在指定名称的表

最后代码执行后必须重启项目才能正常使用
这三项都已检查过,没有问题

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


加好友 发短信
等级:八尾狐 帖子:1860 积分:5263 威望:0 精华:0 注册:2017/11/8 17:37:00
  发帖心情 Post By:2022/7/4 12:01:00 [只看该作者]

他是内部表,应该每个表所有的列都显示出来
同名的列也进行了判别后,再加载的
项目进行了过多次重启

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


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/7/4 12:07:00 [只看该作者]

调试是那一句代码出错

 回到顶部
帅哥,在线噢!
zhuxinhui
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1860 积分:5263 威望:0 精华:0 注册:2017/11/8 17:37:00
  发帖心情 Post By:2022/7/4 13:54:00 [只看该作者]

检查了很久,查不出来
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:销售采购开单.zip


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


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/7/4 14:02:00 [只看该作者]

怎么测试?我看了几个表,列都已经存在了

 回到顶部
帅哥,在线噢!
zhuxinhui
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1860 积分:5263 威望:0 精华:0 注册:2017/11/8 17:37:00
  发帖心情 Post By:2022/7/4 14:21:00 [只看该作者]

用户这个表没有


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


加好友 发短信
等级:八尾狐 帖子:1860 积分:5263 威望:0 精华:0 注册:2017/11/8 17:37:00
  发帖心情 Post By:2022/7/4 14:23:00 [只看该作者]

这些都是没有的
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20220704142206.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:107729 积分:547978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/7/4 14:30:00 [只看该作者]

首先您的代码是遍历添加所有的表的。


DataTables("表列名").Save()
DataTables("表列名").LoadFilter = "是否增加 is null and 表名=‘用户表’" 这里是不是应该加上表名做条件,否则加载的是所有的表
DataTables("表列名").Load()

Dim uu As Table = Tables("表列名")
For i As Integer = 0 To uu.Rows.count - 1 遍历的是所有的表

其次用户表已经有ID和名称2个列了,但是"表列名"里名称是否增加列是空的,数据有问题

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


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