WWW是目前Internet上发展最快的领域,也是Inernet网上最重要的信息检索手段。早期的WEB页面主要是用来传递静态的HTML文档,后来由于CGI接口、VBScript和JavaScript语言的引入,特别是近几年发展起来的ASP技术,使得WEB页面可以方便传播动态信息。借助ASP技术,可以设计出具有声音、动画、图形、图像和各种特殊效果的WEB页面,以及方便的访问数据库。 一、ASP技术 1。ASP工作原理 ASP,是ActiveServerPages的缩写,即服务器端动态网页。它是基于WEB的一种编程技术,能够把HTML文件、脚本命令以及COM组件组合在一起,形成一个能够在服务器端运行的动态WEB应用程序,并能够按照用户的要求制作出标准的HTML页面传递给客户端浏览器。 有了ASP,就不必担心用户的浏览器是否能够读懂动态网页中所编写的代码,因为所有的程序都在服务器端执行。当程序执行完毕后,服务器端执行的结果返回给客户端浏览器,这样就减轻了客户端浏览器的负担,大大提高了交互的速度。 2。ASP的运行环境 目前,ASP可运行在以下三种环境:WindowsNT(2000Server)IIS4。0(InternetInformationServer)以上;WindowsNTworkstationPeerWebSWindows9598PWS(PersonalWebServer)。 3。ASP文件的建立 ASP的程序代码简单、通用,文件名由。asp结尾,通常由四个部分构成:标准的HTML标记;ASP语法命令:位于之间;服务器端的include语句;脚本语言。 4。ASP的内置对象 在面向对象编程中,对象是具有属性(数据)和方法(行为方式)的实体。ASP中提供了六个内置对象供用户直接调用,它们分别是:Application对象,控制服务器端应用程序的启动和终止状态,并保存整个应用程序过程中的信息;Request对象,从用户端获取信息传递给服务器,它是ASP读取用户输入的主要方法;Response对象,服务器将输出的内容发送到客户端;Server对象,提供服务器的方法和属性;Session对象,存储特定的用户会话所需的信息;ObjectContext对象,配合服务器进行分布事务处理。 二、ASP中的数据库访问 在ASP中,利用ADO(ActiveXDataObjects)可以方便地访问数据库,很好地对数据库进行处理。笔者通过一个实例,具体阐述ASP利用ADO访问数据库的过程。在该实例中,用户希望通过网页能够访问服务器中的teacher数据库中的Information数据表,然后将该表中的所有数据显示在返回表格中,具体步骤如下: 1。定义数据源 在WEB服务器上,打开控制面板,选中ODBC,在系统DSN下选添加,选定数据库种类、名称、位置等。该实例数据库种类是SQLServer,名称是teacher。 2。创建ADO的对象 ASP技术中的ADO对象组件作为用户快速访问数据库的最简便方式,只要使用ADO中的两个最基本的对象Connection和Recordset对象,就能够实现对数据库的访问。具体来说,Connection对象的功能是建立和特定数据库的连接,而Recordset对象的功能则是取得从该数据库中返回的查询数据。首先,应为Connection和Recordset对象创建各自的对象实例: SetConnServer。CreateObject(ADODB。Connection) SetRSServer。CreateObject(ADODB。Recordset) 其中,RS和Conn分别是对象实例名称,用户可以自行定义。这样就成功地创建了两个空的Connection和Recordset对象。 3。建立与数据库的连接 使用Connection对象的Open方法建立与特定数据库的连接,Connection对象的Open方法有3个参数选项,分别为目标数据库的名称、登录用户名和口令,语法为ConnOpenConnectionString,UserID,Password。其中,ConnectionString参数表示与数据源建立的相关信息,如果用户已经成功建立了该数据库的DNS,就可以直接的使用该DNS。另外两个参数登录用户名和口令为可选项,如果用户在建立数据连接的DNS时已经设定了登录用户名和口令,就可以省略这两个参数项。在此,用户使用Connection对象的Open方法与teacher数据库建立连接,具体形式为Conn。Openteacher。 4。使用Recrodset对象获取数据 用户希望取得teacher数据库中Information数据表中的所有数据,因此使用最简单的SelectFromInformation即可。为了使代码更直观,容易修改和维护,建议用户将上述的SQL语句用某个变量代替。具体为 SQLSelectFromInformation 其中,SQL为变量名,用户可以自行定义,然后使用Connection对象中的Execute方法执行该SQL语句,并将结果输入到Recordset对象中,具体为: SetRSConn。Execute(SQL) 至此,ADO从数据库中查询到的所有数据被保存到Recordset对象中。 5。检验Recordset对象是否为空 在对Recordset对象中的数据进行进一步处理之前,建议用户最好验证一下是否确实将查询结果数据保存到了Recordset对象中。用户可以使用Recordset对象的BOF和EOF属性实现验证功能。BOF如果为真则代表数据指正位于首行数据之前,如果EOF为真则代表为数据指正位于末行数据之后,如果两者皆为真,则说明Recordset对象为空。具体代码为: if(RS。EOFandRS。BOF)then response。writeNOrecordsfound endif 6。处理Recordset对象数据 在验证Recordset对象中确实含有查询返回数据之后,用户就可以按照自己的需要对数据进行响应的处理。通常较为常用的Recordset命令为: Recordset。Fields。Count:Recordset对象的列数; Recordset(I)。Name:第I列名称,I由0到Recordset。Fields。Count1; Recordset(I)第I列数据,I由0到Recordset。Fields。Count1; Recordset(列名称):读取指定列的数据; Recordset。MoveNext:数据指针下移一行; Recordset。MovePrev:数据指针上移一行; Recordset。MoveFirst:数据指针移到第一行; Recrodset。MoveLast:数据指针移到最末一行。 接下来的问题是如何将Recordset对象中的数据显示出来。如果用户希望以表格的形式显示数据,则首先需要ASP页面中建立表格标签:,然后用户需要将表中第一行的各列数据名称显示出来。在此用户通过Recordset(I)。Name命令实现: FORI0toRS。Fields。Count1 RS(I)。N td N tr 在设定了首行各列名称之后,用户就可以依次把相应的数据填充到表格当中。 DoWhileNotRS。EOF FORI0toRS。Fields。Count1 RS(I) td tr RS。MoveN L 7。正确关闭对象 在完成对数据库数据的查询和输出之后,用户一定不要忘记关闭打开的对象。关闭已打开的对象,不仅能够释放更多的服务器资源,而且可以断开与数据库已建立的连接,从而有效地增强服务器和数据库对多用户的支持。用户可以使用对象的Close方法关闭对象,将其从内存中清除: RS。C Conn。C (作者单位:江苏省淮安技师学院) table