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

时间:2022-08-12 12:12:21

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

摘 要:文章以ASP技术为基础,介绍了基于ASP技术开发数据库检索程序的产生机理和

方法,并针对Web数据库检索程序特点,采用全文检索数据库方式,来实现基于ASP技术

开发Web数据库检索程序。

关键词:ASP技术;Web数据库;检索程序

1 前 言

1.1 ASP(Active Service Page),是微软推出的动态Web设计技术,是一种用于WWW服务的服务器端脚本环境,在站点的Web服务器上解释脚本,可产生并执行动态、交互式、高效率的站点服务器应用程序。利用它,可以很容易地把HTML标记、文本、脚本命令及ActiveX组件混合在一起构成ASP页,以此来生成动态网页,创建交互式的Web站点,实现对Web数据库的访问。

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

2 ASP技术及访问机理

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

3 数据库检索程序的开发

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

3.1 通用检索主页的设计

通用检索主页的设计,实际就是对一个HTML FORM表单进行编码和提交的过程。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”下选“添加”,选定你希望的数据库种类、名称、位置等。本文定义“SQL SERVER”,数据源为“HT”,数据库名称为“HTDATA”,脚本语言采用Jscript。

3.2.2 创建数据库链接(Connection)

创建数据库链接(Connection)。通过服务器对象的CreateObject方法,可以创建Connection对象和使用变量接受对象引用。一旦连接对象创建之后,它就可用来打开到任何ODBC数据源的连接。

3.2.3 创建数据对象(Recordset)

创建数据对象(Recordset)。

Dim Rs ‘申明变量’

Set Rs=Server.CreatObject("ADODB.Recordset") ‘创建数据对象’

Rs.PageSize=10 ‘设置一页所显示的记录数’

3.2.4 操作数据库

(1)首先要定义SQL查询语句:

Dim sql ‘申明变量’

sql="select * from publication where title like ’ASP%%’" ‘定义SQL查询语句’,检索数据库的publication表中名以ASP开头的所有信息的记录。

Const adOpenkeyset=1 ‘定义Recordset的类型’

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

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

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

conn.Open(“HT”)

来操作数据库。

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

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

sqlStr = “select * from signaltab where code like ‘%X%’”

rs = conn.Execute(sqlStr)

4 数据库检索代码

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

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

Sub Initialize

Dim ArrNsf As Variant

Dim item As NotesItem

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

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

Dim sess As New NotesSession

Dim doc As NotesDocument

Set doc = sess.DocumentContext

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

ArrNsf= doc.DatabaseName

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

If Trim(Cstr(doc.Query(0)))="" Then

Goto EmptyQuery

End If

Dim MatchDoc As NotesDocument

Dim db As NotesDatabase,

Dim collection As NotesDocumentCollection

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

For nsfCount=0 To Ubound( ArrNsf )

SearchDB=ArrNsf(nsfCount)

Set db = sess.GetDatabase("",SearchDB)

’出现错误则转向:

On Error Goto BadQuery

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

Set collection = db.FTSearch(doc.Query(0),0)

On Error Goto 0

’输出数据库标题:

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

There are " & Str$(collection.Count) & " matching

documents

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

For i% = 1 To collection.Count

Set MatchDoc = collection.GetNthDocument(i%)

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

Set item =MatchDoc.GetFirstItem( "Subject" )

If ( item Is Nothing ) Then

Set item = MatchDoc.GetFirstItem( "Title" )

End If

If Not (item Is Nothing) Then

" & item.Name & ": & item.Text

End If

’如果文档包含Categories,则输出Categories:

Set item = MatchDoc.GetFirstItem( "Categories" )

If Not (item Is Nothing) Then

Print item.Name & ": " & item.Text

End If

’输出文档产生日期和作者:

createDate = MatchDoc.Created

Document create date: &createDate

Authors:

Forall aAuthor In MatchDoc.Authors

Print aAuthor

End Forall

Next

Next

Out:

Exit Sub

EmptyQuery:

Search query can not be empty

Resume Out

BadQuery:

Query is not understandable: " & doc.Query(0) & {"

Resume Out

End Sub

5 总 结

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

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

参考文献:

[1] 刘云生.数据库设计与分析[M].武汉:华中理工大学出版社,1993.

[2] 严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,2001.

[3] 郑若忠,宁洪.数据库原理[M].湖南:国防科技大学出版社,1998.

[4] 李大友.数据库原理及应用[M].北京:清华大学出版社,1993.

上一篇:异地并行设计中WEB数据库设计* 下一篇:浅谈执行回转制度的完善