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

ASP
对连串英文自动换行的解决方法 IE5.5
怎样写你自己的EMAIL组件(原理)
ASP中有关timeout超时的体会
用ASP实现从SQL Server导出数据到Access
ASP向NT域中加一个用户
ASP乱码的解决方法
关于 aspsmartupload 注册问题
利用XML不离开页面刷新数据
IIS 处理 SEARCH 请求漏洞
不用组件实现上载功能(1)
不用组件实现上载功能(2)
在网页中实现OICQ里的头像选择的下拉框
仅用xsl和asp实现分页功能
如何使用context()方法将数据置入表格(XML)
利用ASP从远程服务器上接收XML数据
将数据库里面的内容生成EXCEL
怎样在ASP里面创建统计图表
加密你的Access数据库
利用global.asp定时执行ASP
加密QueryString数据

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 56 ::
收藏到网摘: 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的细节