选择显示字体大小

asp开发中数据库文件调用的捷径

     引言
  
    本文针对asp程序设计中最基础、也是最关键的部分"数据库文件的调用"进行说明,同时谈谈asp程序设计中数据库文件调用的一些技巧。
  
    asp简介
  
    asp(active server pages)是微软于1996年推出的web应用程序开发技术,它是一种脚本语言、activex组件及html语言等的综合,微软把它描述为"一个服务器的脚本环境,在这里可以生成和运行动态的、交互的、高性能的web服务器应用程序"。其主要功能是为生成动态的、交互式的web服务器应用程序提供一种功能强大的方式或技术。其特点是命令和脚本都在服务器中解释执行,然后送到客户端浏览器的内容只是标准的html页面。其优点是程序设计简单易懂,而且方便快捷。asp在国内的应用已非常普遍,相当一部分的动态网站都运用了asp技术。
  
    asp数据库文件的调用
  
    虽然不同的系统可能安装不同的数据库驱动程序,但一般的服务器系统都基本支持iis4.0/5.0,所以服务器系统上至少会有microsoft access driver、microsoft odbc for oracle、sql server等3种数据库驱动程序。因此,服务器系统至少可以使用accessoracle、sql server等3种数据库来从事asp网页数据库设计。由于microsoft access 97/2000属于微软的office系列之一,且界面和office系列软件相似,学习起来基本没什么障碍,因此,本文将从初学者入门的角度,使用access数据库文件来进行asp程序设计。
  
    通过access应用程序制作如图1的数据库文件(friend.mdb)
  
  
  图1
  
    那么,asp程序设计中调用该数据库文件有两种方式,一种为直接在"控制面板"的"数据源(odbc)"上进行手工设置;另外一种是编程,通过相对路径调用数据库文件,这种方式可适用在任何一台服务器上而不用再进行配置。第一种方式较为简单安全,本文所谈的是第二种方式。
  
    下面列出asp程序设计中一般读取数据库文件中表记录的方法:
  
  01: <html><body>
  02: <!--#include file="adovbs.inc"-->
  03: <%
  04:  ’使用asp的connection 对象打开数据库,数据库文件为上图的<friend.mdb>’
  05:  dim objconn
  06:  set objconn=server.createobject("adodb.connection")
  07:  objconn.connectionstring="provider=microsoft.jet.oledb.4.0;" &_
  08:    "data source=" & server.mappath("friend.mdb")
  09:  objconn.open
  10:  读取"data"表的记录,然后存放在record set对象
  11:  dim objrs
  12:  set objrs=server.createobject("adodb.recordset")
  13:  objrs.open "data",objconn,adopenkeyset,adlockoptimistic,adcmdtable
  14:  ’将目前指针所指到的记录显示在浏览器上
  15:  if not objrs. eof then
  16:   response.write "编号:"&objrs("编号")& "<br>"
  17:   response. write "姓名:"&objrs("姓名")& "<br>"
  18:   response. write "性别:"&objrs("性别")& "<br>"
  19:  else
  20:   response.write "到达数据库的结尾,已经显示完所有符合条件的记录"
  21:  end if
  22:   ’关闭数据库连接并释放对象实例
  23:   objrs. close
  24:   set objrs=nothing
  25:   objconn.close
  26:   set objconn=nothing
  27: %>
  28: </body></html
  
    上述代码为asp编程中一般打开access数据库文件的设计步骤。
  
    数据库文件调用的技巧
  
    (1)事实上,无论换成哪个access数据库,打开数据库连接与读取表记录的步骤是相同的,其中的变量在于数据库文件的名称及表的名称,所以可以将上述程序的第3~13行改写成函数的形式,并存成一个文件如:adofunctions.asp,日后要打开某个数据库文件的话,就把该文件adofunctions.asp 装(include)进来,代码如下:
  
  <%
   dim objconn
   ’变量filename为数据库文件名,变量table name为表名
   function getrecordset(filename,tablename)
    ’使用asp的connection 对象打开数据库
    set objconn=server.createobject("adodb.connection")
    objconn.connectionstring="provider=microsoft.jet.oledb.4.0;" &_
       "data source=" & server.mappath("filename")
    objconn.open
    ’读取表的记录,然后存放在record set对象"objrs"
    dim objrs
    set objrs=server.createobject("adodb.recordset")
    objrs.open tablename,objconn,adopenkeyset,adlockoptimistic,adcmdtable
   end function
  %>
  
    由上述代码可知,函数名为getrecordset,其返回值是存放了表记录的record set对象实例,存成文件名为adofunctions.asp。现在,利用该文件就可以读取任何数据库文件的记录了。如一般读取数据库的编程可简化如下:
  
  <html><body>
  <! --#include file="adovbs.inc"-->
  <! --#include file="adofunctions.asp"-->
  <%
   ’调用getrecordset函数取得一个record set对象实f例,然后指派给变量objrs
   dim objrs
   set objrs=getrecordset("friend.mdb","data")
   ’将目前指针所指到的记录显示在浏览器上
   if not objrs.eof then
    response.write "编号:"&objrs("编号")& "<br>"
    response.write "姓名:"&objrs("姓名")& "<br>"
    response.write "性别:"&objrs("性别")&"<br>"
   else
    response.write "到达数据库的结尾,已经显示完所有符合条件的记录"
   end if
   ’关闭数据库连接并释放对象实例
   objrs. close
   set objrs=nothing
   objconn.close
   set objconn=nothing
  %>
  </body></html
  
    因此,只要在这句代码set objrs=getrecordset("friend.mdb", "data")中改变数据库名称和表名称就可以调用任何access数据库文件了,当然,要注意的是,后面的数据库中每个表的字段名一定要匹配。
  
    (2)另外,无论换成哪个access数据库,打开数据库连接与筛选表记录的步骤也是相同的,其中的变量在于sql语句(如:"select * from data")、数据库文件的名称及表的名称。因此同样道理,可以将这3个变量作为函数的参数,撰写getsqlrecordset函数,并存成文件名为adosqlfunctions.asp,日后要用到的话,只要在程序的最前面把这个文件include进来,就可以利用getsqlrecordset函数打开数据库连接,同时也进行筛选表记录,该函数的返回值是存放了符合sql语句的record set对象实例。
  
    代码如下:
  
  <%
  dim objconn
  dim getsqlrecordset
  function getsqlrecordset(strsql,filename,tablename)
  ’使用asp的connection 对象打开数据库
  
  set objconn=server.createobject("adodb.connection")
  objconn.connectionstring="provider=microsoft.jet.oledb.4.0;" &_
  "data source=" & server.mappath("filename")
  objconn.open
  ’从表读取符合sql语句的记录并存放在record set对象
  set getsqlrecordset=server.createobject("adodb.recordset")
  getsqlrecordset.open_ strsql,objconn,adopenkeyset,adlockoptimistic,adcmdtext
  end function
  %>
  
    上述代码中函数名称为:getsqlrecordset,文件名为adosqlfunctions.asp
  
    现在,利用该文件就可以调用任何access数据库的连接,同时对表记录进行筛选的操作。以friend.mdb文件为例,列出表data中所有的记录,程序代码如下:
  
  <html><body>
  <!--#include file="adovbs.inc"-->
  <!--#include file="adosqlfunctions.asp"-->
  <%
   dim objrs
   set objrs=getsqlrecordset("select 编号,姓名,性别from_ data","friend.mdb","data")
   do while not objrs.eof
    response.write "编号:"&objrs("编号")&"<br>"
    response.write "姓名:"&objrs("姓名")&"<br>"
    response.write "性别:"&objrs("性别")&"<br>"
   loop
  
   objrs.close
   set objrs=nothing
   objconn.close
   set objconn=nothing
  %>
  </body></html
  
    小结
  
    在asp编程中,利用好函数往往可以对我们的程序代码简单明了化,读取条理也容易维护,同时也可避免大量的重复繁杂的代码。像上述的情况,若只是简单的与数据库连接,则用第一种情况,将文件adorecordset.asp 装(include)进来就可以了,若要对数据库中某个表的记录进行筛选或其他sql语句操作,则用第二种情况,将文件adosqlrecordset.asp装进来就可以了。
  
  
    


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons