PaperTan: 写论文从未如此简单

计算机应用

一键写论文

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

作者:刘涛;邓勇 时间:2007-01-18

文章以ASP技术为基础,介绍了基于ASP技术开发数据库检索程序的产生机理和 方法,并针对Web数据库检索程序特点,采用全文检索数据库方式,来实现基于ASP技术 开发Web数据库检索程序。

1前言

1.2当用户使用浏览器请求ASP主页时,WEB服务器响应,调用ASP引擎来执行ASP文件,并解释其中的脚本语言(JScript或VBScript),通过ODBC连接数据库,由数据库访问组件ADO(ActiveXDataObjects)完成数据库操作,最后ASP生成包含有数据查询结果的HTML主页返回用户端显示。

2ASP技术及访问机理

由于ASP在服务器端运行,运行结果以HTML主页形式返回用户浏览器。ASP技术的核心是内置的ActiveX服务器组件和对象。ActiveX服务器组件包括∶数据库访问组件(DatabaseAccesscomponent),提供访问服务器数据库的功能;文件访问组件(FieAccesscomponent),提供读写服务器文件的功能;广告轮播器组件(AdRotatorcomponent),提供广告轮播器的功能;内容链接组件(ContentLinkingcomponent),提供管理超级链接、上一页、下一页等链接功能;浏览器信息组件(BrowserCapabiitiesComponent),提供有关浏览器信息。内置对象包括∶请求(Request),从前端用户取得信息;响应(Response),将信息送给前端用户;服务器(Server),提供Web服务器工具。应用(Appication),管理所有的会话信息,供所有用户共享;会话(Session),储存一次会话内的用户信息,仅被该用户访问;对象上下文(ObjectContext),配合Transaction服务器进行分布式事务处理。

3数据库检索程序的开发

ASP技术是开发网上数据库服务系统的重要手段,利用ASP技术可以进行有效的网上数据库检索系统的开发利用。

3.1通用检索主页的设计

通用检索主页的设计,实际就是对一个HTMLFORM表单进行编码和提交的过程。FORM表单是HTML中能够实现Web页面交互性的重要组成部分,它为Web页面提供了丰富的交互对象,可以方便地完成信息查询条件的录入及数据库、检索途径的选择等。

3.2数据库接口程序设计

数据库接口程序设计的关键是通过ActiveX服务器组件ADO及包含的对象,实现对数据源的读写,用户可在浏览器画面中检索、输入、更新和删除数据库信息,从而建立提供数据库信息的主页内容。ADO主要提供了七个对象和四个集合来完成对于数据库的管理,包括:Connection、Command、Parameter、Recordset、Fied、Property、Error以及Fieds、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查询语句:

Dimsq‘申明变量’

sq="seect*frompubicationwheretiteike’ASP%%’"‘定义SQL查询语句’,检索数据库的pubication表中名以ASP开头的所有信息的记录。

ConstadOpenkeyset=1‘定义Recordset的类型’

(2)然后执行该查询命令,Rs.OpenSq,conn,adOpenkeyset‘执行sq语句’,在数据对象Rs中保存检索结果。

如调用Server.CreateObject方法取得“ADODB.Connection”的实例,再使用Open方法打开数据库:

conn=Server.CreateObject(“ADODB.Connection”)

conn.Open(“HT”)

来操作数据库。

(3)最后指定要执行的SQL命令

连接数据库后,可对数据库操作,如查询,修改,删除等,这些都是通过SQL指令来完成的,如要在数据表signatab中查询代码中含有“X”的记录

sqStr=“seect*fromsignatabwherecodeike‘%X%’”

rs=conn.Execute(sqStr)

4数据库检索代码

基于ASP技术开发的Web数据库检索程序,是利用数据库检索系统网络结构和开发工具,将多个数据库集成在一个平台上,来实现多数据库的检索,从而提高数据库的检索效率。

以下是一个全文索引的数据库检索部分代码:

SubInitiaize

DimArrNsfAsVariant

DimitemAsNotesItem

’获得文档context,因为此代理是一个QuerySaveAgent,所以QuerySaveAgent,所以QuerySaveAgent

可以访问Context文档上的项目。

DimsessAsNewNotesSession

DimdocAsNotesDocument

Setdoc=sess.DocumentContext

’获得欲检索的数据库,存放在数组ArrNsf内:

ArrNsf=doc.DatabaseName

’如果没有输入检索条件,则输出提示信息:

IfTrim(Cstr(doc.Query(0)))=""Then

GotoEmptyQuery

EndIf

DimMatchDocAsNotesDocument

DimdbAsNotesDatabase,

DimcoectionAsNotesDocumentCoection

’下列循环从数组ArrNsf中取得欲检索的数据库进行处理:

FornsfCount=0ToUbound(ArrNsf)

SearchDB=ArrNsf(nsfCount)

Setdb=sess.GetDatabase("",SearchDB)

’出现错误则转向:

OnErrorGotoBadQuery

’获得满足查询条件的记录集:

Setcoection=db.FTSearch(doc.Query(0),0)

OnErrorGoto0

’输出数据库标题:

’输出该数据库中满足条件的记录个数:

Thereare"&Str$(coection.Count)&"matching

documents

’下列循环从满足条件的记录集中读取记录并输出:

Fori%=1Tocoection.Count

SetMatchDoc=coection.GetNthDocument(i%)

’如果文档包含Subject或Tite,则输出Subject或Tite:

Setitem=MatchDoc.GetFirstItem("Subject")

If(itemIsNothing)Then

Setitem=MatchDoc.GetFirstItem("Tite")

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:

ForaaAuthorInMatchDoc.Authors

PrintaAuthor

EndFora

Next

Next

Out:

ExitSub

EmptyQuery:

Searchquerycannotbeempty

ResumeOut

BadQuery:

Queryisnotunderstandabe:"&doc.Query(0)&{"

ResumeOut

EndSub

5总结

5.1Web服务的应用越来越广,其数据索引也随之有增无减。同时,在编写Web数据库检索代码时,既要考虑其安全性,又要确保应用的高质量,致使及时开发相应的数据库检索程序越来越迫切。

5.2ASP技术是中小型自主开发网上数据库服务系统工具。本文从Web网上数据库检索系统的设计出发,探讨了如何利用ASP技术进行有效的网上数据库检索系统的开发利用,具有较强的现实意义。