ASP有一个最重要的功能,就是它可以让你非常轻松地连接数据库。通常都是和一个Access或者一个SQL数据库相连。因为Access是最容易起步的,同时,在你的机器上也许已经都装有Access了,所以,在下面的例子中,我们都将使用Access来做例子。一旦你学习了ASP和Access数据库连接的核心技术方法,当你开始使用SQL server的时候,你就会发现,两者所需要的关键技术是基本相同的。
当你要连接数据库的时候,你需要在服务器上将这个数据库打开。你可以通过使用数据源名(DSN)或者通过在你的脚本语言中直接使用一个DSN-less连接的方法来连接和打开数据库。
现在,新的DSN现在就会在系统DSN中显示,并且可以在你的本地服务器上使用了。
要创建一个DSN-less连接,你就需要提供同样的信息。下面这个例子就显示了如何给一个叫products的数据库建立一个DSN-less连接:
<%
StrConnect = "Driver={Microsoft
Access Driver (*.mdb)}; DBQ=C:dbproducts.mdb"
Set objConn = Server.CreateObject
("ADODB.Connection")
objConn.OpenStrConnect
%>
第二行定义了数据库的驱动和物理路径。为了要使用一个DSN-less连接,你就需要知道实际的文件存放地点(绝对路径)。Server.MapPath给任何一个使用主机服务的人提供了一个简单的工作环境来查找出那些难于查到的实际访问路径。
如果我们已经建立了一个系统DSN,并命名为products,则连接码应该为:
<%
Set objConn = Server.CreateObject
("ADODB.Connection")
objConn.Open "products"
%>
现在,数据库就已经打开了,那么你可以做些什么呢?第一件事情当然就是阅读数据库中的一系列记录,并将它们放到你的页面中去。但是,在这之前,你需要一个recordset。
Set objRec = Server.CreateObject
("ADODB.Recordset")
objRec.Open "downloadable", strConnect, 0,1,2
这个语句就创建了一个名为downloadable表的recordset(objRec),这个表在products数据库的strConnect中定义。使用Recordset open, 我们就可以循环浏览这个表,并且可以将它的所有内容都显示到屏幕上。或者,我们可以测试特定字段的内容,也可以只将我们关注的内容写到屏幕上去。
每一列代表一个字段。所以,如果数据库表如下所示:
Product ID |
SKU |
Name |
File |
1 |
PR12345 |
Product A |
install_a.exe |
2 |
PR12346 |
Product B |
Install_b.exe |
那么,我们就有如下字段的内容:ProductID, SKU, Name, 和File。你的表很可能会有许多额外的字段内容,可能包含很多东西,如价格或者是产品(商品)描述。但是这个示意图可以给你提供最基本的数据库表的概念。