在一个快速的google中,我了解了如何使用ADOX创建一个新的数据库,并向其中添加一些表格和行。下面是一个示例:
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; 连接到现有的数据库呢?
发布于 2013-06-11 15:02:25
好吧,我想出来了。您必须将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发布于 2013-06-11 14:11:58
可以使用cat.ActiveConnection为现有数据库设置连接字符串,如下所示:
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 Subhttps://stackoverflow.com/questions/17039905
复制相似问题