尽管我们可以通过设计器来创建数据库, 但是我们也可以在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
新闻热点
疑难解答