读书人

vb6使用ADOX操作access数据库连续使用

发布时间: 2012-04-22 18:34:46 作者: rapoo

vb6使用ADOX操作access数据库连续使用Append添加查询语句时出现DBID错误,求助
代码如下

Option Explicit

Dim cmd As New ADODB.Command

Dim cat As New ADOX.Catalog

Private Sub Form_Load()
' 打开数据库
cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.Path & "\miniDB.mdb;"

cmd.CommandText = "Select * From 表1"
cat.Views.Append "MyContacts1", cmd

cat.Views.Append "MyContacts2", cmd

cat.Views.Append "MyContacts3", cmd

End Sub

现假设MyContacts1,MyContacts2,MyContacts3都不存在

运行上面的代码后
cat.Views.Append "MyContacts2", cmd

cat.Views.Append "MyContacts3", cmd

这两句会出错,错误为

实时错误 -2147217802(80040e76)
DBID 无效

后来发现,cat.Views.Append只能使用一次,再次使用时就会发生如上错误

请问大侠原因及解决方法

[解决办法]
主要原因在Command的Name属性必须唯一

读书人网 >VB

热点推荐