基于ASP技术开发Web数据库检索程序

(整期优先)网络出版时间:2009-09-07
/ 3
摘要:文章以ASP技术为基础,介绍了基于ASP技术开发数据库检索程序的产生机理和
方法,并针对Web数据库检索程序特点,采用全文检索数据库方式,来实现基于ASP技术
开发Web数据库检索程序。
关键词:ASP技术;Web数据库;检索程序

1前言
1.1ASP(ActiveServicePage),是微软推出的动态Web设计技术,是一种用于WWW服务的服务器端脚本环境,在站点的Web服务器上解释脚本,可产生并执行动态、交互式、高效率的站点服务器应用程序。利用它,可以很容易地把HTML标记、文本、脚本命令及ActiveX组件混合在一起构成ASP页,以此来生成动态网页,创建交互式的Web站点,实现对Web数据库的访问。
1.2当用户使用浏览器请求ASP主页时,WEB服务器响应,调用ASP引擎来执行ASP文件,并解释其中的脚本语言(JScript或VBScript),通过ODBC连接数据库,由数据库访问组件ADO(ActiveXDataObjects)完成数据库操作,最后ASP生成包含有数据查询结果的HTML主页返回用户端显示。
2ASP技术及访问机理
由于ASP在服务器端运行,运行结果以HTML主页形式返回用户浏览器。ASP技术的核心是内置的ActiveX服务器组件和对象。ActiveX服务器组件包括∶数据库访问组件(DatabaseAccesscomponent),提供访问服务器数据库的功能;文件访问组件(FileAccesscomponent),提供读写服务器文件的功能;广告轮播器组件(AdRotatorcomponent),提供广告轮播器的功能;内容链接组件(ContentLinkingcomponent),提供管理超级链接、上一页、下一页等链接功能;浏览器信息组件(BrowserCapabilitiesComponent),提供有关浏览器信息。内置对象包括∶请求(Request),从前端用户取得信息;响应(Response),将信息送给前端用户;服务器(Server),提供Web服务器工具。应用(Application),管理所有的会话信息,供所有用户共享;会话(Session),储存一次会话内的用户信息,仅被该用户访问;对象上下文(ObjectContext),配合Transaction服务器进行分布式事务处理。
3数据库检索程序的开发
ASP技术是开发网上数据库服务系统的重要手段,利用ASP技术可以进行有效的网上数据库检索系统的开发利用。
3.1通用检索主页的设计
通用检索主页的设计,实际就是对一个HTMLFORM表单进行编码和提交的过程。FORM表单是HTML中能够实现Web页面交互性的重要组成部分,它为Web页面提供了丰富的交互对象,可以方便地完成信息查询条件的录入及数据库、检索途径的选择等。
3.2数据库接口程序设计
数据库接口程序设计的关键是通过ActiveX服务器组件ADO及包含的对象,实现对数据源的读写,用户可在浏览器画面中检索、输入、更新和删除数据库信息,从而建立提供数据库信息的主页内容。ADO主要提供了七个对象和四个集合来完成对于数据库的管理,包括:Connection、Command、Parameter、Recordset、Field、Property、Error以及Fields、Properties、Parameters、Errors。
3.2.1定义数据源
  在WEB服务器上打开“控制面板”,选中“ODBC”,在“系统DSN”下选“添加”,选定你希望的数据库种类、名称、位置等。本文定义“SQLSERVER”,数据源为“HT”,数据库名称为“HTDATA”,脚本语言采用Jscript。
3.2.2创建数据库链接(Connection)
创建数据库链接(Connection)。通过服务器对象的CreateObject方法,可以创建Connection对象和使用变量接受对象引用。一旦连接对象创建之后,它就可用来打开到任何ODBC数据源的连接。
3.2.3创建数据对象(Recordset)
创建数据对象(Recordset)。
DimRs‘申明变量’
SetRs=Server.CreatObject("ADODB.Recordset")‘创建数据对象’
Rs.PageSize=10‘设置一页所显示的记录数’
3.2.4操作数据库
(1)首先要定义SQL查询语句:
Dimsql‘申明变量’
sql="select*frompublicationwheretitlelike’ASP%%’"‘定义SQL查询语句’,检索数据库的publication表中名以ASP开头的所有信息的记录。
ConstadOpenkeyset=1‘定义Recordset的类型’
(2)然后执行该查询命令,Rs.OpenSql,conn,adOpenkeyset‘执行sql语句’,在数据对象Rs中保存检索结果。

如调用Server.CreateObject方法取得“ADODB.Connection”的实例,再使用Open方法打开数据库:
conn=Server.CreateObject(“ADODB.Connection”)
  conn.Open(“HT”)
  来操作数据库。
(3)最后指定要执行的SQL命令
  连接数据库后,可对数据库操作,如查询,修改,删除等,这些都是通过SQL指令来完成的,如要在数据表signaltab中查询代码中含有“X”的记录
  sqlStr=“select*fromsignaltabwherecodelike‘%X%’”
  rs=conn.Execute(sqlStr)
4数据库检索代码
基于ASP技术开发的Web数据库检索程序,是利用数据库检索系统网络结构和开发工具,将多个数据库集成在一个平台上,来实现多数据库的检索,从而提高数据库的检索效率。
以下是一个全文索引的数据库检索部分代码:
SubInitialize
DimArrNsfAsVariant
DimitemAsNotesItem
’获得文档context,因为此代理是一个$$QuerySaveAgent,所以$$QuerySaveAgent
可以访问Context文档上的项目。
DimsessAsNewNotesSession
DimdocAsNotesDocument
Setdoc=sess.DocumentContext
’获得欲检索的数据库,存放在数组ArrNsf内:
ArrNsf=doc.DatabaseName
’如果没有输入检索条件,则输出提示信息:
IfTrim(Cstr(doc.Query(0)))=""Then
GotoEmptyQuery
EndIf
DimMatchDocAsNotesDocument
DimdbAsNotesDatabase,
DimcollectionAsNotesDocumentCollection
’下列循环从数组ArrNsf中取得欲检索的数据库进行处理:
FornsfCount=0ToUbound(ArrNsf)
SearchDB=ArrNsf(nsfCount)
Setdb=sess.GetDatabase("",SearchDB)
’出现错误则转向:
OnErrorGotoBadQuery
’获得满足查询条件的记录集:
Setcollection=db.FTSearch(doc.Query(0),0)
OnErrorGoto0
’输出数据库标题: ’输出该数据库中满足条件的记录个数:
Thereare"&Str$(collection.Count)&"matching
documents

’下列循环从满足条件的记录集中读取记录并输出:
Fori%=1Tocollection.Count
SetMatchDoc=collection.GetNthDocument(i%)


’如果文档包含Subject或Title,则输出Subject或Title:
Setitem=MatchDoc.GetFirstItem("Subject")
If(itemIsNothing)Then
Setitem=MatchDoc.GetFirstItem("Title")
EndIf
IfNot(itemIsNothing)Then
"&item.Name&":&item.Text
EndIf
’如果文档包含Categories,则输出Categories:
Setitem=MatchDoc.GetFirstItem("Categories")
IfNot(itemIsNothing)Then
Printitem.Name&":"&item.Text
EndIf
’输出文档产生日期和作者:
createDate=MatchDoc.Created
Documentcreatedate:&createDate
Authors:
ForallaAuthorInMatchDoc.Authors
PrintaAuthor
EndForall


Next
Next
Out:

ExitSub
EmptyQuery:
Searchquerycannotbeempty
ResumeOut
BadQuery:
Queryisnotunderstandable:"&doc.Query(0)&{"
ResumeOut
EndSub
5总结
5.1Web服务的应用越来越广,其数据索引也随之有增无减。同时,在编写Web数据库检索代码时,既要考虑其安全性,又要确保应用的高质量,致使及时开发相应的数据库检索程序越来越迫切。
5.2ASP技术是中小型自主开发网上数据库服务系统工具。本文从Web网上数据库检索系统的设计出发,探讨了如何利用ASP技术进行有效的网上数据库检索系统的开发利用,具有较强的现实意义。


参考文献:
[1]刘云生.数据库设计与分析[M].武汉:华中理工大学出版社,1993.
[2]严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,2001.
[3]郑若忠,宁洪.数据库原理[M].湖南:国防科技大学出版社,1998.
[4]李大友.数据库原理及应用[M].北京:清华大学出版社,1993.