Foxtable(狐表)用户栏目专家坐堂 → [求助] 在命令窗口给列重命名,怎么会出错呢?


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

主题:[求助] 在命令窗口给列重命名,怎么会出错呢?

美女呀,离线,留言给我吧!
龙潭春早
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
[求助] 在命令窗口给列重命名,怎么会出错呢?  发帖心情 Post By:2019/11/4 19:34:00 [只看该作者]

在命令窗口,测试给列重命名,表名、列名、代码都很简单,怎么会出错呢?

图片点击可在新窗口打开查看此主题相关图片如下:用命令窗口更改列名出错.png
图片点击可在新窗口打开查看


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


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

1、不存在“表A”这个表
2、不存在“引用场所2”这个列
3、已经执行过代码了,这个直接控制的后台数据库,所以界面不会有反应,系重启项目

最后,请不要使用sql或者这种方法更改内部表。请改为外部表使用

 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By:2019/11/5 19:56:00 [只看该作者]

1、“表A” 和 列 “引用场所2” 都有,显示正常,都是直接从下面截屏的 “字段” 中取的值;

2、这个就是外部表,在服务器 Sql Server 上;

3、因为执行的时候出现 1楼 截屏显示的错误,所以,重启项目后,列名 “引用场所2” 没有变化。

图片点击可在新窗口打开查看此主题相关图片如下:用命令窗口更改列名出错2.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2019/11/5 19:56:28编辑过]

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2019/11/5 20:04:00 [只看该作者]

没这么干过,不过个人认为更改列名应该从datatable着手,直接改table的列名报错可能属于正常!
我猜这样试试试试:……tables("表A").datatable或直接改为……datatables("表A")

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/5 20:16:00 [只看该作者]

使用外部数据源

前面的代码都是针对内部数据源的,如果要为外部数据源动态创建表和列,只需在定义ADOXBuilder的时候,指定数据源名称即可:

Dim Builder As New ADOXBuilder("数据源名称")

例如在名为nwnd的外部数据源中创建一个订单表:

Dim Builder As New ADOXBuilder("nwnd") '要指定数据源名称
Dim
 tbl As ADOXTable
Builder.Open() 
tbl = Builder.NewTable(
"订单"'创建表
With
 tbl
    .AddColumn(
"日期" ,ADOXType.DateTime)
    .AddColumn(
"产品" ,ADOXType.String12)
    .AddColumn(
"客户" ,ADOXType.String20)
    .AddColumn(
"数量" ,ADOXType.Integer)
    .AddColumn(
"备注" ,ADOXType.Text)
End With
Builder.AddTable(tbl) 
'增加表
Builder.Close()


 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By:2019/11/6 15:07:00 [只看该作者]

 指定数据源名称是个关键。

加上数据源名称后,

1)还是显示有错误,见下面的截屏;

2)关闭这个窗口后,重启项目,发现系统还是执行了指令:

   列名从 应用场所2 → 改成了: 应用场所8

   但是,为什么还显示有错误呢?

图片点击可在新窗口打开查看此主题相关图片如下:用命令窗口更改列名出错3.png
图片点击可在新窗口打开查看


 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By:2019/11/6 15:15:00 [只看该作者]

也测试了 DataTables(“表A”)

系统报错,说 DataTables 不是 ADOXBuilder 的成员。

图片点击可在新窗口打开查看此主题相关图片如下:用命令窗口更改列名出错4.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/6 15:20:00 [只看该作者]

Builder.Tables是一个属性。和DataTable、table这些没有任何关系。不要自己创造语法...

 回到顶部
美女呀,离线,留言给我吧!
龙潭春早
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:676 积分:4895 威望:0 精华:0 注册:2018/3/22 16:05:00
  发帖心情 Post By:2019/11/6 17:18:00 [只看该作者]

嗯 那个测试,只是为了回复 4楼 程大侠 的好心建议图片点击可在新窗口打开查看

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2019/11/6 19:50:00 [只看该作者]

呵呵,我以前研究过,只是不用了早就忘了,建议您看看这个帖子:


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