LotusDomino編寫Web瀏覽器多資料庫檢索程式
隨著計算機技術的日益普及,Internet/Intranet技術得到了更加廣泛的應用,在世界範圍的大量Web網點上以及公司內部的Web伺服器上,都存放著大量的資訊。為使這些資訊得到的合理使用,Web伺服器管理員應該為使用者提供方便的資訊檢索方法。作為群件代表的Lotus Domino整合了郵件處理、群件應用和Internet出版等功能,是Notes技術向Internet/ntranet融合開放的里程碑式的產品。在繼承以往產品全部優點與功能的基礎上,Domino將原先的Notes伺服器提升為用途更廣泛、使用更方便的Internet/Intranet伺服器。在Domino的幫助下使用者能夠快速構建安全可靠的Web網點,開發出管理和控制Internet/Intranet的應用程式,並通過Web瀏覽器實現對各類資料和伺服器的互動式訪問。Domino還為使用者提供了多種檢索資訊的方法,而且使用者甚至不必程式設計。本文所要討論的是通過簡單程式設計實現在Web瀏覽器上對任意多個資料庫同時進行檢索的一種方法。
下面給出具體的實現方法:
1、建立資料庫SiteSearch.NSF。
2、在資料庫SiteSearch.NSF上建立Form名稱為 SearchForm。
3、在SearchForm上建立Field,內容如下:
(1)DatabaseNames:型別為關鍵字,可編輯,允許多值,範圍為:每行輸入一個關鍵字。關鍵字列表框內輸入允許搜尋的資料庫列表。假設有五個資料庫允許使用者檢索,它們分別是:討論板(Discuss.NSF)、規章制度(Institution.NSF)、技術論文(TechDocuments.NSF)、公司最新動態(CompanyNews.NSF)、簡報及公告(Bulletin.NSF),則在DatabaseNames關鍵字列表框內可輸入:
討論板 | Discuss.NSF
規章制度| Institution.NSF
技術論文| TechDocuments.NSF
公司最新動態 | CompanyNews.NSF
簡報及公告 | Bulletin.NSF
(2)SearchString:型別為文字,可編輯。
(3)$$QuerySaveAgent :型別為文字,顯示時計算,數值為textSearchQuerySaveAgent,隱藏。
(4)SaveOptions:型別為文字,可編輯,預設值為“0”,隱藏。
4、建立代理TextSearchQuerySaveAgent。執行代理時間指定為:從“操作”選單中選擇執行。指定代理操作的文件為:執行一次(可能使用@命令)。
代理程式的內容如下:
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 '輸出HTML頁面的頭部和標題: Print {<html>} Print { <head>} Print {<meta. http-equiv="Content-Type" content="text/html; charset=gb2312">} Print {<title>} Print "多資料庫搜尋" Print {title>} Print {head>} '設定HTML頁面的背景顏色: Print {<body text="000000" bgcolor="f7f7f7">} '獲得欲檢索的資料庫,存放在陣列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 '輸出資料庫標題: Print "
" Print db.title Print "
" '輸出該資料庫中滿足條件的記錄個數: Print "There are " & Str$(collection.Count) & " matching documentsb>font><br>"
'下列迴圈從滿足條件的記錄集中讀取記錄並輸出: For i% = 1 To collection.Count Set MatchDoc = collection.GetNthDocument(i%) Print {<br><a href="http://www.chinaitpower.com/} &SearchDB &{/AllDocument/} & MatchDoc.UniversalID" &{?OpenDocument">} Print "" '如果文件包含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 Print " " & 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 Print "Document create date:" &createDate Print " Authors: " Forall aAuthor In MatchDoc.Authors Print aAuthor End Forall Print "
" Next Next Out: Print {body>html>} Exit Sub EmptyQuery: Print {<b>Search query can not be empty b>} Resume Out BadQuery: Print {<b>Query is not understandable: b>"} & doc.Query(0) & {"} Resume Out End Sub
在本例中使用的FTSearch搜尋查詢內容是一個符合 Notes 全文檢索規則的字串,搜尋內容可以是一個字詞或多個字詞。搜尋內容可以包括 ? 和 * 萬用字元,並且可以由! (not)、& (and)、|(or)操作符混合。所檢索的資料庫可以有全文索引,也可以沒有全文索引。如果沒有全文索引,則搜尋速度會慢一些。執行本程式時,應先從瀏覽器中輸入URL:http://homeURL/SiteSearch.NSF/SearchForm?OpenForm,然後選擇欲檢索的資料庫並輸入檢索條件,單擊Submit按鈕,則將列出所有符合檢索條件的文件。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24998103/viewspace-695413/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Win32下Foxbase+資料庫瀏覽程式的編寫 (轉)Win32資料庫
- 使用瀏覽器命令列編寫JavaScript程式碼瀏覽器命令列JavaScript
- 重學瀏覽器(1)-多程式多執行緒的瀏覽器瀏覽器執行緒
- 瀏覽器多程式架構瀏覽器架構
- 瀏覽器資料庫 IndexedDB(一) 概述瀏覽器資料庫Index
- 資料庫的檢索(20)資料庫
- 【雲圖】自有資料的多邊形檢索(雲檢索)
- js檢測搜狗瀏覽器、百度瀏覽器、微信瀏覽器程式碼例項JS瀏覽器
- 瀏覽器資料庫 IndexedDB 入門教程瀏覽器資料庫Index
- 資料庫的檢索語句資料庫
- 瀏覽器渲染程式多執行緒瀏覽器執行緒
- 資料檢索
- 谷歌瀏覽器檢視編輯元素CSS樣式谷歌瀏覽器CSS
- 嘗試寫個UC瀏覽器(堆疊檢視A)瀏覽器
- 瀏覽器檢視Session瀏覽器Session
- 利用 Powershell 編寫簡單的瀏覽器指令碼瀏覽器指令碼
- 用 C 語言編寫多程式 Web 伺服器【粗暴版】Web伺服器
- IO 模型 select 編寫多程式 Web 伺服器 PHP 版模型Web伺服器PHP
- 檢視瀏覽器請求的session 瀏覽器怎麼檢視session瀏覽器Session
- Web 上的 Windows Presentation Foundation:Web 瀏覽器應用程式WebWindows瀏覽器
- 時序資料庫的秘密 —— 快速檢索資料庫
- HBase 資料庫檢索效能優化策略資料庫優化
- 自定義web瀏覽器(五)Web瀏覽器
- Web前端瀏覽器相容初探Web前端瀏覽器
- 檢測360瀏覽器javascript程式碼例項瀏覽器JavaScript
- astro中瀏覽器端使用lit編寫的componentsAST瀏覽器
- 好程式設計師web前端分享JS檢查瀏覽器型別和版本程式設計師Web前端JS瀏覽器型別
- 圖解瀏覽器的多程式渲染機制圖解瀏覽器
- 為什麼瀏覽器採用多程式模型瀏覽器模型
- 基於go+vue實現的golang每日新聞資料瀏覽與檢索平臺VueGolang
- 檢索table表格資料程式碼例項
- 怎麼檢測瀏覽器劫持,瀏覽器劫持的方法介紹瀏覽器
- Web瀏覽器裡的那些事Web瀏覽器
- 微軟效仿Firefox 建立IE瀏覽器BUG資料庫(轉)微軟Firefox瀏覽器資料庫
- 如何通過瀏覽器 JavaScript API 訪問伺服器資料庫瀏覽器JavaScriptAPI伺服器資料庫
- Linux伺服器部署Web版VSCode,在window下使用瀏覽器在linux環境下編寫程式碼Linux伺服器WebVSCode瀏覽器
- 檢測是否為360瀏覽器?瀏覽器
- 瀏覽器特性檢測框架:MODERNIZR瀏覽器框架