隨著計算機與通信網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,特別是“網(wǎng)絡(luò)”在人們的工作、生活中影響日趨加大,人們已經(jīng)越來越習(xí)慣通過計算機、網(wǎng)絡(luò)瀏覽器來查詢和獲得各種信息。本文介紹如何在網(wǎng)上建立一個基于web交互式可動態(tài)查詢的網(wǎng)站,方便大家對各種水文信息的查詢。
1網(wǎng)絡(luò)簡介
網(wǎng)絡(luò)操作系統(tǒng)采用windows 2003 Server,數(shù)據(jù)庫為Microsoft SQL Server2000。
Windows 2003 Server中的組件IIS 6.0(Internet Information Server)成為當今使用最方泛的Web服務(wù)器之一。使用IIS 6.0可以使自己的機器很輕松地在網(wǎng)上建立一個網(wǎng)站。
2動態(tài)網(wǎng)頁
所謂“動態(tài)”,就是具有 “交互性”,即網(wǎng)頁會根據(jù)用戶的要求和選擇而動態(tài)改變和響應(yīng),將瀏覽器作為客戶端界面。根據(jù)不同的時間、不同條件自動生成新的頁面??蛻舳说挠脩艚缑嫫鋵嵕褪且唤M網(wǎng)頁,用戶通過瀏覽器與網(wǎng)站交換信息,因此,有時也把這種工作模式稱為瀏覽器/服務(wù)器(B/S)模式。B/S模式的工作機制是:將多個客戶機連接到同一臺服務(wù)器上,通過客戶機的瀏覽器程序向服務(wù)器發(fā)出請求,由服務(wù)器根據(jù)這種請求來提供服務(wù),從而構(gòu)成交換信息的雙向通道。
3建立動態(tài)網(wǎng)頁
3.1動態(tài)服務(wù)器網(wǎng)頁ASP
Microsoft Active Server Pages 即我們所稱的 ASP ,是一套服務(wù)器端腳本環(huán)境,通過 ASP 我們可以結(jié)合 HTML 網(wǎng)頁、 ASP 指令和 ActiveX 元件建立動態(tài)、交互且高效的 WEB 服務(wù)器應(yīng)用程序。當程序執(zhí)行完畢后,服務(wù)器僅將執(zhí)行的結(jié)果返回給客戶瀏覽器,這樣也就減輕了客戶端瀏覽器的負擔,大大提高了交互的速度。
ASP 程序其實是以擴展名為 .asp 的純文本形式存在于 WEB 服務(wù)器上的,你可以用任何文本編輯器打開它(如 Windows 的記事本), ASP 程序中可以包含純文本、 HTML 標記以及腳本命令。你只需將 .asp 程序放在 WEB 服務(wù)器的虛擬目錄下(該目錄必須要有可執(zhí)行權(quán)限),在客戶端就可以通過瀏覽器訪問 ASP 程序了。
3.2數(shù)據(jù)庫的連接
防汛雨水情數(shù)據(jù)庫用Microsoft SQL Server,各種防汛雨情、水情、墑情等數(shù)據(jù)均存放在SQL Server數(shù)據(jù)庫中。SQL Server是微軟公司推出的大型網(wǎng)絡(luò)數(shù)據(jù)庫管理系統(tǒng),支持多種操作系統(tǒng)平臺、容易使用、性能可靠。它在C/S或B/S雙層結(jié)構(gòu)中位于服務(wù)器端(亦稱后端),用于存儲數(shù)據(jù)、提供數(shù)據(jù)和管理數(shù)據(jù),是整個應(yīng)用系統(tǒng)的數(shù)據(jù)庫引擎,能夠滿足客戶端連接數(shù)據(jù)庫和存取數(shù)據(jù)的需要。
建立數(shù)據(jù)源
執(zhí)行“程序”→“管理工具” → \"數(shù)據(jù)源ODBC\"→“系統(tǒng)DSN”,建立數(shù)據(jù)源。點擊\"添加\"按鈕,選定數(shù)據(jù)庫所用的驅(qū)動程序,選定\"Microsoft SQL Server\"。在“數(shù)據(jù)源名稱”中輸入名稱,以便以后在程序中調(diào)用。
3.3實例
3.3.1選擇查詢的時間條件。
如圖:
這是一個選擇時間范圍的提交表單,提交后運行下面的cx.asp文件。
如何建立查詢
在ASP中可用如下方法連接數(shù)據(jù)庫:
dim dbc
set dbc=server.CreateObject(“ADODB.Connection”)
dbc.open “ODBC;DATABASE=數(shù)據(jù)庫名;UID=用戶名;PWD=用戶密碼;DSN=數(shù)據(jù)源\" (說明:打開所要查詢的SQL數(shù)據(jù)庫)
用查詢語句按條件檢索數(shù)據(jù)庫:
begintime=byear \"-\" bmonth \"-\" bday bhour
endtime=eyear \"-\" emonth \"-\" eday ehour
(說明:begintime為查詢的開始時間,endime為截止時間)
Set Rs=Server.CreateObject(\"ADODB.RecordSet\")
sql=”SELECT * FROM hdlabWHERE ( 時間 BETWEEN '\" begintime \"' AND '\" endtime \"') \"
sql=sql \" And 站號=54314 \"
sql=sql \"ORDER BY時間\" //按時間排序
(說明:用SELECT查詢語句,查詢打開的數(shù)據(jù)庫中hdlab表中的信息,查詢條件為“時間”,用BETWEEN過濾條件為“開始”AND“截止”時間),站號等于“54314”的記錄,按時間先后排序。)
定義一個表將檢索的數(shù)據(jù)顯示出來在客戶端查詢后結(jié)果如下圖描述:
3.3.3由于實時的水情、雨情、墑情等信息都是存儲在SQL Server數(shù)據(jù)庫相應(yīng)的表中,按照以上方法可以查詢數(shù)據(jù)庫中的相應(yīng)信息。用戶在客戶端可以通過瀏覽器瀏覽網(wǎng)頁來獲取信息,從而達到了動態(tài)查詢的效果。
4結(jié)朿語
防汛工作是一項事關(guān)人民生命財產(chǎn)安全的大事,建立一個動態(tài)網(wǎng)站,把各種實時信息及時地通過網(wǎng)絡(luò)發(fā)布到網(wǎng)上,向各級領(lǐng)導(dǎo)部門提供快速、準確的決策依據(jù),為防治水旱災(zāi)害當好參謀。