盡管我們可以通過設計器來創建數據庫, 但是我們也可以在asp的代碼中創建數據庫,這里我們就一起來看一下如何在asp中創建數據庫.
在ASP中創建數據庫,我們需要用到ADOX(Microsoft ADO Extensions for DDL and Security), 這個ADO的擴展可以幫助我們創建和修改數據庫結構信息, 也包括數據庫對象的安全策略. 它隨著ADO 2.1 出現, 所以它能夠在大多數的Windows平臺上工作. 您可以到MS的官方網站去獲取最新的ADO版本,當然,里邊包括了ADOX.
創建數據庫
在我們開始代碼編寫之前,確定IIS所對應的帳號IUSER_[MachineName]
為了順利創建數據庫,我們首先需要創建一個空的數據庫對象,然后我們才能創建一個新表和定義表的各列。這里有個重要的一點兒就是說,我們創建表的時候,必須在創建完數據庫后關閉數據連接。否則我們將沒有辦法創建數據庫和定義數據列。這就是為什么,我會在接下來創建兩個方法:CreateAccessDB(創建數據庫), CreateAccessTB(創建數據表),變量DBName用來定義要添加數據庫的名字,phyPath用來定義存放數據庫文件的路徑。下邊我們來看代碼:
這段代碼包含了一個adovbs.inc文件,這是個非常有用的文件,它定義了ADO和ADOX中用到的所有數值型變量,你可以在代碼中找到該文件,也可以去你自己電腦上:C:Program FilesCommon FilesSystemado下找到。如果需要在你的頁面中間引用,需要復制到網站自己的目錄下邊。
下邊是創建數據庫的代碼:
數據庫創建完了,接下來該表了,否則我們要一個沒有表的數據庫是毫無意義的。下邊是創建表的代碼:
1 Sub CreateAccessTB(DBToCreate)
2 Dim catDB ' As ADOX.Catalog
3 Set catDB = Server.CreateObject("ADOX.Catalog")
4 ' Open the catalog
5 catDB.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
6 "Data Source=" & Server.Mapath(DBToCreate)
7 Dim tblNew ' As ADOX.Table
8 Set tblNew = Server.CreateObject("ADOX.Table")
9 tblNew.Name = TBName
10 ' First Create an Autonumber column, called ID.
11 ' This is just for demonstration purposes.
12 ' You could have done this below with all the other columns as well
13 Dim col ' As ADOX.Column
14 Set col = Server.CreateObject("ADOX.Column")
15 With col
16 ParentCatalog = catDB
17 .Type = adInteger
18 .Name = "ID"
19 .Properties("Autoincrement") = True
20 End With
21 ' Now add the rest of the columns
新聞熱點
疑難解答