asp网页链接mysql服务器_在个人主页中运用ASP连接数据库实现动态网页

本文将简单介绍到个人主页的数据库ASP解决方案,教你如何在个人主页中运用ASP连接数据库实现动态网页。希望对大家有用。

如今,CGI日渐衰落,ASP大行其道,大有取而代之之势。对个人主页制作者而言,CGI也确实太复杂了,尤其是在数据库的操作上,繁复无比让人望而生畏。相较而言, 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的细节内容存贮在一个文件中,而不是存贮在系统注册表中。这个文件是简单的文本文件,用.dsn作为扩展名。

虽然这听起来挺简单,但你需要知道那些组成DSN文件的参数。下面给出一个简单的用来存取ACCESS的DSN文件,

---- file.dsn ----

[ODBC]

DRIVER=Microsoft ACCESS Driver (*.mdb)

ReadOnly=0

UserCommitSync=Yes

Threads=3

SafeTransactions=0

PageTimeout=5

MaxScanRows=8

MaxBufferSize=512

ImplicitCommitSync=Yes

FIL=MS ACCESS

DriverId=25

将它命名为file.dsn,当然,你可根据你的愿意改名。

建立了这个文件后,工作已完成了一半。下面的工作是建立一个连接。当用一个SYSTEM DSN时,建立连接只要简单地引用SYSTEM DSN:

conn.open “mydsn”(conn是连接对象的名字)

当应用如上的FILS DSN 时,你需要加入更多的参数来说明。

Conn.open “filedsn=c:\webdir\file.dsn;DBQ=c:\DATABASE\mydb.mdb;UID=admin;PWD=admin;”

C:\webdir是.dsn文件所在的目录,它需要用文件的物理路径。你可以用SERVER.MAPPATH方法来得到。

如Server.MapPath(“/mysite/file.dsn”)。同样,对于DBQ参数也需如此。UID和PWD参数是可选的。

简而概之,要建立一个可重用的FILE DSN

1)用DSN参数建立一个以dsn为扩展名的文本文件。

2)用FILEDSN和DBQ参数建立连接,你可以用SERVER.MPAPATH来得到物理路径。

3)只需更改DBQ、UID和PWD参数,就可将这个FILE DSN用到任何ACCESS数据库上。

需要注意的是,对其他非ACCESS类型的数据库需要应用不同的参数值和一些附加的参数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
木木个人主页ASP整站源码在原来的基础上新增了:卫视、翻译、解梦等栏目;更换了媒体播放器,并整合了论坛。   媒体播放器的音乐位置是打开play目录下的rhapsody.js文件自行加入   用此程序的麻烦您给做个连接,本站永久免费升级!   论坛说明:   一、论坛基本安装:   1、执行安装文件http://localhost/bbs/install.asp   2、数据库连接文件是inc/conn.asp,为发安全你可以把bbs.mdb改成bbs.asa。   3、global.asa文件要放在站点根目录下。(统计在线人数的文件)   二、功能说明:   1、支持UBB,HTML内容编辑,支持网络贴图与附件上传等,风格有点像163的论坛.   2、支持二级类别,类别自已可以添加修改。   3、支持背景音乐,不喜欢的可以关闭。   4、本论坛设以简洁高效为目标,所以不适合要求功能花俏、插件多样的使用者;   5、贴子增加了发布新贴的链接。   6、加入了贴子的版权信息。   7、贴子被修改后有被修改的记录如:修改时间谁修改的。   8、贴子加入了加锁,与取消加锁功能。   9、新增了自定义头像功能。   10、后台新加入了图片大小、类型、以及网友上传的图片是否要审核的功能。(后台参数设置)   11、投票贴加入了投票开始时间与到期时间。   12、后台用户管理加入了用户封锁功能。   13、后台用户管理还加入了图片(附件)上传权限的限制。   14、加入了首页调用功能代码。   管理入口:http://您的域名/admin.asp   论坛管理入口:http://您的域名/bbs/admin/   后台用户名密码均为:admin888
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值