計(jì)算機(jī)數(shù)據(jù)庫(kù)檢索程序管理論文

時(shí)間:2022-07-14 08:30:00

導(dǎo)語(yǔ):計(jì)算機(jī)數(shù)據(jù)庫(kù)檢索程序管理論文一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

計(jì)算機(jī)數(shù)據(jù)庫(kù)檢索程序管理論文

摘要:文章以ASP技術(shù)為基礎(chǔ),介紹了基于ASP技術(shù)開(kāi)發(fā)數(shù)據(jù)庫(kù)檢索程序的產(chǎn)生機(jī)理和

方法,并針對(duì)Web數(shù)據(jù)庫(kù)檢索程序特點(diǎn),采用全文檢索數(shù)據(jù)庫(kù)方式,來(lái)實(shí)現(xiàn)基于ASP技術(shù)

開(kāi)發(fā)Web數(shù)據(jù)庫(kù)檢索程序。

關(guān)鍵詞:ASP技術(shù);Web數(shù)據(jù)庫(kù);檢索程序

1前言

1.1ASP(ActiveServicePage),是微軟推出的動(dòng)態(tài)Web設(shè)計(jì)技術(shù),是一種用于WWW服務(wù)的服務(wù)器端腳本環(huán)境,在站點(diǎn)的Web服務(wù)器上解釋腳本,可產(chǎn)生并執(zhí)行動(dòng)態(tài)、交互式、高效率的站點(diǎn)服務(wù)器應(yīng)用程序。利用它,可以很容易地把HTML標(biāo)記、文本、腳本命令及ActiveX組件混合在一起構(gòu)成ASP頁(yè),以此來(lái)生成動(dòng)態(tài)網(wǎng)頁(yè),創(chuàng)建交互式的Web站點(diǎn),實(shí)現(xiàn)對(duì)Web數(shù)據(jù)庫(kù)的訪問(wèn)。

1.2當(dāng)用戶使用瀏覽器請(qǐng)求ASP主頁(yè)時(shí),WEB服務(wù)器響應(yīng),調(diào)用ASP引擎來(lái)執(zhí)行ASP文件,并解釋其中的腳本語(yǔ)言(JScript或VBScript),通過(guò)ODBC連接數(shù)據(jù)庫(kù),由數(shù)據(jù)庫(kù)訪問(wèn)組件ADO(ActiveXDataObjects)完成數(shù)據(jù)庫(kù)操作,最后ASP生成包含有數(shù)據(jù)查詢結(jié)果的HTML主頁(yè)返回用戶端顯示。

2ASP技術(shù)及訪問(wèn)機(jī)理

由于ASP在服務(wù)器端運(yùn)行,運(yùn)行結(jié)果以HTML主頁(yè)形式返回用戶瀏覽器。ASP技術(shù)的核心是內(nèi)置的ActiveX服務(wù)器組件和對(duì)象。ActiveX服務(wù)器組件包括∶數(shù)據(jù)庫(kù)訪問(wèn)組件(DatabaseAccesscomponent),提供訪問(wèn)服務(wù)器數(shù)據(jù)庫(kù)的功能;文件訪問(wèn)組件(FileAccesscomponent),提供讀寫服務(wù)器文件的功能;廣告輪播器組件(AdRotatorcomponent),提供廣告輪播器的功能;內(nèi)容鏈接組件(ContentLinkingcomponent),提供管理超級(jí)鏈接、上一頁(yè)、下一頁(yè)等鏈接功能;瀏覽器信息組件(BrowserCapabilitiesComponent),提供有關(guān)瀏覽器信息。內(nèi)置對(duì)象包括∶請(qǐng)求(Request),從前端用戶取得信息;響應(yīng)(Response),將信息送給前端用戶;服務(wù)器(Server),提供Web服務(wù)器工具。應(yīng)用(Application),管理所有的會(huì)話信息,供所有用戶共享;會(huì)話(Session),儲(chǔ)存一次會(huì)話內(nèi)的用戶信息,僅被該用戶訪問(wèn);對(duì)象上下文(ObjectContext),配合Transaction服務(wù)器進(jìn)行分布式事務(wù)處理。

3數(shù)據(jù)庫(kù)檢索程序的開(kāi)發(fā)

ASP技術(shù)是開(kāi)發(fā)網(wǎng)上數(shù)據(jù)庫(kù)服務(wù)系統(tǒng)的重要手段,利用ASP技術(shù)可以進(jìn)行有效的網(wǎng)上數(shù)據(jù)庫(kù)檢索系統(tǒng)的開(kāi)發(fā)利用。

3.1通用檢索主頁(yè)的設(shè)計(jì)

通用檢索主頁(yè)的設(shè)計(jì),實(shí)際就是對(duì)一個(gè)HTMLFORM表單進(jìn)行編碼和提交的過(guò)程。FORM表單是HTML中能夠?qū)崿F(xiàn)Web頁(yè)面交互性的重要組成部分,它為Web頁(yè)面提供了豐富的交互對(duì)象,可以方便地完成信息查詢條件的錄入及數(shù)據(jù)庫(kù)、檢索途徑的選擇等。

3.2數(shù)據(jù)庫(kù)接口程序設(shè)計(jì)

數(shù)據(jù)庫(kù)接口程序設(shè)計(jì)的關(guān)鍵是通過(guò)ActiveX服務(wù)器組件ADO及包含的對(duì)象,實(shí)現(xiàn)對(duì)數(shù)據(jù)源的讀寫,用戶可在瀏覽器畫面中檢索、輸入、更新和刪除數(shù)據(jù)庫(kù)信息,從而建立提供數(shù)據(jù)庫(kù)信息的主頁(yè)內(nèi)容。ADO主要提供了七個(gè)對(duì)象和四個(gè)集合來(lái)完成對(duì)于數(shù)據(jù)庫(kù)的管理,包括:Connection、Command、Parameter、Recordset、Field、Property、Error以及Fields、Properties、Parameters、Errors。

3.2.1定義數(shù)據(jù)源

在WEB服務(wù)器上打開(kāi)“控制面板”,選中“ODBC”,在“系統(tǒng)DSN”下選“添加”,選定你希望的數(shù)據(jù)庫(kù)種類、名稱、位置等。本文定義“SQLSERVER”,數(shù)據(jù)源為“HT”,數(shù)據(jù)庫(kù)名稱為“HTDATA”,腳本語(yǔ)言采用Jscript。

3.2.2創(chuàng)建數(shù)據(jù)庫(kù)鏈接(Connection)

創(chuàng)建數(shù)據(jù)庫(kù)鏈接(Connection)。通過(guò)服務(wù)器對(duì)象的CreateObject方法,可以創(chuàng)建Connection對(duì)象和使用變量接受對(duì)象引用。一旦連接對(duì)象創(chuàng)建之后,它就可用來(lái)打開(kāi)到任何ODBC數(shù)據(jù)源的連接。

3.2.3創(chuàng)建數(shù)據(jù)對(duì)象(Recordset)

創(chuàng)建數(shù)據(jù)對(duì)象(Recordset)。

DimRs‘申明變量’

SetRs=Server.CreatObject("ADODB.Recordset")‘創(chuàng)建數(shù)據(jù)對(duì)象’

Rs.PageSize=10‘設(shè)置一頁(yè)所顯示的記錄數(shù)’

3.2.4操作數(shù)據(jù)庫(kù)

(1)首先要定義SQL查詢語(yǔ)句:

Dimsql‘申明變量’

sql="select*frompublicationwheretitlelike’ASP%%’"‘定義SQL查詢語(yǔ)句’,檢索數(shù)據(jù)庫(kù)的publication表中名以ASP開(kāi)頭的所有信息的記錄。

ConstadOpenkeyset=1‘定義Recordset的類型’

(2)然后執(zhí)行該查詢命令,Rs.OpenSql,conn,adOpenkeyset‘執(zhí)行sql語(yǔ)句’,在數(shù)據(jù)對(duì)象Rs中保存檢索結(jié)果。

如調(diào)用Server.CreateObject方法取得“ADODB.Connection”的實(shí)例,再使用Open方法打開(kāi)數(shù)據(jù)庫(kù):

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

conn.Open(“HT”)

來(lái)操作數(shù)據(jù)庫(kù)。

(3)最后指定要執(zhí)行的SQL命令

連接數(shù)據(jù)庫(kù)后,可對(duì)數(shù)據(jù)庫(kù)操作,如查詢,修改,刪除等,這些都是通過(guò)SQL指令來(lái)完成的,如要在數(shù)據(jù)表signaltab中查詢代碼中含有“X”的記錄

sqlStr=“select*fromsignaltabwherecodelike‘%X%’”

rs=conn.Execute(sqlStr)

4數(shù)據(jù)庫(kù)檢索代碼

基于ASP技術(shù)開(kāi)發(fā)的Web數(shù)據(jù)庫(kù)檢索程序,是利用數(shù)據(jù)庫(kù)檢索系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)和開(kāi)發(fā)工具,將多個(gè)數(shù)據(jù)庫(kù)集成在一個(gè)平臺(tái)上,來(lái)實(shí)現(xiàn)多數(shù)據(jù)庫(kù)的檢索,從而提高數(shù)據(jù)庫(kù)的檢索效率。

以下是一個(gè)全文索引的數(shù)據(jù)庫(kù)檢索部分代碼:

SubInitialize

DimArrNsfAsVariant

DimitemAsNotesItem

’獲得文檔context,因?yàn)榇耸且粋€(gè)$$QuerySaveAgent,所以$$QuerySaveAgent

可以訪問(wèn)Context文檔上的項(xiàng)目。

DimsessAsNewNotesSession

DimdocAsNotesDocument

Setdoc=sess.DocumentContext

’獲得欲檢索的數(shù)據(jù)庫(kù),存放在數(shù)組ArrNsf內(nèi):

ArrNsf=doc.DatabaseName

’如果沒(méi)有輸入檢索條件,則輸出提示信息:

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

GotoEmptyQuery

EndIf

DimMatchDocAsNotesDocument

DimdbAsNotesDatabase,

DimcollectionAsNotesDocumentCollection

’下列循環(huán)從數(shù)組ArrNsf中取得欲檢索的數(shù)據(jù)庫(kù)進(jìn)行處理:

FornsfCount=0ToUbound(ArrNsf)

SearchDB=ArrNsf(nsfCount)

Setdb=sess.GetDatabase("",SearchDB)

’出現(xiàn)錯(cuò)誤則轉(zhuǎn)向:

OnErrorGotoBadQuery

’獲得滿足查詢條件的記錄集:

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

OnErrorGoto0

’輸出數(shù)據(jù)庫(kù)標(biāo)題:

’輸出該數(shù)據(jù)庫(kù)中滿足條件的記錄個(gè)數(shù):

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

documents

’下列循環(huán)從滿足條件的記錄集中讀取記錄并輸出:

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

’輸出文檔產(chǎn)生日期和作者:

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總結(jié)

5.1Web服務(wù)的應(yīng)用越來(lái)越廣,其數(shù)據(jù)索引也隨之有增無(wú)減。同時(shí),在編寫Web數(shù)據(jù)庫(kù)檢索代碼時(shí),既要考慮其安全性,又要確保應(yīng)用的高質(zhì)量,致使及時(shí)開(kāi)發(fā)相應(yīng)的數(shù)據(jù)庫(kù)檢索程序越來(lái)越迫切。

5.2ASP技術(shù)是中小型自主開(kāi)發(fā)網(wǎng)上數(shù)據(jù)庫(kù)服務(wù)系統(tǒng)工具。本文從Web網(wǎng)上數(shù)據(jù)庫(kù)檢索系統(tǒng)的設(shè)計(jì)出發(fā),探討了如何利用ASP技術(shù)進(jìn)行有效的網(wǎng)上數(shù)據(jù)庫(kù)檢索系統(tǒng)的開(kāi)發(fā)利用,具有較強(qiáng)的現(xiàn)實(shí)意義。

參考文獻(xiàn):

[1]劉云生.數(shù)據(jù)庫(kù)設(shè)計(jì)與分析[M].武漢:華中理工大學(xué)出版社,1993.

[2]嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)[M].北京:清華大學(xué)出版社,2001.

[3]鄭若忠,寧洪.數(shù)據(jù)庫(kù)原理[M].湖南:國(guó)防科技大學(xué)出版社,1998.

[4]李大友.數(shù)據(jù)庫(kù)原理及應(yīng)用[M].北京:清華大學(xué)出版社,1993.