怎么在用asp代码来创建Access数据库

【IT168技术文档】 

  尽管我们可以通过设计器来创建数据库, 但是我们也可以在asp的代码中创建数据库,这里我们就一起来看一下如何在asp中创建数据库. 

  在ASP中创建数据库,我们需要用到ADOX(Microsoft ADO Extensions for DDL and Security), 这个ADO的扩展可以帮助我们创建和修改数据库结构信息, 也包括数据库对象的 安全 策略. 它随着ADO 2.1 出现, 所以它能够在大多数的Windows平台上工作. 您可以到MS的官方网站去获取最新的ADO版本,当然,里边包括了ADOX. 

  创建数据库 

  在我们开始代码编写之前,确定IIS所对应的帐号IUSER_[MachineName](MachineName:一般是你的计算机名) 拥有对您要创建数据库的目录有写入权限。你也可以打开要保存数据库文件的目录的属性对话框,找到安全选项,添加上述用户的写入权限。 

  为了顺利创建数据库,我们首先需要创建一个空的数据库对象,然后我们才能创建一个新表和定义表的各列。这里有个重要的一点儿就是说,我们创建表的时候,必须在创建完数据库后关闭数据连接。否则我们将没有办法创建数据库和定义数据列。这就是为什么,我会在接下来创建两个方法:CreateAccessDB(创建数据库), CreateAccessTB(创建数据表),变量DBName用来定义要添加数据库的名字,phyPath用来定义存放数据库文件的路径。下边我们来看代码:
 
 
1 <!-- #include virtual="/Includes/adovbs.inc" --> 2 <% 3 Dim DBName,phyPath 4 DBName = " DB.mdb" 5 phyPath = Server.Mapath(DBName) 6 DTName = " Contacts "
  这段代码包含了一个adovbs.inc文件,这是个非常有用的文件,它定义了ADO和ADOX中用到的所有数值型变量,你可以在代码中找到该文件,也可以去你自己电脑上:C:\Program Files\Common Files\System\ado下找到。如果需要在你的页面中间引用,需要复制到网站自己的目录下边。 
  下边是创建数据库的代码:
 
 
1 Sub CreateAccessDB(DBToCreate) 2 Dim catNewDB ' As ADOX.Catalog 3 Set catNewDB = Server.CreateObject( " ADOX.Catalog " ) 4 catNewDB.Create " Provider=Microsoft.Jet.OLEDB.4.0; " & _ 5 " Data Source= " & Server.Mapath(DBToCreate) & _ 6 " ;Jet OLEDB:Engine Type=5;" 7 ' Engine Type=5 = Access 2000 Database 8 ' Engine Type=4 = Access 97 Database 9 Set catNewDB = Nothing 10 End Sub
  数据库创建完了,接下来该表了,否则我们要一个没有表的数据库是毫无意义的。下边是创建表的代码:
 
 
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 22 With tblNew 23 ' Create fields and append them to the 24 ' Columns collection of the new Table object. 25 With .Columns 26 .Append " NumberColumn " , adInteger 27 .Append " FirstName " , adVarWChar 28 .Append " LastName " , adVarWChar 29 .Append " Phone " , adVarWChar 30 .Append " Notes " , adLongVarWChar 31 End With 32 33 Dim adColNullable ' Is not defined in adovbs.inc, 34 ' so you need to define it here. 35 ' The other option is adColFixed with a value of 1 36 adColNullable = 2 37 With .Columns( " FirstName " ) 38 .Attributes = adColNullable 39 End With 40 End With 41 ' Add the new Table to the Tables collection of the database. 42 catDB.Tables.Append tblNew 43 Set col = Nothing 44 Set tblNew = Nothing 45 Set catDB = Nothing 46 End Sub
  然后,可以在需要的地方调用:
 
 
1 ' First call the Create Database method 2 CreateAccessDB DBName 3 4 ' Then add a table and columns to this database 5 CreateAccessTB DBName

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值