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

時間:2022-07-14 08:30:00

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

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

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

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

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

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

1前言

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

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

2ASP技術(shù)及訪問機理

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

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

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

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

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

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

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

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

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

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

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

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

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

DimRs‘申明變量’

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

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

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

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

Dimsql‘申明變量’

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

ConstadOpenkeyset=1‘定義Recordset的類型’

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

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

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

conn.Open(“HT”)

來操作數(shù)據(jù)庫。

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

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

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

rs=conn.Execute(sqlStr)

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

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

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

SubInitialize

DimArrNsfAsVariant

DimitemAsNotesItem

’獲得文檔context,因為此是一個$$QuerySaveAgent,所以$$QuerySaveAgent

可以訪問Context文檔上的項目。

DimsessAsNewNotesSession

DimdocAsNotesDocument

Setdoc=sess.DocumentContext

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

ArrNsf=doc.DatabaseName

’如果沒有輸入檢索條件,則輸出提示信息:

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

GotoEmptyQuery

EndIf

DimMatchDocAsNotesDocument

DimdbAsNotesDatabase,

DimcollectionAsNotesDocumentCollection

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

FornsfCount=0ToUbound(ArrNsf)

SearchDB=ArrNsf(nsfCount)

Setdb=sess.GetDatabase("",SearchDB)

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

OnErrorGotoBadQuery

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

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

OnErrorGoto0

’輸出數(shù)據(jù)庫標題:

’輸出該數(shù)據(jù)庫中滿足條件的記錄個數(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)用越來越廣,其數(shù)據(jù)索引也隨之有增無減。同時,在編寫Web數(shù)據(jù)庫檢索代碼時,既要考慮其安全性,又要確保應(yīng)用的高質(zhì)量,致使及時開發(fā)相應(yīng)的數(shù)據(jù)庫檢索程序越來越迫切。

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

參考文獻:

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

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

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

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