(論文)飛機(jī)訂票系統(tǒng)論文(2013年優(yōu)秀畢業(yè)設(shè)計論文)_第1頁
(論文)飛機(jī)訂票系統(tǒng)論文(2013年優(yōu)秀畢業(yè)設(shè)計論文)_第2頁
(論文)飛機(jī)訂票系統(tǒng)論文(2013年優(yōu)秀畢業(yè)設(shè)計論文)_第3頁
(論文)飛機(jī)訂票系統(tǒng)論文(2013年優(yōu)秀畢業(yè)設(shè)計論文)_第4頁
(論文)飛機(jī)訂票系統(tǒng)論文(2013年優(yōu)秀畢業(yè)設(shè)計論文)_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

目錄摘要2第一章開發(fā)工具31.1Windows 2000 Server創(chuàng)建站點31.2Microsoft Visual InterDev 介紹4第二章HTML介紹52.1什么是HTML52.2 HTML語法及標(biāo)記的使用5第三章 VBScript介紹103.1VBScript的概念 103.2變量和關(guān)鍵字103.3邏輯結(jié)構(gòu)113.4 VBScript過程和函數(shù)12第四章ASP介紹144.1 ASP概述144.2 ASP執(zhí)行環(huán)境144.3ASP常用內(nèi)置對象15第五章WEB數(shù)據(jù)庫185.1概述185.2 三個重要對象195.3 關(guān)于SQL22第六章規(guī)劃應(yīng)用程序24第七章 網(wǎng)上售票系統(tǒng)設(shè)計制作267.1流程圖及其說明267.2數(shù)據(jù)庫277.3查詢及售票系統(tǒng)277.4 留言及用戶系統(tǒng)297.5后臺管理系統(tǒng)29致謝31參考文獻(xiàn)32摘要本論文論述了網(wǎng)上飛機(jī)訂票系統(tǒng)的構(gòu)架,流程,維護(hù)以及開發(fā)本系統(tǒng)相關(guān)的知識體系,最后還談到了我的收獲和體會以及自己總結(jié)出的一些很有實用價值的東西。開發(fā)工具:前臺:Microsoft Visual InterDev 后臺:Access2000 服務(wù)器:Microsoft Windows2000 Server 相關(guān)技術(shù): Asp、Html、ADO、SQL 系統(tǒng)結(jié)構(gòu): 1航線及相關(guān)信息查詢2訂票3留言4用戶資料系統(tǒng)5數(shù)據(jù)庫后臺管理關(guān)鍵詞:飛機(jī) 售票 網(wǎng)上 ASP ADO第一章開發(fā)工具1.1Windows 2000 Server創(chuàng)建站點1.1.1IIS的概念I(lǐng)IS(Internet Information Server)是微軟公司主推的web服務(wù)器。IIS與Windows2000 Server完全集成在一起,因而用戶可以利用Windows2000 Server和NTFS(NT File System,NT的文件系統(tǒng))內(nèi)置的安全特性,建立強(qiáng)大、安全而靈活的Internet和Interanet站點。 IIS支持HTTP(Hypertext Transfer Protocol,超文本傳輸協(xié)議)、FTP(File Transfer Protocol,文件傳輸協(xié)議)以及SMTP協(xié)議。IIS響應(yīng)極高,同時系統(tǒng)資源的消耗也最少。,它的安裝、 管理、和配置都很容易,這是因為IIS與Windows2000 Server網(wǎng)絡(luò)操作系統(tǒng)緊密的集成在一起。IIS的一個重要特性就是支持ASP。IIS3.0版本以后引入了ASP,可以很容易的張貼動態(tài)內(nèi)容和基于WEB的應(yīng)用程序。對于諸如VBScript、Jscript開發(fā)軟件,或由Visual Basic、Java、Visual C+開發(fā)系統(tǒng),以及現(xiàn)有的CGI和WinCGI腳本開發(fā)的應(yīng)用程序,IIS都提供強(qiáng)大的本機(jī)支持。1.1.2IIS服務(wù)器的特性 IIS可以賦予一部主機(jī)電腦一組以上的IP地址,而且還可以有一個以上的域名作為WEB網(wǎng)站;可以利用 TCP/IP內(nèi)容設(shè)置兩組以上的IP地址給他。除了為網(wǎng)卡再加進(jìn)一組IP地址之外,必須在負(fù)責(zé)這個點的DNS上為這組IP地址指定另一個域名。為了存取后端數(shù)據(jù)庫,IIS支持以下三種方式:IDC:Internet Data ConnectorADO:ActiveX Data Object (本設(shè)計使用ADO,將在以后章節(jié)中介紹)ADC:Advance Data Connector這三種數(shù)據(jù)庫存取方式的后端數(shù)據(jù)庫都必須提供ODBC界面。1.1.3站點的創(chuàng)建1啟動IIS開始管理工具Internet服務(wù)管理器2.進(jìn)入新建站點流程右鍵點擊“管理WEB站點”,選擇“新建”中的“站點”3.按照提示填寫 特別注意,在選擇主目錄前,要將你的所有WEB頁包含同一個大目錄下,這個目錄即是所選。創(chuàng)建成功后,在“管理WEB站點”的下面,將看到一個新建的站點,點擊右鍵選擇“屬性”你將看到如下界面(下頁): 建議使用它的默認(rèn)值,最后點擊“文檔”,將它的默認(rèn)文檔刪除,添加你的首頁(我的首頁是index.asp),然后單擊確定,你就完成了創(chuàng)建站點。在IE中輸入你的IP即可訪問了。1.1.4 常見問題的處理 一般來說, Windows2000Server是很穩(wěn)定的,在我的實踐過程中,有時出現(xiàn)在IE中無法瀏覽,或找不到服務(wù)器的情況,最簡單的解決辦法就是重啟IIS,方法如下: 打開“Internet服務(wù)管理器”,右鍵點擊主機(jī)名(即根目錄,前面有一個“*”),選擇“重新起動IIS”即可,等待30秒,窗口自動關(guān)閉即完成。1.2Microsoft Visual InterDev 介紹對于一般的HTML網(wǎng)頁,ASP腳本只需用記事本就可以編寫,但是很不方便,我用的是一個非常強(qiáng)大的WWW設(shè)計編輯工具M(jìn)icrosoft Visual InterDev6.0。 在InterDev中提供了一套集成的工具,用來使程序開發(fā)人員在建立Web程序時可以處理各種可能發(fā)生的工作。這些工作包括HTML網(wǎng)頁編輯,ActiveX控件制作,數(shù)據(jù)庫連接,網(wǎng)站管理等工作。 開發(fā)階段,程序員在InterDev客戶端上操作HTML或ASP文件,然后使用HTML存儲WEB服務(wù)器上,并連接數(shù)據(jù)庫服務(wù)器,從數(shù)據(jù)庫服務(wù)器上得到資料。關(guān)于InrerDev的使用方法和更詳細(xì)的說明,請查閱相關(guān)資料,這里就不再介紹。第二章HTML介紹2.1什么是HTMLHTML是Hyper Text Market Language的縮寫,通常譯為超文本標(biāo)識語言。即一個文件不管在任何操作系統(tǒng)的任何瀏覽器上讀起來都應(yīng)該是一樣的,HTML是一種處理文字的語言,它包含的指令(標(biāo)記)可以插入到未定格式的文件里,用來控制打印或執(zhí)行瀏覽器顯示時的網(wǎng)頁外觀。HTML只包含兩種信息標(biāo)記和內(nèi)容,標(biāo)記是三角括號()之間的文本,內(nèi)容是不在三角括號( )之間的文本。標(biāo)記和內(nèi)容的差別在于,瀏覽器不顯示標(biāo)記,標(biāo)記中的信息告訴瀏覽器如何顯示內(nèi)容。HTML可以創(chuàng)建結(jié)構(gòu)化文檔。頭命令將文檔各個部分分開和分類。HTML還有一些基本命令,可以格式化和顯示文本、圖形,接受用戶輸入和將信息發(fā)往服務(wù)器中進(jìn)行后端處理。此外還可以創(chuàng)建特殊的文本和圖形區(qū),在單擊時從一個HTML文件超鏈接到另一個 HTML文件,從而生成一系列頁面間的相互鏈接。通過超鏈接生成一系列頁面是程序,但是這些程序沒有智能,無法決策,主要使用它來控制頁面的生成和顯示。2.2 HTML語法及標(biāo)記的使用有效的HTML文件只有幾個要求。舉例如下: 舉個例一個最簡單的例子 上例既有標(biāo)記也有內(nèi)容是一個完整的而簡單的HTML文件。標(biāo)記是三角括號()中的文本。所有HTML文檔都以標(biāo)記開頭,以標(biāo)記結(jié)尾,兩個標(biāo)記之間有其他的標(biāo)記和內(nèi)容。標(biāo)記包含一個主命令,還可包含無限個相關(guān)值,稱為屬性。每個屬性有名有值屬性與命令間和屬性與前一屬性之間用空白分開,空白包括空格、制表符、回車/進(jìn)行符。瀏覽器忽略這些空格??瞻追麑g覽器而言是另一種命令,通常稱為分隔符。分隔符是任何分隔符項目的字符或字符序列。不同類型的分隔符有不同的含義。三角括號分隔標(biāo)記,空白符分隔屬性,等號分隔屬性的名和值。同樣,HTML用引號分隔數(shù)值,因為屬性值中可能包含另一分隔符:空白符、等號或三角括號。舉例如下: 這里標(biāo)記有三個屬性face、size和color,各一個值,也有其他復(fù)雜的屬性和值,使用的語法都一樣,這里就不再贅述。在HTML中,屬性值的語法最復(fù)雜,而其他語法規(guī)則很簡單: 空白是可選的,除非用標(biāo)記強(qiáng)迫瀏覽器包括空白,否則瀏覽器忽略空白。 大小寫無關(guān)。 標(biāo)記順序很重要,內(nèi)層標(biāo)記應(yīng)完全放在外層標(biāo)記之內(nèi),即使用層套結(jié)構(gòu)。這些簡單規(guī)則有助于編寫完美的HTML,下面是我自己的一些總結(jié),也是編寫HTML的一些技巧: 編寫開始標(biāo)記時即寫上結(jié)束標(biāo)記。例如,不要寫完之后等最后再補(bǔ)寫,而是同時寫兩個標(biāo)記,然后在標(biāo)記之間插入內(nèi)容。 用小寫標(biāo)記,易于輸入。 使用模板。模板是預(yù)先寫好的文件,可以直接放入內(nèi)容。 縮排內(nèi)層標(biāo)記。 多用說明語句。HTML中的說明語句是以左三角括號加感嘆號加雙劃線開頭,并以雙劃線和右三角括號結(jié)尾的文本:。說明語句有助于理解文件的內(nèi)容和布局,還可以直觀的分隔各個部分。下面是常用標(biāo)記及其屬性的總匯:標(biāo)記屬性說明HTML文件標(biāo)記顯示網(wǎng)頁的一般信息文件標(biāo)題bodyalink選中超鏈接的RGB或名稱的顏色值background引用圖形的URLbgcolor頁面背景顏色的RGB或命名的顏色值bottommargin頁面下邊界的象素值leftmargin頁面左邊界的象素值link未激活超鏈接的RGB或命名的顏色值rightmargin頁面右邊界的象素值scroll控制頁面上是否顯示滾動條text文本缺省顏色的RGB或命名的顏色值topmargin頁面上邊界的象素值vlink訪問過的超鏈接的RGB或命名的顏色值bgsound引用聲音文件的URL標(biāo)記顯示內(nèi)容的段落顯示粗體字顯示斜體字顯示文字加下劃線換行符分隔線href超鏈接目標(biāo)頁的URLsrc被嵌入圖片的URLwidth指定圖形的寬度height指定圖形的高度align可取三個值left,right,center控制表格在頁面的水平位置background接受引用圖形文件的URLbgcolor控制表格的背景顏色border取一個整數(shù)值,控制表格周圍和各個單元周圍的邊框?qū)挾?。sellpadding取一個整數(shù),控制表格單元與邊框之間的間隔。cellspacing取整數(shù),控制表格單元之間的間隔。cols指定表格中的列數(shù)。height確定表格的高度width確定表格的寬度align用法同bgcoloralign用法用backgroundbgcolorcolspan取整數(shù)值,指定單元延伸的列數(shù)rowspan取整數(shù)值,指定單元延伸的行數(shù)action設(shè)定互動式表單的處理方式,通常指明一個處理函數(shù)的URL地址。method用于設(shè)定互動式表單的資料傳輸方式,如post和get方式。enctype以編碼方式來傳送表單的資料在本章的最后我想介紹一下框架,在我的設(shè)計中,我沒有使用框架,盡管框架的使用有他的好處,但是在權(quán)衡利弊之后,我決定不使用框架??蚣懿荒軉为毚嬖?,而要用框架組定義。框架組應(yīng)在自己的頁面中定義,不能在一個HTML文件中定義框架組和放進(jìn)內(nèi)容(除了標(biāo)記)。但一個頁面中可以定義多個框架組??蚣芙M是不顯示的,是框架的容器頁面??蚣芙M包含一個或幾個框架或框架組??蚣苡脴?biāo)記定義,框架用標(biāo)記定義?,F(xiàn)在來比較一下框架的優(yōu)缺點:優(yōu)點:1. 能獨立顯示內(nèi)容,能直觀的分開內(nèi)容??梢栽谝粋€框架中定義鏈接,在另一個框架中顯示內(nèi)容或觸發(fā)操作,而不必重畫整個屏幕。2. 可以創(chuàng)建可伸縮框架。用戶可以拖動框架邊框以增加或減少框架的顯示區(qū)。缺點:1. 難以創(chuàng)建和控制。 2. 顯示所需時間更長。瀏覽器請求框架組頁面時需要訪問服務(wù)器一次,請求每個框架的內(nèi)容時又至少需要訪問服務(wù)器一次,因此,顯示雙框架頁面可能比顯示同一內(nèi)容無框架頁面花兩倍的時間。3. 框架經(jīng)常需要一些VBScript(對Netscape用戶為JavaScript)用戶端程序,這些程序出錯率較高。第三章 VBScript介紹3.1VBScript的概念VBScript語言脫胎于Visual Basic程序語言,是從VB中簡化出來的版本。VBScript是一個用來提供對HTML和ASP進(jìn)行處理的編程語言,它是解釋性語言。服務(wù)器要解析、編譯和執(zhí)行腳本。VBScript也同時支持內(nèi)嵌在HTML和ASP的文件中的ActiveX控件以及其它對象的使用。VBScript是VBA(Visual Basic for Aplications)的子集,但并不支持包含VBA中的所有性質(zhì)。盡管如此,VBScript仍然可以稱得上是一個使用簡單而且功能強(qiáng)大的程序語言。它能夠讓你建立HTML應(yīng)用程序,以使客戶端及服務(wù)器的處理。由于VBScript對于字符串的處理提供了很多內(nèi)建的函數(shù),因而它很擅長處理字符串。 VBScript只支持一種數(shù)據(jù)類型(Variant),Variant是較大的變量(16字節(jié)),可以保存Integer、Long、Array、Object等任何類型值。VBScript不能控制剪貼板,Collection集合的元素也不能以“!”號取得。在VBScript中,沒有條件式的編譯,不能使用行號。VBScript沒有I/O文件功能,但是通過服務(wù)器組件(如FileSystemObject)的使用,仍然可能操作并讀寫文件。VBScript剔除了所有的繪圖功能及以“$”符號結(jié)束的功能。3.2變量和關(guān)鍵字腳本是由關(guān)鍵字、內(nèi)部函數(shù)、自定義程序調(diào)用和對象方法組成。關(guān)鍵字是解析器認(rèn)識的字,是該語言的一部分。不能生成與關(guān)鍵字同名的變量。VBScript的關(guān)鍵字很多,建議查閱相關(guān)資料。 剛才已經(jīng)說到VBScript只有一種類型的變量,即Variant類型,可以存放三種數(shù)值:標(biāo)量值、數(shù)組和對象指針。 標(biāo)量變量是簡單的字符串、數(shù)值等變量。標(biāo)量變量的Variant自類型有Boolean、Integer、Long、Single、Double、Date、Currency和String。要生成標(biāo)量變量,用Dim語句定義變量,然后可以對變量賦值。數(shù)組是保存一列標(biāo)量或?qū)ο笾羔樦档腣ariant。數(shù)組變量并不實際保存數(shù)值列表,而是保存內(nèi)存中集合第一個位置的指針。生成數(shù)組的方法有兩種:可以在聲明變量時指定數(shù)組的維度,也可以先聲明變量,然后用Array()函數(shù)生成數(shù)組。 Variant中可以保存的第三個類型數(shù)值是指針。用Server.CreatObject函數(shù)生成對象時,VBScript保留保存對象數(shù)據(jù)的內(nèi)存區(qū)。Server.CreatObject函數(shù)返回內(nèi)存中該位置的指針。要讓VBScript區(qū)別對象指針與數(shù)值,就要用到Set關(guān)鍵字生成對象變量。頁面結(jié)束時,ASP自動銷毀所有本地定義的變量。然后,用完對象變量后,最好將其設(shè)置為數(shù)值Nothing。將其設(shè)置為Nothing能釋放對象使用的內(nèi)存,以便其他進(jìn)程使用。3.3邏輯結(jié)構(gòu)每個現(xiàn)代語言都有幾個邏輯結(jié)構(gòu)。邏輯結(jié)構(gòu)可以條件的執(zhí)行代碼。完整結(jié)構(gòu)構(gòu)成代碼塊。我想就以一個表格的形式來介紹,這樣簡單明了一些。結(jié)構(gòu)說明一般用法Ifthen條件測試If then do somethingelse do somethingend ifSelectcase從多種case中選擇匹配的類型Select case nameCase “jack” do somethingcase “rose” do something elseend selectand布爾邏輯兩個操作數(shù)均為真時為真or布爾邏輯兩個操作數(shù)均為假時為假Xor布爾邏輯只有一個操作數(shù)為真時為真not布爾邏輯操作數(shù)真時為假為假時為真Fornext可以循環(huán)預(yù)定次數(shù)。需要提供循環(huán)控制變量、開始值、結(jié)束值和(可選)增量或步長。用Exit for提前推出循環(huán)。For= to step do somethingnext Whilewend循環(huán)一直執(zhí)行到while后面的條件語句為trueWhile do somethingwendDowhile和whilewend相似,都是條件循環(huán),但可以在循環(huán)結(jié)構(gòu)的開頭或結(jié)尾加上條件測試,這樣就可以強(qiáng)制循環(huán)至少執(zhí)行一次。Do while do somethingloopor do do somethingloop while 3.4 VBScript過程和函數(shù)VBScript提供了兩種建立程序模塊的方法:Sub和Function。他們均可以調(diào)用其他的函數(shù)。在過程和函數(shù)內(nèi)不能包含其他函數(shù)聲明。3.4.1 過程(Sub) 我們說的Sub過程是由包含在Sub和End Sub關(guān)鍵字內(nèi)的代碼組成的。Sub過程可以傳入變量,常量或是表示式,而且可以判斷或改變這些數(shù)值。下面是一個一般結(jié)構(gòu)的Sub過程聲明:Sub Subname (Argument1,Argument2,Argument3) StatementsEnd Sub 在沒有傳遞任何參數(shù)的情況下,這個過程名后則是一組空白的括號對。在缺省情況下,任何聲明的函數(shù)都是公開的,所有腳本的函數(shù)都可以看到并使用它。如果你想要聲明一個只被本身所在腳本的其他函數(shù)看到的函數(shù),那么你可以使用Private這個關(guān)鍵字。 調(diào)用過程有三種方法:首先便是使用Call語句;其次是在你的程序代碼中命名程序;最后一種方法是在聲明程序時,把程序連接到一個HTML表格的一個指定事件上。3.4.2 函數(shù)(Function)用Function和End Function這兩個關(guān)鍵字聲明一個函數(shù)。和Sub過程一樣,函數(shù)可以接受參數(shù)(變量,常量或是表示式),而且頁可以使用Call關(guān)鍵字或是在程序代碼中使用函數(shù)名來調(diào)用。函數(shù)的聲明、變量的傳遞以及調(diào)用的語法都和Sub過程相同。 函數(shù)和過程的不同在于函數(shù)可以給調(diào)用的程序代碼或程序返回值。Function返回值是通過函數(shù)賦值來實現(xiàn)的,可以簡單的將函數(shù)名當(dāng)作一個變量來使用。 第四章ASP介紹4.1 ASP概述ASP(active server pages,動態(tài)服務(wù)器)是運行于服務(wù)器的網(wǎng)頁,這個網(wǎng)頁由嵌入服務(wù)器的ASP解釋程序解釋后,生成相對簡單的頁面返回給服務(wù)器。任何簡單的瀏覽器都可以瀏覽這些生成的頁面,而動態(tài)網(wǎng)頁并不直接返回給瀏覽器。ASP存取數(shù)據(jù)的方法遵循CGI標(biāo)準(zhǔn),但它大大簡化了編程方法。ASP編寫的網(wǎng)頁全都是解釋執(zhí)行的,你可以修改一個動態(tài)網(wǎng)頁,無須任何編譯器就可以直接發(fā)布到WEB服務(wù)器上。 ASP適應(yīng)顯示與處理迅速改變和個性化的需求,利用HTML作為顯示機(jī)制,它通過定制個人內(nèi)容而不是提供統(tǒng)一內(nèi)容而實現(xiàn)個性化。為了識別和提供個性化的內(nèi)容,ASP提供了幾個內(nèi)置對象: request對象,從瀏覽器取得信息 response對象,響應(yīng)特定瀏覽器 session對象,將特定請求與特定瀏覽器相關(guān)聯(lián) application對象,存放和檢索應(yīng)用程序的全局信息 server對象,獲取宿主服務(wù)器信息 objectcontext對象,集成ASP與其他對象 ASPError對象,管理錯誤與錯誤報表 這些內(nèi)置對象是ASP固有的,但也只是ASP功能的一部分,要有效利用ASP內(nèi)置對象,就要作出決策、重復(fù)操作和存放信息。ASP利用了瀏覽器已經(jīng)有的Cookie功能,Cookie就是WEB服務(wù)器指示瀏覽器存儲的信息。 ASP提供了連接數(shù)據(jù)庫和讀取與更新數(shù)據(jù)庫信息的方便方法,這個方法就是ADO。ADO是訪問各種數(shù)據(jù)庫信息的高級方法,將在下一章介紹。4.2 ASP執(zhí)行環(huán)境以下任何一種環(huán)境都可以執(zhí)ASP: Windows 2000 Server:執(zhí)行IIS 5.0(或更高版本) Windows 2000 proServer Pack:執(zhí)行IIS 5.0(或更高版本) Windows 98:執(zhí)行Microsoft Personal Web Server(PWS)1.0a/4.0 借助第三方廠商提供的服務(wù)器擴(kuò)展程序(如iASP),你可以在Unix、Apache、Linux之上執(zhí)行ASP程序。4.3ASP常用內(nèi)置對象4.3.1Response對象 Response對象用來向瀏覽器輸出信息。它的屬性如下表。屬性語法說明BufferResponse.buffer=true(false)指示緩沖頁是否輸出。必須在.asp文件的第一行調(diào)用Response.buffer。ContentTypeResponse.contenttype=“text/plain”設(shè)置瀏覽器所傳回頁內(nèi)容的MIME類型,指定服務(wù)器響應(yīng)的HTTP內(nèi)容類型。ExpiresResponse.expires=0說明瀏覽器每次讀網(wǎng)頁時的間隔時間。如果設(shè)置0,那么網(wǎng)頁立即過期每次刷新的頁面都是從服務(wù)器取得ExpiresAbsoluteResponse.ExpiresAbsolute=#January 7,2002.10:00:00#指定緩存于瀏覽器中的頁面的確切到期日期和時間。StatusResponse.status=“401 Unauthorized”傳遞HTTP響應(yīng)的狀態(tài),對于每個請求的網(wǎng)頁,服務(wù)器都會返回由3位數(shù)組成的狀態(tài)代碼,用于測試階段和轉(zhuǎn)換控制到其他站點。CharsetResponse.charset=”gb2131”選擇字符集 Response對象的方法方法語法說明WriteResponse.write “”將指定的字符串寫到當(dāng)前的HTTP輸出。redirectResponse.redirect URL無條件轉(zhuǎn)向地址為URL的頁面endResponse.end允許服務(wù)器結(jié)束動態(tài)腳本的運行并返回當(dāng)前結(jié)果。Response.buffe為true時,該方法將緩沖區(qū)內(nèi)容輸出到瀏覽器clearResponse.clear當(dāng)buffer為true是clear有效,它將清除緩沖區(qū)內(nèi)容。flushResponse.flush將緩沖內(nèi)容立即發(fā)送給客戶,同樣buffer必須為true。 向客戶端寫入CookieCookie實際上是一個WEB服務(wù)器放在用戶的瀏覽器上的信息。當(dāng)再次使用相同的瀏覽器請求一頁時,它就把以前從Web服務(wù)器得到的Cookie值傳給Web服務(wù)器。Cookie允許一個用戶關(guān)聯(lián)一系列信息,ASP腳本可以通過Rsponse對象和Request對象的Cookie集合得到和設(shè)置這些信息。Respone對象有一個Cookies集合,可以通過Cookies集合設(shè)置Cookie值。如果指定的Cookie不存在,則創(chuàng)建這個Cookie;如果存在,則設(shè)置新值刪除舊值。語法:Response.cookies(cookie)參數(shù)=Value (參數(shù)是可選的)4.3.2Request對象Request對象所包含的信息是客戶瀏覽器提出的請求??梢允褂肦equest對象訪問任何基于HTTP請求所傳送的所有信息,包括HTML Form表單用Post方法或Get方法傳遞的參數(shù)、Cookie和ServerVariable等,下面分別介紹這集中方法。 使用QueryString得到Get方法的數(shù)據(jù) 當(dāng)HTML表單使用Get方法向ASP文件傳遞數(shù)據(jù)時,數(shù)據(jù)被保存在集合QueryString中。QueryString集合用來檢查HTTP字符串變量中的值,HTTP查詢字符串是由問號后的值指定的,例如: 變量就以name=vaule配對值的形式來傳遞,Request.QueryString集合即是存取這種name=value配對值所使用的方法。語法:Request.QueryString(“Variable”) 使用Form集合得到Post方法的數(shù)據(jù) Form集合可以取得以Post方法從瀏覽器傳來的值。這些值是由Form表單提交的。語法:Request.form(elementname)得到服務(wù)器變量ServerVariables ServerVariables集合保存了隨HTTP請求一起傳送的HTTP頭的信息??梢酝ㄟ^它獲取有關(guān)瀏覽器的信息。只要提供表頭的名字,就可以獲取表頭的信息。在瀏覽器中瀏覽網(wǎng)頁時使用HTTP協(xié)議,在HTTP的標(biāo)題文件中會記錄一些客戶端的信息,如客戶的IP地址等。有時服務(wù)器端根據(jù)不同的客戶端信息做出不同的反應(yīng),這時就需要用ServerVariable集合獲取信息。語法:request.ServerVariable(服務(wù)器環(huán)境變量)得到客戶端的Cookie 一個Cookie就是一個唯一標(biāo)識客戶的標(biāo)記,標(biāo)記的內(nèi)容可以隨時讀取,但只能由該站點的頁面完成。Cookie可以包含在一個或幾個對話期之間某個WEB站點的所有頁面共享的信息。使用Cookie還可以在頁面之間交換信息。Request提供的Cookie集合允許用戶取得在HTTP請求中發(fā)送的Cookie的值。語法:Request.Cookies(cookie)4.3.3 Session、Application和Server對象這三個對象在我的設(shè)計中用得較少,所以在這里只做一般的簡單介紹,如果想深入了,解請查閱專業(yè)資料。Session對象 使用Session可以為每個用戶保存指定的信息。任何Session中的信息可以在用戶Session中的信息可以在用戶的調(diào)用下一個頁面時取得。HTTP協(xié)議是基于請求響應(yīng)的對話模式運行的,一次對話結(jié)束,所有的數(shù)據(jù)都將不再保存,ASP提供的Session對象可以讓我們使用以前頁面的數(shù)據(jù)。Session和Cookie都可以維持?jǐn)?shù)據(jù),但是Session數(shù)據(jù)是存儲在服務(wù)器上,而Cookie數(shù)據(jù)是存儲在瀏覽器本機(jī)里的。這樣,用Session相對用Cookie要安全一些,但是卻加大了服務(wù)器的開銷,而且現(xiàn)在有的瀏覽器不支持Session,所以在選擇兩者的使用時需要權(quán)衡一下。Application和Server對象 它們都向應(yīng)用程序提供全局?jǐn)?shù)據(jù),即提供適用于應(yīng)用程序所有用戶的信息。Server對象可以通過程序控制查詢IIS,可以訪問通常需要對每個應(yīng)用程序編碼的Web服務(wù)。 Application對象是個集合對象,可以檢索各個值或?qū)现械捻椖窟M(jìn)行遍歷。應(yīng)用程序所有用戶只有一個Application對象,所以在增加或改變數(shù)值時要先鎖定,修改完后在開鎖 第五章WEB數(shù)據(jù)庫5.1概述將網(wǎng)站數(shù)據(jù)庫化,就是使用數(shù)據(jù)庫管理整個網(wǎng)站。只要更新數(shù)據(jù)庫內(nèi)容網(wǎng)站的內(nèi)容就會自動更新。要在裝有IIS的服務(wù)器上安裝數(shù)據(jù)庫的ODBC(開放數(shù)據(jù)庫連接)驅(qū)動程序,就可以存取位于網(wǎng)絡(luò)上任何支持ODBC的數(shù)據(jù)庫了。ODBC是一項在數(shù)據(jù)庫的內(nèi)容設(shè)定上采用的開放標(biāo)準(zhǔn)。它提供了一個標(biāo)準(zhǔn)的數(shù)據(jù)庫訪問界面給使用者,目前知名的數(shù)據(jù)庫基本上都支持ODBC。ODBC具有一組標(biāo)準(zhǔn)來定義程序庫上的函數(shù)調(diào)用,能夠用程序語言存取在遠(yuǎn)端服務(wù)器上的數(shù)據(jù)庫。對Internet上的數(shù)據(jù)庫的存取可以用ADO(ActiveX Data Object)方法,也是當(dāng)今最流行的方法。實際上ADO是ASP與關(guān)系型數(shù)據(jù)庫的主要接口。ADO還可以訪問其他數(shù)據(jù)類型,如Excel電子報表、分隔文本文件、Exchange數(shù)據(jù)和任何具有Object Linking and Embedding Database(OLEDB,對象鏈接與嵌入數(shù)據(jù)庫)驅(qū)動程序的數(shù)據(jù)庫。不管應(yīng)用程序訪問哪種數(shù)據(jù)庫,ADO對象與方法都是相似的。這種訪問多種數(shù)據(jù)庫的功能和相對簡單的對象模型使ADO成為既簡單又不錯的數(shù)據(jù)讀取方法ADO可以用來建造客戶/服務(wù)器結(jié)構(gòu)及WEB的應(yīng)用,它具有如下特點: 支持批處理(Batch Updating),可以分批處理客戶端提出的請求。 支持存儲過程(Stored Procedures),可使用In/Out參數(shù)存儲過程輸入及輸出信息,并可以取得存儲過程的返回值??梢允褂么鎯^程或批處理SQL命令,傳回多組記錄集的功能。ADO有三個主要對象:Connection,Command,Recordset。 它的結(jié)構(gòu)如下圖所示:Connection Errors Error Command Parameters Parameter Recordset Fields Field 我想在詳細(xì)介紹三個重要對象以前,先介紹一下這三個對象各自的職責(zé)是怎樣的,即他們分別處理怎樣的需求。Recordset對象主要用于數(shù)據(jù)庫的查詢;connection和command對象更注重于二者的配合,他們的配合可以完成對數(shù)據(jù)庫記錄的新增、刪除、修改等任務(wù)。5.2 三個重要對象5.2.1Recordset對象 Recordset對象代表著執(zhí)行過的Command對象所返回的完整記錄集合。它可以精確的操作數(shù)據(jù)庫中的資料。所有的Recordset對象都是通過記錄(指一行數(shù)據(jù))和字段(指一列數(shù)據(jù))構(gòu)造出來的。由于數(shù)據(jù)庫提供者所支持的功能不同,一些記錄集的方法或?qū)傩钥赡苁菬o效的。創(chuàng)建并打開Recordset對象:字符串a(chǎn)dodb.Recordset是用來創(chuàng)建Recordset對象的,這個字符串通過CreatObject傳給操作系統(tǒng)。Rec.open使我們能在創(chuàng)建的對象上建立查詢,并得到相應(yīng)的記錄集。Recordset常用對象屬性:屬性說明AbsolutePage當(dāng)前記錄位置的絕對頁號AbsoluterPosition當(dāng)前極力所在的絕對位置ActiveConnection指示當(dāng)前活躍的Connection對象BOF指示當(dāng)前位置是否在首條記錄之前BookMark設(shè)置或返回一個唯一的識別符,以區(qū)分當(dāng)前的記錄CacheSize在緩沖區(qū)內(nèi)可存儲記錄的數(shù)目CursorLocation決定光標(biāo)所處的位置EOF指示當(dāng)前位置記錄是否在尾記錄之后Filter在一個Recordset中的數(shù)據(jù)過濾器LockType當(dāng)前記錄的鎖定類型MaxRecord一次可以從數(shù)據(jù)庫取得的最大資料數(shù)PageCount當(dāng)前記錄集總頁數(shù)PageSize每一頁所含的記錄數(shù)RecordCountRecordset中的所有記錄數(shù)Source可以對應(yīng)與一個Command的查詢串Recordset對象的方法方法說明語法AddNew新增一條記錄Reccordset.AddNew FieldList,ValuesCanceBatch取消一個批處理Recordset.cancelbatch affectrecordsClone建立相同的Recordset對象Set cloneRecordset=Recordset.Clone LockTypeClose關(guān)閉Recordset對象Recordset.closeDelete刪除目前記錄Recordset.delete AffectGetRows得到多條記錄Array=recordset.GetRows(Rows,start,Fields)Move移動到特定記錄上Recordset.Move NumRecords,StartMoveFirst移動到第一條記錄上Recordset.MoveXXXXMoveNext移動到下一條記錄上MoveLast移動到最后一條記錄MovePrevious向前移動一條記錄NextRecordset在多組查詢中移動至下一條數(shù)據(jù)上Set recordset2= recordset1.NextRecordset(RecordsAffected)Open執(zhí)行查詢Recordset.open source.Requery重新執(zhí)行相同的查詢Recordset.RequeryUpdate更改目前記錄Recordset.Update fields,ValuesUpdateBatch更改未定記錄Recordset.Updatebatch AffectRecords5.2.2Connection對象Connection對象是數(shù)據(jù)源唯一的已開啟的連接。在數(shù)據(jù)庫系統(tǒng)的客戶機(jī)服務(wù)器模式下,它等同于和服務(wù)器之間的一條實際網(wǎng)絡(luò)連線。使用Connection對象,可以確定以何種方式建立與服務(wù)器的連線,設(shè)定和配置查詢條件,還可以用來檢查整個過程中所發(fā)生的錯誤。創(chuàng)建并打開Connection對象Connection對象的屬性屬性說明Attributes設(shè)置或返回Connection對象的事務(wù)狀況CommandTimeOut設(shè)置Excute執(zhí)行的最長時間CommandString用來和數(shù)據(jù)源建立連接的字符串ConnectionTimeOut設(shè)置或返回Open執(zhí)行的最長時間CursorLocation設(shè)置或返回當(dāng)前所使用的光標(biāo)位置DefaultDatabase指明當(dāng)前Connection對象缺省的數(shù)據(jù)庫IsolationLevelConnection對象的對立級別Mode數(shù)據(jù)的更新許可權(quán)ProviderConnection對象的數(shù)據(jù)提供者名稱Sure當(dāng)前狀態(tài)Connection對象的方法方法說明語法BeginTrans開始一次事務(wù)Object.BeginTransClose關(guān)閉一次連接Connection.closeCommitTrans提交一次事務(wù)Object.CommitTransExcute執(zhí)行一次事務(wù)Connection.ExcuteRollbackTrans取消一次事務(wù),恢復(fù)數(shù)據(jù)到事務(wù)前Object.RollbackTransOpen開啟一個連接Connection.Open5.2.3Command對象Command對象就是對數(shù)據(jù)執(zhí)行查詢命令的定義。這些命令由SQL語句、存儲過程、數(shù)據(jù)庫表或其他數(shù)據(jù)提供者支持的文字格式組成,Command對象是這些命令的容器。使用Command對象可以查詢數(shù)據(jù)庫,并返回一個包含記錄集的Recordset對象,也可以使用 Command對象執(zhí)行大批量工作或操作數(shù)據(jù)庫的結(jié)構(gòu)。使用Command對象的CommandText屬性可以定義一個可執(zhí)行的CommandText。可以不用創(chuàng)建Recordset對象就直接使用Command對象,只需設(shè)置Command對象的ActiveConnection屬性為為一個連接串即可。創(chuàng)建Command對象:Command對象的屬性屬性說明ActiveConnection關(guān)聯(lián)的 Connection對象CommandText查詢的字符串CommandTimeOutCommand對象的Excute方法可執(zhí)行的最長時間CommandType查詢字符串指明的查詢字符Command對象的方法:方法說明語法Cancel取消一個命令的執(zhí)行Command.CancelCreatParameter創(chuàng)建一個Parameter對象Set par=Command.CreatParameterExcute執(zhí)行一個查詢Command.Excute5.3 關(guān)于SQLStructured Query Language(SQL,結(jié)構(gòu)化查詢語言)很簡單,一方面是工作量不大,一方面是已經(jīng)標(biāo)準(zhǔn)化?,F(xiàn)代數(shù)據(jù)庫大多數(shù)都是用SQL的變形,大多數(shù)符合American National Standards Institute(ANSI)92標(biāo)準(zhǔn)。這個標(biāo)準(zhǔn)使我們可以用相近的SQL代碼訪問許多不同的數(shù)據(jù)庫。SQL可以進(jìn)行四個基本操作: Select讀取數(shù)據(jù),從數(shù)據(jù)庫中選擇讀取相應(yīng)的數(shù)據(jù),要從數(shù)據(jù)庫中讀取數(shù)據(jù),就要指定字段列表,表格列表,要排序的字段列表和排序列表。SQL的各個部分稱為從句?;維ELECT語句最多有四個從句。語法如下:Select (field1,field2,etc) from (table list) where (condition) order by (field1,field2)Where和Order by從句是可選的。 Insert增加數(shù)據(jù),它在表中增加一行或幾行。語法如下:insert into table name(field list)Values (Values list) Update改變數(shù)據(jù),它將一列或幾列和一行或幾行的數(shù)據(jù)改變。Update語句是危險的,如果沒有指定條件,則可能改變表中的所有行。更新數(shù)據(jù)時,一定要指定Where條件。語法如下:UPDATE (table name) set field1=(value/expression),field2=(value/expression),From (table/query source) where (condition) Delete刪除數(shù)據(jù),它時最簡單而又最強(qiáng)大的語句??梢杂肈elete語句刪除一個或幾個表中的一行或幾行。它和Update一樣時危險的,因為它會毫無提示的刪除數(shù)據(jù)。如果不慎運行了Delete語句,則很難恢復(fù)數(shù)據(jù)。通常不能用不帶Where從句的Delete語句。語法如下:Delete From (table name)where (condition)第六章規(guī)劃應(yīng)用程序這一章是在我做完畢業(yè)設(shè)計后的總結(jié),說明了創(chuàng)建應(yīng)用程序的過程以及需要注意的問題。(1)定義用戶開始任何應(yīng)用程序前,首先要考慮用戶。通過明確定義,就可以知道用戶是誰,其平均閱讀水平如何,有多少計算機(jī)經(jīng)驗和應(yīng)用程序主題方面的經(jīng)驗,他們用什么設(shè)備運行應(yīng)用程序。建立Internet應(yīng)用應(yīng)用程序,無法控制最終用戶,需要對多種瀏覽器進(jìn)行規(guī)劃,考慮各種版本,低速計算機(jī),關(guān)掉圖形,改變字體和各種屏幕分辨率與顏色深度。應(yīng)用程序無論寫的多好,只有滿足用戶需要才能取得成功,為此,要確定用戶的需要之后再編寫應(yīng)用程序。(2)確定應(yīng)用程序需求ASP應(yīng)用程序需要資源:網(wǎng)絡(luò)資源,服務(wù)器資源,瀏覽器資源,內(nèi)存,數(shù)據(jù)庫,安全性和支持與維護(hù)資源。所有這些問題都是應(yīng)用程序需求。對于你能控制服務(wù)器的小型測試應(yīng)用程序,可以忽略這些要求。(3)生成設(shè)想確定用戶和應(yīng)用程序要求后,就建立了應(yīng)用程序的設(shè)想。利用這個設(shè)想可以幫助其他人了解為什么需要這個應(yīng)用程序,它能干什么,目的是建立能與別人共享的設(shè)想。如果你的應(yīng)用程序需要與人合作,那么,生成設(shè)想是很重要的一步,因為只有這樣你才能與別人交流;如果是小型程序不需要合作,那么,你需要“設(shè)想”來指導(dǎo)你完成程序。(4)規(guī)劃界面界面是應(yīng)用程序的面子,有些應(yīng)用程序沒有界面要求,事實上ASP應(yīng)用程序種的數(shù)據(jù)訪問就沒有界面要求,但人們看到的部分則有界面要求,界面必須美觀實用,如果別人不喜歡這個界面,通常就不會使用這個程序。美觀并不是堆砌漂亮圖形和搞得花里胡梢,而實要以合理方式布置頁面上的控件,圖形和文本,讓人賞心悅目。對于我的畢業(yè)設(shè)計,在界面方面我自己都不甚滿意,但的確我也沒辦法了,我的美術(shù)欣賞水平只有這么多了。要為應(yīng)用程序的用戶多想想,應(yīng)當(dāng)使應(yīng)用程序有時間概念,即把最常見的操作做成最容易進(jìn)行和響應(yīng)最快的操作。比如在我的售票系統(tǒng)的查詢過程中,我只設(shè)置了按起始點查詢,我認(rèn)為這是最快最方便的查詢方式。(5)規(guī)劃數(shù)據(jù)庫要求數(shù)據(jù)庫是應(yīng)用程序的骨干,因此應(yīng)當(dāng)牢靠,即不能接受不符合要求的信息。WEB上的數(shù)據(jù)庫要為引用程序的所有用戶服務(wù),加上WEB的無狀態(tài)性質(zhì),因此通常比標(biāo)準(zhǔn)的客戶機(jī)/服務(wù)器情形中需要提供更多的信息。由于數(shù)據(jù)庫操作本身是機(jī)器和網(wǎng)絡(luò)資源占用量很大,因此要盡量減少任何請求需要在網(wǎng)絡(luò)上傳遞的數(shù)據(jù)量。 下面說明需要考慮的幾點。首先,要考慮數(shù)據(jù)庫接口要像對象屬性與方法或過程名稱與參數(shù)一樣認(rèn)真規(guī)劃。然后,要考慮

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論