特急,在线等: 用ADO创建数据库,不能在数据库文件中创建表

PowerHorse 2004-11-02 11:56:57
这是一段源码,工程中已经引用了 ADO 2.8 和 ADO Ext 2.8,用下面这段代码可以创建一个数据库文件,但是在创建表的时候,运行到下面的最后一句是发生错误,提示“类型无效”,清高手看看怎么会事。

Dim tbl As New ADOX.Table
Dim cat As New ADOX.Catalog
Dim connStr As String

connStr = "Provider=Microsoft.Jet.OLEDB.3.51; Data Source=MYDB.MDB"
cat.Create connStr

cat.ActiveConnection = connStr
tbl.Name = "MODEL"
tbl.Columns.Append "MODEL", adVarWChar, 9
tbl.Columns.Append "FREQ", adDouble
tbl.Columns.Append "DCR", adDouble
tbl.Columns.Append "SENS", adDouble
tbl.Columns.Append "DAMP", adDouble
tbl.Columns.Append "DIST", adDouble
tbl.Columns.Append "LEAK", adDouble
tbl.Columns.Append "TEMPERATURE", adDouble
tbl.Columns.Append "SEPA", adVarWChar, 7
tbl.Columns.Append "TDATA", adVarWChar, 21
cat.Tables.Append tbl ' 运行到这一句出错:“类型无效”
...全文
149 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
haohaohappy 2004-11-03
  • 打赏
  • 举报
回复
都用到ADO2.8了,不知比2.6强大到哪了。呵呵
另外你建立数据库直接用SQL语句是最省事的了。不妨尝试一下。
vbman2003 2004-11-03
  • 打赏
  • 举报
回复
改Jet.OLEDB.3.51为Jet.OLEDB.4.0

Dim cat As New ADOX.Catalog
Dim connStr As String

connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\MYDB.MDB"
cat.ActiveConnection = connStr

tbl.Name = "MODEL"
tbl.Columns.Append "MODEL", adVarWChar, 9
tbl.Columns.Append "FREQ", adDouble
tbl.Columns.Append "DCR", adDouble
tbl.Columns.Append "SENS", adDouble
tbl.Columns.Append "DAMP", adDouble
tbl.Columns.Append "DIST", adDouble
tbl.Columns.Append "LEAK", adDouble
tbl.Columns.Append "TEMPERATURE", adDouble
tbl.Columns.Append "SEPA", adVarWChar, 7
tbl.Columns.Append "TDATA", adVarWChar, 21
cat.Tables.Append tbl '
online 2004-11-02
  • 打赏
  • 举报
回复
测试了一下,没有问题

Dim tbl As New ADOX.Table
Dim cat As New ADOX.Catalog
Dim connStr As String
'这里修改了
connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\MYDB.MDB"
cat.Create connStr

cat.ActiveConnection = connStr
tbl.Name = "MODEL"
tbl.Columns.Append "MODEL", adVarWChar, 9
tbl.Columns.Append "FREQ", adDouble
tbl.Columns.Append "DCR", adDouble
tbl.Columns.Append "SENS", adDouble
tbl.Columns.Append "DAMP", adDouble
tbl.Columns.Append "DIST", adDouble
tbl.Columns.Append "LEAK", adDouble
tbl.Columns.Append "TEMPERATURE", adDouble
tbl.Columns.Append "SEPA", adVarWChar, 7
tbl.Columns.Append "TDATA", adVarWChar, 21
cat.Tables.Append tbl '
Andy__Huang 2004-11-02
  • 打赏
  • 举报
回复
access2000這樣建數據閘比較難﹐如果你用sql server2000來建數據是比較容易的
AllCHN 2004-11-02
  • 打赏
  • 举报
回复
adVarWChar 不是 ADOX 的类型,将 adVarWChar 换成 adChar 就应该可以了
zyg0 2004-11-02
  • 打赏
  • 举报
回复
不会用2.8只会用dao创建
hwyqy 2004-11-02
  • 打赏
  • 举报
回复
同意online(龙卷风V3.0--笑傲江湖) ,应该没什么问题吧。你再试试,不行的话把你的运行环境再报一下

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧