【文章內(nèi)容簡介】
ord Set=(rs) 這條語句執(zhí)行后,對象 Record Set 中就保存了表 tab1 中的所有 記錄。 四、操作數(shù)據(jù)庫 我們通過調(diào)用鏈接對象的 Execute 方法來將查詢結(jié)果返回給一個(gè)數(shù)據(jù)對象或進(jìn)行插入、刪除等操作。例如: rs=“ INSERT INTO tab1 VALUES(1,2)” (rs) /執(zhí)行插入操作 五、關(guān)閉數(shù)據(jù)對象和鏈接對象 在使用了 ADO 對象之后要關(guān)閉它,因?yàn)樗褂昧艘欢ǖ姆?wù)器資源。通過調(diào)用方法 close 實(shí)現(xiàn)關(guān)閉,然后再釋放它。 Record Set Record Set=Nothing /關(guān)閉創(chuàng)建的數(shù)據(jù)對象 Set mConn=Nothing /關(guān)閉創(chuàng)建的鏈接對象 ASP 與 CGI的比較 CGI(Common Gateway Interface,通用網(wǎng)關(guān)接口 )也是 Inter 上一種功能強(qiáng)大的 Web 頁面技術(shù),其工作方式有別于 ASP。我們現(xiàn)對二者進(jìn)行比較。 Active Server Pages 開發(fā) Web 應(yīng)用程序的特點(diǎn): 1. 完全嵌入 HTML,與 HTML、 Script 語言完美結(jié)合。 2. 無須手動編譯和鏈接程序。 3. 面向?qū)ο?,并可擴(kuò)展 ActiveX Server 組件功能。 4. 使用腳本 語言( JavaScript、 VBScript 或 PERL)編寫。 5. 存取數(shù)據(jù)庫輕松容易(使用 ADO 組件)。 6. 可使用任何語言編寫自己的 ActiveX Server 組件。 7. 無瀏覽器兼容問題。 8. 程序代碼隱藏,客戶端僅能看到 ASP 輸出的 HTML 文件。 9. 縮短 Web 開發(fā)時(shí)間。 相比之下,使用 CGI 開發(fā) Web 應(yīng)用程序具有以下缺點(diǎn) : 1. 不易與 HTML 文件集成。 2. 須使用其他較復(fù)雜的語言來開發(fā) CGI 程序。 3. 程序開發(fā)時(shí)間較長。 4. 存取數(shù)據(jù)庫不容易。 每個(gè) CGI 程序被不同用戶執(zhí)行時(shí)都得重新執(zhí)行一次,并占去 Server 的一個(gè)端口( Port) ,降低 Server 效率。 ASP 在數(shù)據(jù)庫訪問、與 HTML 的集成、提高服務(wù)器的效率等諸多方面都優(yōu)于 CGI,更適應(yīng) Web 應(yīng)用程序開發(fā)的需要,因此本文選擇了 ASP 作為個(gè)性化頁面生成器的開發(fā)工具。 第三章 數(shù)據(jù)庫設(shè)計(jì) 利用 ASP進(jìn)行動態(tài)數(shù)據(jù)查詢 為了將從數(shù)據(jù)庫中獲得的數(shù)據(jù)顯示在客戶端瀏覽器中,需要在 ASP文件中加入 Table對象。 Table對象可以用來顯示從 Server端數(shù)據(jù)庫中通過 SQL查詢得到的記錄。使用 Dreamweaver等可視化工具可以方便地對 *.ASP文件進(jìn)行用戶界面的設(shè)計(jì)。包括添加 Table對象、動態(tài) GIF文件等。以下是本網(wǎng)站中的一段查詢代碼: % word=request(trim(Keyword)) set records=() if request(select2)=精確 then if request(select1)=科 then sql=select * from kebiao where keID =39。amp。wordamp。39。 or chinesename=39。amp。wordamp。39。 or latinname=39。amp。wordamp。39。 elseif request(select1)=屬 then sql=select * from shubiao where shuID =39。amp。wordamp。39。 or chinesename=39。amp。wordamp。39。 or latinname=39。amp。wordamp。39。 elseif request(select1)=種 then sql=select * from zhongbiao where zhongID =39。amp。wordamp。39。 or chinesename=39。amp。wordamp。39。 or latinname=39。amp。wordamp。39。 elseif request(select1)=標(biāo)本 then sql=select * from specimenbiao where biaoID =39。amp。wordamp。39。 or chinesename=39。amp。wordamp。39。 or latinname=39。amp。wordamp。39。 end if if 0 then 數(shù)據(jù)庫操作失敗 : amp。 end if elseif request(select2)=模糊 then if request(select1)=科 then sql=select * from kebiao where keID like 39。%amp。wordamp。%39。 or chinesename like 39。%amp。wordamp。%39。 or latinname like 39。%amp。wordamp。%39。 elseif request(select1)=屬 then sql=select * from shubiao where shuID like 39。%amp。wordamp。%39。 or chinesename like 39。%amp。wordamp。%39。 or latinname like 39。%amp。wordamp。%39。 elseif request(select1)=種 then sql=select * from zhongbiao where zhongID like 39。%amp。wordamp。%39。 or chinesename like 39。%amp。wordamp。%39。 or latinname like 39。%amp。wordamp。%39。 elseif request(select1)=標(biāo)本 then sql=select * from specimenbiao where biaoID like 39。%amp。wordamp。%39。 or chinesename like 39。%amp。wordamp。%39。 or latinname like 39。%amp。wordamp。%39。 end if if 0 then 數(shù)據(jù)庫操作失敗 : amp。 end if end if sql,connectstr,1,3 % 當(dāng) Web Server處理完用戶的 HTTP請求后 , 將結(jié)果發(fā)送至瀏覽器上 , 用戶就可以看到結(jié)果。 ASP 訪問數(shù)據(jù)庫 ASP 內(nèi)置對象和組件 ASP提供了功能強(qiáng)大的六個(gè)內(nèi)置對象和五個(gè)內(nèi)置組件 內(nèi)置對象: ( 1) Request(請求 ):從前端用戶取得信息 ( 2) Response(響應(yīng) ):將信息送給前端用戶 ( 3) Server(服務(wù)器 ):提供 Web服務(wù)器工具 ( 4) Session(會話 ):儲存在一次會話內(nèi)的用戶信息,僅被該用戶訪問 ( 5) Application(應(yīng)用 ):管理所有的會話信息,供所有用戶共享 ( 6) ObjectContext(對象上下文 ):配合 Transaction服務(wù)器進(jìn)行分布式事務(wù)處理 前三個(gè)很常用, Request和 Response是用來實(shí)現(xiàn) web Server與瀏覽器交互。Request的一個(gè)重要方法是 ForM(),其作用是提取瀏覽器的用戶輸入信息。如 下面的語句可以取得用戶填在文本框里面的內(nèi)容: Request. Form(“nane”) 顯然,這比 CCI等方法所需要的復(fù)雜編程簡單多了。而輸出要用到 Response的一個(gè)重要方法 Write,如:“ our message”該語句向?yàn)g覽器輸出了一條消息。 內(nèi)置組件: ( 1)數(shù)據(jù)庫存取組件: ASP提供 ADO來存取具有 ODBC標(biāo)準(zhǔn)的數(shù)據(jù)庫 ( 2)廣告輪顯組件:用來維護(hù)、構(gòu)建 Inter廣告 ( 3)瀏覽器兼容組件:將瀏覽器的功能數(shù)據(jù)提供給服務(wù)器,以便送出適合于各種瀏覽器的 Web頁面 ( 4)文件存取組件:提供文件讀寫的工具 ( 5)文件超鏈接組件:提供對 Web頁面的管理 ASP 訪問數(shù)據(jù)庫工作原理 訪問 Web數(shù)據(jù)庫的技術(shù)有以下幾種方式:公共網(wǎng)關(guān)接口 CGI(Common Gateway Interface)、 Inter Server 應(yīng)用程序編程接口 ISAPI( Inter Server Application Programming Interface)、 Java、 Plugin(插件 )和 ASP技術(shù)。這些技術(shù)都是為了克服HTML靜態(tài)頁面發(fā)展起來的。 ASP是一個(gè)基于 We b服務(wù)器的腳本開發(fā)環(huán)境,在 ASP平臺上可開發(fā)和運(yùn)行動態(tài)的、交互的、高性能的 Web服務(wù)器應(yīng)用程序。 圖 ASP訪問數(shù)據(jù)庫原理圖 圖 ASP訪問數(shù)據(jù)庫工作原理。 ASP程序在 Web服務(wù)器端工作,當(dāng)前端用戶請求一個(gè) ASP主頁時(shí), Web服務(wù)器響應(yīng) HTTP請求并調(diào)用 ASP引擎執(zhí)行該文件并解釋執(zhí)行其中的腳本,若腳本中有訪問數(shù)據(jù)庫請求,立刻通過 ODBC或 ILE DB與相應(yīng)的后臺數(shù)據(jù)庫相連,同數(shù)據(jù)庫訪問組件 ADO完成操作,最后, ASP根據(jù)訪問數(shù)據(jù)庫的結(jié)果生成 HTML語言 的主頁返回給前端用戶,用戶看到的只是HTML網(wǎng)站,而看不到 ASP程序代碼,增強(qiáng)了保密性。 ASP 連接數(shù)據(jù)庫的方法 ASP提供兩種訪問數(shù)據(jù)庫的方法:在第一種方法中每次訪問數(shù)據(jù)庫都要與數(shù)據(jù)庫連接一次,一旦與數(shù)據(jù)庫建立連接語句就可以對數(shù)據(jù)進(jìn)行操作;當(dāng)對數(shù)據(jù)的操作完成,所有相關(guān)的對象都被關(guān)閉。 與數(shù)據(jù)庫相連的另一種方法是當(dāng)用戶的任務(wù)完成后連接才被關(guān)閉,這是由Global. asp文件所控制。每個(gè)基于 ASP的 inter應(yīng)用可以有一個(gè)存放在應(yīng)用根目錄中的 ,該文件有四個(gè)事 件: Applicattionstart, Senssionstart, ApplicattionEnd和 Sessionend用戶與數(shù)據(jù)庫的連接是在 Sessionstart事件中,用Sessionend事件關(guān)閉連接 [1]。 在本網(wǎng)站中用如下代碼來實(shí)現(xiàn) ASP與數(shù)據(jù)庫的連接: % dim connectstr on error resume next Set connectstr = () driver={SQL Server}。server=localhost。uid=jsj2020。database=Biaobenku。pwd=jsj2020 if 0 then 數(shù)據(jù)庫操作失敗: amp。 end if 第 四 章 總體 設(shè)計(jì) 系統(tǒng)詳細(xì)調(diào)查 傳統(tǒng)的軟件工程方法學(xué)使用結(jié)構(gòu)化分析技術(shù),完成分析用戶需求工作。需求分析要了解用戶的情況,接下來通過與用戶交流,對用戶的基本要求反復(fù)細(xì)化,以得出對目標(biāo)系統(tǒng)的完整、準(zhǔn)確和具體的需求。需求分析是為了發(fā)現(xiàn)用戶的真正需求,首先應(yīng)從宏觀角度調(diào)查、分析用戶所面臨的問題,也就是說,需求分析的第一步是盡可能準(zhǔn)確地了解用戶當(dāng)前的情況和需要解決的問題。在 網(wǎng)站中,用戶所需要的無非就是獲取 信息,并查詢到滿足自身查詢條件的詳細(xì)資料。因此在做查詢系統(tǒng)時(shí),充分考慮到了一樣標(biāo)本的自身屬性和用戶有可能用到的查詢條件,兩都有機(jī)結(jié)合,這樣才能更好的為用戶服務(wù)。 運(yùn)行環(huán)境 大多數(shù) 用戶 ,對計(jì)算機(jī)的要求并不高,一般只需能實(shí)現(xiàn)信息、 添加修改 、在線查詢 功能即可,所以計(jì)算機(jī)的配置約為普通配置 , DDR256M 內(nèi)存, 17英寸純平顯示器, 80G 硬盤,標(biāo)準(zhǔn)鍵盤和鼠標(biāo),打印機(jī), Windows 98/xp/me/2020 操作系統(tǒng)等。而本系統(tǒng)開發(fā)工具選取 Macromedia Dreamweaver MX 2020,所以編制的程序在以上環(huán)境的機(jī)器中均可順利運(yùn)行,并且本系統(tǒng)占用空間較小,主要依靠鼠標(biāo)和鍵盤進(jìn)行錄入。詳細(xì)調(diào)查的重點(diǎn)是對管理業(yè)務(wù)的流程進(jìn)行描述,通過采用系統(tǒng)流程圖中部分圖工具來描述管理活動,進(jìn)行規(guī)范化說明。 系統(tǒng)分析的主要成果是系統(tǒng)的邏輯模型。本系統(tǒng)的邏輯模型主要是以系統(tǒng)的數(shù)據(jù)流圖和數(shù)據(jù)字典為主要描述 工具。按照信息系統(tǒng)中應(yīng)有的數(shù)據(jù)流和數(shù)據(jù)結(jié)構(gòu)來勾畫系統(tǒng)的概貌。 數(shù)據(jù)流圖 數(shù)據(jù)流圖是組織中信息運(yùn)動的抽象。是在調(diào)研的基礎(chǔ)上,從系統(tǒng)的科學(xué)性、管理的合理性、實(shí)際運(yùn)動的可行性角度出發(fā)。將信息處理功能和彼此之間的聯(lián)系自頂向下,逐層分解,從邏輯上精確地描述系統(tǒng)應(yīng)具有的數(shù)據(jù)加工功能、數(shù)據(jù)輸入、數(shù)據(jù)輸出、數(shù)據(jù)存儲及數(shù)據(jù)來源和去向(外部實(shí)體)等項(xiàng)目。 首先,分析管理系統(tǒng)的總體情況,劃分系統(tǒng)邊界,識別系統(tǒng)的數(shù)據(jù)來源和去處,確定外部實(shí)體,得出系統(tǒng)的頂層數(shù)據(jù)流程圖。 然后劃分出幾個(gè)主要的信息管理功能,并明確各功能之間的聯(lián)系 ,繪制出數(shù)據(jù)流程圖。 數(shù)據(jù)流程圖的符號說明如圖 所示。 外部實(shí)體 處理 數(shù)據(jù)流 數(shù)據(jù)存儲 圖 數(shù)據(jù)流程圖的符號