|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
如今,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的细节内容存贮在一个文件中,而不是存贮在系 统注册表中。这个文件是简朴的文本文件,用.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:webdirfile.dsn;DBQ=c:DATABASEmydb.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类型的数据库需要应用不同的参数值和一些附加的参数。 返回类别: 教程 上一教程: 使用SPLIT分割多字符的字符串的方式 下一教程: 聊天室要害技术[用户断线]处理 您可以阅读与"个人主页的数据库解决方案ASP"相关的教程: · 两个不同数据库表的分页显示解决方案 · 无组件上传文字与图片至数据库之GZTIGER解决方案 · 无组件上传图片到数据库中,最完整解决方案 · 对于ASP编码问题的深入研究与最终解决方案 · ASP中数据库调用常见错误解决 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |