在google上,我发现了如何使用adox创建一个新的数据库,并向其中添加一些table和rows。下面是一个例子:

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;连接到现有的数据库?

最佳答案

好吧,我想出来了。必须将activeconenction属性设置为adodb.connection对象,如下例中的msdn所示:

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

08-08 08:56