以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  代码创建外部表的时候报错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=161669)

--  作者:fntfgz
--  发布时间:2021/3/25 22:44:00
--  代码创建外部表的时候报错
我用代码在外部数据库中要创建一个表,代码如下:
Dim Builder As New ADOXBuilder("xbdb")
Dim tbl As ADOXTable
Builder.Open()
tbl = Builder.NewTable("专业组专业")
With tbl
.AddColumn("批次" ,ADOXType.String,150)
.AddColumn("选考科目" ,ADOXType.String,150)
.AddColumn("学校编号" ,ADOXType.String,150)
.AddColumn("学校名称" ,ADOXType.String,150)
.AddColumn("专业代码" ,ADOXType.String,150)
.AddColumn("专业编号" ,ADOXType.String,150)
.AddColumn("专业名称" ,ADOXType.String,150)
.AddColumn("计划" ,ADOXType.Integer)
.AddColumn("学费" ,ADOXType.String,150)
.AddColumn("学制" ,ADOXType.String,)
.AddColumn("等级" ,ADOXType.String,)
.AddColumn("口试" ,ADOXType.String,)
.AddColumn("位次2020_平均" ,ADOXType.Integer)
.AddColumn("位次2020_投档" ,ADOXType.Integer)
.AddColumn("分数2020_平均" ,ADOXType.Integer)
.AddColumn("分数2020_投档" ,ADOXType.Integer)
.AddColumn("分数2020_院校" ,ADOXType.Integer)
.AddColumn("分数2020_校差" ,ADOXType.Integer)
.AddColumn("专业说明" ,ADOXType.String,255)
.AddColumn("id" ,ADOXType.Integer)
End With
Builder.AddTable(tbl, True, True)
Builder.Close()

但是出现如下的错误提示:

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


问题是,我的数据库中并没有找到相应的表,只是我第一次创建这个表的时候,当时确实有相同文件名的数据库,但是我删除了,在运行这段代码还是报错,问题有两个:
我没有找到名为"专业组专业_primarykey"的表,运行上面这段代码会报错,但是还会创建出"专业组专业"表,但是不能加载进来,提示没有主键,如果我把表名"专业组专业"改为"专业组专业1",就可以创建成功,正常加载也没问题


--  作者:有点蓝
--  发布时间:2021/3/25 23:01:00
--  
"专业组专业_primarykey"不是一个表名,应该是一个索引名称,检查一下数据库里其它表的索引有没有叫这个名称的
--  作者:fntfgz
--  发布时间:2021/3/25 23:16:00
--  
谢谢蓝版,这么晚了还为我们耐心解答问题
--  作者:fntfgz
--  发布时间:2021/3/25 23:21:00
--  
篮板,我找到这个索引文件了,请问可以删除吗?会对表文件有什么影响吗
--  作者:有点蓝
--  发布时间:2021/3/26 8:30:00
--  
可以删除,或者改名