在 ASP 中访问 Microsoft Access 数据库使用 ADO






4.55/5 (11投票s)
一个简单的介绍,关于在你的ASP页面中使用Access .mdb数据库
引言
Windows DNA 提供了一种手段,可以将您的用户界面、业务逻辑和数据源作为单独的服务,在分布式环境中协同工作。浏览器已经成为一种极其强大而又简单的方法来提供用户界面,因为它处理了网络方面的考虑,并允许您通过简单的脚本、HTML 和样式表创建丰富的用户界面。
可以通过使用 SQLServer 或 Microsoft Jet 引擎轻松处理您的数据库方面的考虑,而您的业务逻辑(应用程序的核心,处理来自数据库的数据并将其发送到浏览器)可以是简单的 ASP 页面(如果需要,可以使用 ActiveX 控件增强)。
一旦您掌握了 ASP、HTML 和 VBScript 的基础知识,业务逻辑和用户界面就可以快速简单地处理,但是您如何使用 ASP 访问您的数据库,从而完成您的三层应用程序? 请继续阅读...
使用 ADO 和 ASP 进行简单的数据库访问
在本例中,我们将使用 Access .mdb 数据库 - 但通过更改一行(当然,正确配置数据库),我们也可以轻松地使用 SQLServer。 我们假设您的应用程序是基于 ASP 的,运行在 Microsoft 的 IIS Web 服务器上。
我们使用 ADO,因为它具有可移植性,分布广泛并且非常非常简单。
连接
要访问数据库,我们首先需要打开与其的连接,这需要创建一个 ADO Connection 对象。 然后,我们指定连接字符串并调用 Connection 对象的 Open
方法。
要打开 Access 数据库,我们的字符串将如下所示
Dim ConnectionString
ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};" &_
"DBQ=C:\MyDatabases\database.mdb;DefaultDir=;UID=;PWD=;"
其中我们关注的数据库位于 C:\MyDatabases\database.mdb,并且没有用户名或密码要求。 如果我们想使用不同的数据库驱动程序(例如 SQLServer),那么我们只需提供不同的连接字符串。
要创建 ADO Connection 对象,只需 Dim
一个变量并让服务器完成工作。
Dim Connection
Set Connection = Server.CreateObject("ADODB.Connection")
然后要打开数据库,我们(可选)设置 Connection 的某些属性并调用 Open
Connection.ConnectionTimeout = 30 Connection.CommandTimeout = 80 Connection.Open ConnectionString
检查错误,如果一切正常,那么我们就开始了。
记录
接下来,我们可能想要访问数据库中的一些记录。 这是通过 ADO RecordSet 对象实现的。 使用此对象的 Open
方法,我们可以传入数据库驱动程序支持的任何 SQL 字符串,并接收回一组记录(假设您正在 SELECT 记录,而不是 DELETE 记录)。
' Create a RecordSet Object
Dim rs
set rs = Server.CreateObject("ADODB.RecordSet")
' Retrieve the records
rs.Open "SELECT * FROM MyTable", Connection, adOpenForwardOnly, adLockOptimistic
adOpenForwardOnly
定义为 0,表示我们只想从头到尾遍历记录。 adLockOptimistic
定义为 3,允许修改记录。
如果没有错误,我们现在可以访问数据库中“MyTable”表中的所有记录。
最后一步是使用这些信息做一些事情。 我们将简单地列出它。
' This will list all Column headings in the table
Dim item
For each item in rs.Fields
Response.Write item.Name & "<br>"
next
' This will list each field in each record
while not rs.EOF
For each item in rs.Fields
Response.Write item.Value & "<br>"
next
rs.MoveNext
wend
End Sub
如果我们知道记录的字段名称,我们可以使用 rs("field1")
访问它们,其中 field1
是表中的字段名称。
始终记得关闭您的记录集和连接,并释放与其关联的任何资源
rs.Close
set rs = nothing
Connection.Close
Set Connection = nothing
结论
这是一个非常简单的演示,没有严肃的错误检查,甚至没有可读的输出格式,但它是一个开始的基础。