Foxtable(狐表)用户栏目专家坐堂 → 动态增加列时出现问题


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

主题:动态增加列时出现问题

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


加好友 发短信
等级:三尾狐 帖子:655 积分:5004 威望:0 精华:0 注册:2011/11/26 17:46:00
动态增加列时出现问题  发帖心情 Post By:2014/10/29 18:57:00 [只看该作者]

Dim Builder As New ADOXBuilder
Builder.Open()

    
 Builder.Tables("表A").AddColumn("备注" ,ADOXType.Text) '增加备注列

Builder.Close()

通过以上代码增加列时出现这个错误提示。


图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20141029185514.jpg
图片点击可在新窗口打开查看


求老师解答


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/29 19:03:00 [只看该作者]

 如果重复添加,就会报错

 

Dim Builder As New ADOXBuilder
try
    Builder.Open()
    Builder.Tables("表A").AddColumn("备注32" ,ADOXType.Text) '增加备注列
    msgbox("成功")
catch ex As exception
    Builder.Close()
End try


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


加好友 发短信
等级:三尾狐 帖子:655 积分:5004 威望:0 精华:0 注册:2011/11/26 17:46:00
没有重复增加  发帖心情 Post By:2014/10/29 22:20:00 [只看该作者]

没有重复增加,而且重复增加的报错不是这样的。
奇怪的是在我的项目里只要通过代码动态增加列就会出现这个错误。
甜老师能不能通过错误提示看出来时什么问题?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/29 22:22:00 [只看该作者]

 你用的是不是最新版了?旧版可能有bug

 

 我测试没有问题。


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


加好友 发短信
等级:三尾狐 帖子:655 积分:5004 威望:0 精华:0 注册:2011/11/26 17:46:00
甜老师再看看  发帖心情 Post By:2014/10/29 22:46:00 [只看该作者]

Dim resta As Integer = 0
Dim 生产备注 As Boolean = True
Dim 算价 As Boolean = True
For Each dd As Col In Tables("订单").Cols
    If dd.Name = "生产备注" Then
        生产备注 = False
    End If
Next
For Each ddsj As Col In Tables("订单数据").Cols
    If ddsj.Name = "算价" Then
        算价 = False
    End If
Next
If 生产备注 = True Then
    Dim Builder As New ADOXBuilder
    Builder.Open() 
    Builder.Tables("订单").AddColumn("生产备注" ,ADOXType.text)
    Builder.Close()
resta = resta + 1
End If
If 算价 = True Then
    Dim Builder As New ADOXBuilder
    Builder.Open()
    Builder.Tables("订单数据").AddColumn("生产备注" ,ADOXType.text)
    Builder.Close()
resta = resta + 1
End If
If resta > 0 Then
MessageBox.Show("为了迎合新功能,数据库已经自动升级,需要重新打开软件.请在软件自动关闭后再手动打开.")
Syscmd.Project.Exit(True)
End If



我的代码其实是这样的,但是在运行到:Builder.Tables("订单").AddColumn("生产备注" ,ADOXType.text)
这条代码时就出现了前面说的错误。甜老师看看怎么回事

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/29 22:53:00 [只看该作者]

 1、先升级到最新版;

 

 2、http://www.foxtable.com/help/topics/2715.htm

 


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


加好友 发短信
等级:三尾狐 帖子:655 积分:5004 威望:0 精华:0 注册:2011/11/26 17:46:00
  发帖心情 Post By:2014/10/29 22:59:00 [只看该作者]

甜老师,我用的是win7.
而且我通过系统菜单能增加列。
现在发现只是在通过代码动态添加列会出现错误。

    Dim Builder As New ADOXBuilder
    Builder.Open() '打开ADOXBuilder
    Builder.Tables("库存").AddColumn("算价" ,ADOXType.text) '增加日期型列
    Builder.Close() '关闭ADOXBuilder
就像上面这个简单的代码也会出现错误,无法增加列

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/29 23:00:00 [只看该作者]

先升级到最新版

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


加好友 发短信
等级:三尾狐 帖子:655 积分:5004 威望:0 精华:0 注册:2011/11/26 17:46:00
  发帖心情 Post By:2014/10/29 23:03:00 [只看该作者]

已经是最新版本了。图片点击可在新窗口打开查看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/29 23:06:00 [只看该作者]

测试了一下,你的表名写错了。没有对应的表就会报这个错。

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