打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
怎么在用asp代码来创建Access数据库
userphoto

2017.04.21

关注

【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下找到。如果需要在你的页面中间引用,需要复制到网站自己的目录下边。
  下边是创建数据库的代码:
1Sub 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
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C#程序中:access数据库中如何新建数据表
VBA数据库解决方案第11讲,如何动态建立数据库和数据库表
用ASP实现一个真正的注册页面
用VB动态创建Access数据库简例
ASP.NET备份/恢复数据库(转)
VB程序中用ADO对象动态创建数据库和表
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服