vb6 怎样使用ADOX向一个access数据库添加新数据表
我使用的是:“Microsoft ADO Ext. 2.8 for DDL and Security”这个部件。
现在问题是我要向一个已经存在的access数据库 添加一个数据表
一下代码想打开数据库:
Dim strConn as String
Dim cat As ADOX.Catalog
strConn = Trim("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbPath)
cat.Create strConn
可是当用ADOX打开数据库时,报错说:“数据库已经存在” 错误代码:-2147217897
cat里面是空的。
那我该如何向已存在的数据库添加新表呢?
[解决办法]
Private Sub Command1_Click() Dim cat As New ADOX.Catalog Dim tbl As New Table Dim s As String Dim snow() As String, i As Long, n As Long Dim a As String Dim pstr As String pstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb;Persist Security Info=False" n = 3 ReDim snow(n, 1) For i = 0 To n snow(i, 0) = "x" & i tbl.Columns.Append snow(i, 0), adInteger, 2 tbl.Columns(i).Attributes = adColNullable '允许空 Next i s = "mytest" '表名 cat.ActiveConnection = pstr tbl.Name = s cat.Tables.Append tbl MsgBox "建表 " & s & " 成功!", 64, "提示"End Sub
[解决办法]
不要用
cat.Create //这个是创建新数据库用的
如果仅仅打开已存在的数据库
cat.ActiveConnection = strConn
即可。