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

个人主页|解决|数据|数据库

      如今,CGI日渐衰落,ASP大行其道,大有取而代之之势。对个人主页制作者而言,CGI也确实太复杂了,尤其是在数据库的操作上,繁复无比让人望而生畏。相较而言, ASP则简单得多。其面向对象的思想,将复杂的底层操作掩盖,只留下简单的调用接口。对数据库的操作更是将它的优点体现得淋漓尽致。

  本文将简单介绍在个人主页中运用ASP连接数据库,实现动态网页。相信您在读完本文后,您的主页将更加精彩。

  1.在ASP中查询ACCESS 数据库

  ASP能让我们用简单的方法在网页中查询、更新数据库。下面将给出的例子用的是MS ACCESS DATABASE,但是其操作的原理却可同样地运用在任何支持ODBC的数据库上。(之所以选择ACCESS,是因为它容易操作,且被广泛使用,对大多数的中小型项目而言,ACCESS无疑是最好的选择。)

  先用ACCESS建立一个数据表如下:

用户编号姓名城市电话号码1 张三武汉027-847138582 李四北京010-995814263 王五上海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类型的数据库需要应用不同的参数值和一些附加的参数。

时间: 2024-10-31 13:50:56

个人主页的数据库ASP解决方案的相关文章

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

如今,CGI日渐衰落,ASP大行其道,大有取而代之之势.对个人主页制作者而言,CGI也确实太复杂了,尤其是在数据库的操作上,繁复无比让人望而生畏.相较而言, ASP则简单得多.其面向对象的思想,将复杂的底层操作掩盖,只留下简单的调用接口.对数据库的操作更是将它的优点体现得淋漓尽致. 本文将简单介绍在个人主页中运用ASP连接数据库,实现动态网页.相信您在读完本文后,您的主页将更加精彩. 1.在ASP中查询ACCESS 数据库 ASP能让我们用简单的方法在网页中查询.更新数据库.下面将给出的例子用的

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

个人主页|解决|数据|数据库 如今,CGI日渐衰落,ASP大行其道,大有取而代之之势.对个人主页制作者而言,CGI也确实太复杂了,尤其是在数据库的操作上,繁复无比让人望而生畏.相较而言, ASP则简单得多.其面向对象的思想,将复杂的底层操作掩盖,只留下简单的调用接口.对数据库的操作更是将它的优点体现得淋漓尽致. 本文将简单介绍在个人主页中运用ASP连接数据库,实现动态网页.相信您在读完本文后,您的主页将更加精彩. 1.在ASP中查询ACCESS 数据库 ASP能让我们用简单的方法在网页中查询.更

企业网站数据库安全管理解决方案?

问题描述 随着企业的不断壮大,庞大的数据积累使得数据库越来越难管理,对企业而言数据库的管理和维护付出了许多人力财力等等效果并不是很理想,现在好了!中国数据为企业提供了服务器租用及托管服务,这就使得企业在这个方面省了很多心,中国数据是专业的服务器租用托管提供商,在机房每天都有专业技术人员24小时值班,保障机器24小正常运行,节假日均有人值班!这样使得我们的企业能更好的进行日常工作,企业能够专心的在自己的领域发展壮大!再也不用担心服务器会出问题影响工作开展了!中国数据是江苏电信总代理,在南京.北京.

数据库连接-access 数据库asp连接代码 该sql2005连接代码 怎么改?

问题描述 access 数据库asp连接代码 该sql2005连接代码 怎么改? 以下是连接access数据库代码,如果要改成连接SQL数据库代码,应该怎么改? SQL2005数据库实例名:newdata 数据库用户名:sa 密码:888888 <% On Error Resume Next c_type=1 if c_type =1 then db="aaa/bbb.mdb"'这里修改数据库路径或名称 Set conn = Server.CreateObject("A

asp 读取数据库-asp编写的网页,读取数据库时,找不新建的表中数据,rs.eof 为真(此网页可读取别的表中的数据)

问题描述 asp编写的网页,读取数据库时,找不新建的表中数据,rs.eof 为真(此网页可读取别的表中的数据) <% size=request("size") c1=request("case") if size="" then size=20 end if n=1 title=trim(request("title")) action=request("action") sh=request(&qu

数据库进程间通信解决方案

数据库进程间通信解决方案 数据库与其他第三方应用程序进程间通信解决方案 Mr. Neo Chen (netkiller), 陈景峰(BG7NYT) 中国广东省深圳市龙华新区民治街道溪山美地518131+86 13113668890+86 755 29812080<netkiller@msn.com> $Id: MySQL-plugin.xml 587 2013-12-16 14:00:00Z netkiller $ 版权 2011, 2012, 2013 http://netkiller.gi

有没有好的数据库国际化解决方案?

问题描述 有没有好的数据库国际化解决方案? 国际化是软件实现多语言支持的要求. 如果只是界面的一些标题和提示语,很好实现,不多说. 但假如数据库里的字段要实现国际化就犯难了,我一直没有想好一个最佳实践,求大神指教. 解决方案 Android的国际化就实现的挺好,参考文章如下 android国际化(多语言) 很大程度上,为什么我们能如此方便的实现国际化.分辨率匹配等? 主要就是得益于 Android 中这种独特的资源管理方式.程序员的代码可以不直接和资源发生关系.Android 中,我们通常通过

Window Mobile RDA数据库操作解决方案研究

Window Mobile RDA数据库操作解决方案研究 一.RDA (Remote Data Access ) 远程数据访问     简单介绍:远程数据访问 (RDA) 使移动应用程序能够访问远程 SQL Server 数据库表中的数据,并将这些数据存储在本地 SQL Server Mobile 数据库表中.随后,该应用程序就可以读取和更新本地 SQL Server Mobile 数据库表.SQL Server Mobile 可以选择跟踪对本地表所做的所有更改.之后,应用程序可以将本地表中更改

云计算的时代,出现分布式存储和分布式数据库的解决方案

数据存储主要有两种方式:Database和FileSystem,后面发展出了Object-oriented storage,但是总的来看就是存储结构化和非结构化数据两种. DB开始是为了结构化数据存储和共享而服务的.FileSystem存储和共享的是大文件,非结构的数据,像图片,文档,影音等.随着数据量的增大,单机存储已经不能满足结构化和非结构化数据的需求,那么在云计算的时代,就出现了分布式存储和分布式数据库的解决方案. 1,File System, Object-oriented storag