首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ADOX连接到现有Access数据库

如何使用ADOX连接到现有Access数据库
EN

Stack Overflow用户
提问于 2013-06-11 08:45:53
回答 2查看 7.5K关注 0票数 3

在一个快速的google中,我了解了如何使用ADOX创建一个新的数据库,并向其中添加一些表格和行。下面是一个示例:

代码语言:javascript
复制
using ADOX;
...
ADOX.Catalog cat = new ADOX.Catalog();
cat.Create("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=mydb.accdb;");
Table mainTable = new Table();
mainTable.Name = "Test Table";
mainTable.Columns.Append("Column_1");
cat.Tables.Append(mainTable);

这将创建一个新的数据库并与新创建的数据库一起工作,但是如果我有一个现有的数据库,如何让ADOX.Catalog cat; 连接到现有的数据库呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-11 15:02:25

好吧,我想出来了。您必须将ActiveConenction属性设置为ADODB.connection对象,如下面的msdn示例所示

代码语言:javascript
复制
Dim cnn As New ADODB.Connection
Dim cat As New ADOX.Catalog

cnn.Open "Provider='Microsoft.Jet.OLEDB.4.0';" & _
    "Data Source= 'Northwind.mdb';"
Set cat.ActiveConnection = cnn
Debug.Print cat.Tables(0).Type

cnn.Close
Set cat = Nothing
Set cnn = Nothing
票数 4
EN

Stack Overflow用户

发布于 2013-06-11 14:11:58

可以使用cat.ActiveConnection为现有数据库设置连接字符串,如下所示:

代码语言:javascript
复制
Sub adoxTest()
Dim cat As New ADOX.Catalog, tbl As ADOX.Table
cat.ActiveConnection = _
        "Provider=Microsoft.ACE.OLEDB.12.0;" & _
        "Data Source=C:\Users\Public\Database1.accdb;"
For Each tbl In cat.Tables
    Debug.Print tbl.Name
Next
Set tbl = Nothing
Set cat = Nothing
End Sub
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17039905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档