如今,CGI日渐衰落,ASP大行其道,大有取而代之之势。对个人主页制作者而言,CGI也确实太复杂了,尤其是在数据库的操作上,繁复无比让人望而生畏。相较而言, ASP则简单得多。其面向对象的思想,将复杂的底层操作掩盖,只留下简单的调用接口。对数据库的操作更是将它的优点体现得淋漓尽致。
本文将简单介绍在个人主页中运用ASP连接数据库,实现动态网页。相信您在读完本文后,您的主页将更加精彩。
1.在ASP中查询ACCESS 数据库
ASP能让我们用简单的方法在网页中查询、更新数据库。下面将给出的例子用的是MS ACCESS DATABASE,但是其操作的原理却可同样地运用在任何支持ODBC的数据库上。(之所以选择ACCESS,是因为它容易操作,且被广泛使用,对大多数的中小型项目而言,ACCESS无疑是最好的选择。)
先用ACCESS建立一个数据表如下:
用户编号 |
姓名 |
城市 |
电话号码 |
1 |
张三 |
武汉 |
027-84713858 |
2 |
李四 |
北京 |
010-99581426 |
3 |
王五 |
上海 |
021-85541253 |
再请看下面的一段例子:
<% SET DBCONNECTION=SERVER.CREATEOBJECT(“ADODB.CONNECTION”) DBCONNECTION.OPEN “DSNNAME” SQLQUERY=“SELECT * FROM CUSTOMERS” SET RECUSTIONMERLIST=DBCONNECTION.EXECUTE(SQLQUERY) %> < CENTER> < TABLE BORDER=1> < % DO WHILE NOT RECUSTOMERLIST.EOF %> < TR> < TD><%=RECUSTOMERLIST(“客户编号”)%>< /TD> < TD><%=RECUSTOMERLIST(“姓名”)%>< /TD> < TD><%=RECUSTOMERLIST(“城市”)%>< /TD> < TD><%=RECUSTOMERLIST(“电话号码”)%>< /TD> < /TR> < % RECUSTOMERLIST.MOVNEXT LOOP %> < /TABLE> < /CENTER> |
可以看到,ASP的语法是VBSCRIPT,其面向对象的思想也与VB相类似,所以,只要您初通VB或者VBSCRIPT,那ASP可以很容易地上手。
上面的一部分可以说是ASP中ADO的精髓所在,下面我们讨论一下代码的内容<%和%>是ASP代码的开始和结束标志。服务器在返回用户请求时,先将<%和%>中的内容解释成为标准的html代码,再将它发送到客户浏览器。存取数据库时,首先要建立连接,也就是声明一个CONNECTION类的实例(对象),然后运用CONNECTION类的OPEN方法,将连接对象连接到一个ODBC数据源上,在上例中就是DSNNAME,这是一个DSN。至于什么是DSN,后面将有介绍,在此先按下不表。到此,数据库的连接就已经完成了,下面要进行的是数据库的操作。
操作也是很简单的,先定义一个SQL语句字串,然后调用CONNECTION的EXECUTE方法执行,执行的结果储存在一个RECORDSET类(可以看成是一个临时存放数据的表)的对象中,在上例中是RECUSTOMERLIST。这样,数据库的查询调用也就完成了,再只需将它输出即可。
在DO WHILE ...LOOP的循环中输出时,调用ASP中RESPOND对象的WRITE方法,一般可以简写为“=”。而语句RECUSTOMERLIST(字段名)返回的是当前纪录对应字段的值。最后调用的是RECORDSET类的MOVENEXT方法,将纪录指针移到下一个纪录,反复执行,直到RECUSTOMERLIST的EOF(文件尾)为真。这样,就将返回的查询结果输出了。
上面所讲的只是一点ASP数据存取的基本知识,但我们已可略窥ASP强大的功能。