当前位置: 首页 > 图文教程 > 网络编程 > ASP > 个人主页的数据库解决方案ASP

ASP
asp下查询xml的实现代码
一个asp版XMLDOM操作类
ASP XML编程objXML.async = False
asp按关键字查询XML的代码
asp下用fso和ado.stream写xml文件的方法
SQL"不能为新插入的行确定标识"错误的解决方法
asp 类型转换函数大全
ASP存储过程开发应用详解
asp 静态页面的另一种思路
EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)
ASP访问数量统计代码
asp中文数字验证码
Ajax+asp应用实例 注册模块,表单提交
将ASP记录集输出成n列的表格形式显示的方法
ASP 游标参数详解(ASP记录集)
关于ASP循环表格的问题之解答[比较详细]
ASP Recordset 分页显示数据的方法(修正版)
ASP ajax分页教程一
Asp Oracle存储过程返回结果集的代码
XMLHttp ASP远程获取网页内容代码

个人主页的数据库解决方案ASP


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 200 ::
收藏到网摘: n/a

  eNet学院


  如今,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强大的功能。

  2.现在我们可以通过ASP来存取数据库,实现动态效果。但还有一个问题:现在提供ASP支持的个人免费网页,大多数并不提供
数据库的支持。也就是说,你无法在它的数据库系统中建立并拥有自己的数据库。若用本地数据库,你也无法配置服务器主机中的
ODBC,无法得到你本地数据库的DSN,也就不能通过ASP来存取数据库了。怎么解决这个问题呢?下面的讨论将给出一个简单的方
法,那就是FILE DSN。

  首先解释几个名词

  DSN:根据MICROSOFT的官方文档,DSN的意思是“应用程序用以请求一个连到ODBC数据源的连接(CONNECTION)的名字”,换句
话说,它是一个代表ODBC连接的符号。它隐藏了诸如数据库文件名、所在目录、数据库驱动程序、用户ID、密码等细节。因此,当
建立一个连接时,你不用去考虑数据库文件名、它在哪儿等等,只要给出它在ODBC中的DSN即可。

  FILE DSN: 当我们讨论这个问题时,先看看其他的DSN类型

  SYSTEM DSN:这种DSN可以被任何登录到系统中的用户使用。

  USER DSN:这是为特定用户建立的DSN。只有建立这个DSN的用户才能看到并使用它。在上面的两种情况中,DSN的细节都储存
在系统的注册表中。

  知道了上面的预备知识后,让我们来看看什么是FILE DSN。FILE DSN 将DSN的细节