基于aspnet系統(tǒng)的酒店訂單管理系統(tǒng)_第1頁(yè)
基于aspnet系統(tǒng)的酒店訂單管理系統(tǒng)_第2頁(yè)
基于aspnet系統(tǒng)的酒店訂單管理系統(tǒng)_第3頁(yè)
基于aspnet系統(tǒng)的酒店訂單管理系統(tǒng)_第4頁(yè)
基于aspnet系統(tǒng)的酒店訂單管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Hotel- order management system based on ASP.NET 【Abstract】 With the rapid development of computer networks, Internet technology becomes more widely used, expanding network coverage area, to bring the hotel industry booming computer application opportunities. A new computer network and managemen

2、t system, will be the hotel management to improve efficiency and improve the standard of service is one important means. But now the vast majority of small and medium sized hotels, guest houses due to financial, personnel, and many other reasons not easy to use hotel management software category, wo

3、n by the original manual records management, low efficiency, error-prone; the same time, appearing on the market various types of hotel occupancy information management software is basically designed for large hotel professional, there are a lot of features for the average hotel, hotels do not have

4、access. More critical is the hotel occupancy information management software is based on client / server, guests booking complicated operation and the cost is not low. C/S system software The scope of application of expanded, with investment will be voluminous So B / S structure of the city hotel oc

5、cupancy hotel business information management system is an indispensable modern tools for Cost control Thesis, B / S system architecture, developed by the system each module has been designed, and the help of Visual Studio 2005 development environment. NET platform, dynamic web programming using ASP

6、.NET and SQL Sever 2005 database, the system achieved The main function. 【Key words】 Hotel management B / S system architecture Cost control 目 錄緒論- 4 -1 論文體系結(jié)構(gòu)- 5 -1.1 研究?jī)?nèi)容- 5 -1.2采用的研究思路- 5 -1.3論文結(jié)構(gòu)組織- 5 -2 相關(guān)應(yīng)用技術(shù)- 6 -2.1 C#概述- 6 -2.1.1 C#- 6 -2.1.2 .NET框架- 7 -2.2 ASP.NET概述- 9 -2.2.1 ASP.NET- 9 -2.

7、2.2頁(yè)和控件框架- 9 -2.2.3 ASP.NET編譯器- 10 -2.2.4 安全基礎(chǔ)結(jié)構(gòu)- 10 -2.2.5狀態(tài)管理功能- 10 -2.2.6應(yīng)用程序配置- 11 -2.2.7運(yùn)行狀態(tài)監(jiān)視和性能功能- 11 -2.3 數(shù)據(jù)庫(kù)- 11 -2.4 XML技術(shù)- 13 -2.5 數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)- 14 -3酒店訂單管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)- 17 -3.1 酒店訂單管理系統(tǒng)構(gòu)架- 17 -3.2酒店訂單管理系統(tǒng)的總體設(shè)計(jì)- 18 -3.2.1 本系統(tǒng)功能模塊設(shè)計(jì)- 18 -3.2.2數(shù)據(jù)庫(kù)設(shè)計(jì)- 19 -3.2.3數(shù)據(jù)流圖- 20 -3.2.4 數(shù)據(jù)庫(kù)操作方法- 21 -3.3 系統(tǒng)管理人員端

8、功能實(shí)現(xiàn)- 22 -3.3.1管理員登陸功能- 22 -4 成本控制- 24 -4.1系統(tǒng)投入運(yùn)行前的成本控制- 24 -4.2人工成本控制- 24 -4.3系統(tǒng)投入運(yùn)行時(shí)的成本控制- 24 -4.4服務(wù)器升級(jí)時(shí)的成本控制- 24 -5 系統(tǒng)功能界面展示- 25 -5.1系統(tǒng)流程圖- 25 -5.2系統(tǒng)主界面- 25 -5.3登陸界面- 26 -5.4 管理員功能主界面- 28 -5.5房間訂單管理界面- 28 -5.6客戶(hù)意見(jiàn)管理界面- 29 -5.7普通用戶(hù)主功能界面- 30 -5.8 用戶(hù)訂房功能界面- 31 -5.9 根據(jù)用戶(hù)描述推薦房間功能界面- 32 -5.10用戶(hù)意見(jiàn)交流功能界面

9、- 33 -結(jié)論- 33 -參考文獻(xiàn)- 34 -附 錄:- 35 -致 謝- 41 - 39 -緒論國(guó)外的酒店管理系統(tǒng)最早是于70年代初發(fā)展起來(lái)的,到了80年代,國(guó)外的酒店管理系統(tǒng),如EECO(Electronic Engineering CO.)、HIS(Hotel Information System)、CLS、Lodgistix等,整個(gè)模式已基本定型,技術(shù)較成熟,功能也齊全。國(guó)內(nèi)的酒店計(jì)算機(jī)管理系統(tǒng)最早是在80年代初開(kāi)始的,從事該方面工作的有清華大學(xué)自動(dòng)化系的金國(guó)芬教授、西安交大和浙江省計(jì)算技術(shù)研究所。到了80年代中后期,隨著國(guó)外飯店計(jì)算機(jī)系統(tǒng)和先進(jìn)管理技術(shù)的大規(guī)模引進(jìn),進(jìn)一步促進(jìn)了我國(guó)

10、酒店管理技術(shù)的發(fā)展。國(guó)內(nèi)酒店管理系統(tǒng)正是在充分吸收國(guó)外管理系統(tǒng)的精華,結(jié)合國(guó)內(nèi)實(shí)際的情況下逐步發(fā)展成熟,到90年代初期形成了幾個(gè)較成熟的軟件系統(tǒng),同時(shí)產(chǎn)生了許多專(zhuān)職從事酒店計(jì)算機(jī)管理系統(tǒng)的公司。其中比較有影響的有杭州西歐Foxhis飯店管理系統(tǒng)、北京中軟好泰CSHIS管理系統(tǒng)、北京華儀飯店管理系統(tǒng)和廣州萬(wàn)迅千里馬飯店管理系統(tǒng)。到了90年代中期,隨著計(jì)算機(jī)在飯店中的普及應(yīng)用,以及計(jì)算機(jī)技術(shù)的不斷發(fā)展,酒店計(jì)算機(jī)系統(tǒng)的發(fā)展到了一個(gè)新的時(shí)期,新的系統(tǒng)平臺(tái)、新的軟件功能、新的系統(tǒng)特點(diǎn)及發(fā)展方向不斷涌現(xiàn)。 1 論文體系結(jié)構(gòu)1.1 研究?jī)?nèi)容1、客戶(hù)不需要注冊(cè),便可以免費(fèi)進(jìn)行客房預(yù)訂,預(yù)定成功之后,后臺(tái)管理

11、員會(huì)對(duì)其訂單進(jìn)行及時(shí)處理,并打電話(huà)進(jìn)行最終確定。2、提供管理后臺(tái)入口。3、系統(tǒng)提供分類(lèi)管理功能,可分類(lèi)制訂客房面積、價(jià)格、是否配備空調(diào)等客房類(lèi)型,對(duì)不同標(biāo)準(zhǔn)的客房進(jìn)行有效管理。4、系統(tǒng)提供房間信息查詢(xún)5、系統(tǒng)提供根據(jù)客戶(hù)簡(jiǎn)單描述推薦房間6、全面管理客人訂房信息。7、管理客房服務(wù)信息。8、管理客人反饋留言信息。9、整個(gè)系統(tǒng)的成本控制1.2采用的研究思路現(xiàn)在專(zhuān)業(yè)的酒店訂單管理軟件已經(jīng)比較成熟,功能比較完善,但是價(jià)格不菲。本系統(tǒng)功能比較清楚簡(jiǎn)單,所以系統(tǒng)設(shè)計(jì)也并不是很復(fù)雜,那么重點(diǎn)就放在了解決小型酒店資金不充裕,人員素質(zhì)參差不齊難以操作專(zhuān)業(yè)的軟件等方面。所以成本控制和易于操作是該系統(tǒng)主要研究的方向。

12、目前國(guó)內(nèi)的酒店管理系統(tǒng)絕大多數(shù)采用C/S結(jié)構(gòu),主要原因是由于過(guò)去互聯(lián)網(wǎng)的不發(fā)達(dá)和習(xí)慣性。C/S和B/S是當(dāng)今世界開(kāi)發(fā)模式技術(shù)架構(gòu)的兩大主流技術(shù),經(jīng)過(guò)調(diào)查收集發(fā)現(xiàn)基于Web開(kāi)發(fā)是最好的選擇。本系統(tǒng)確定利用目前較為流行的.NET技術(shù)、SQL Server數(shù)據(jù)庫(kù)技術(shù)和XML技術(shù)結(jié)合的方式進(jìn)行編程的方法。經(jīng)過(guò)前一段時(shí)間的研究,進(jìn)一步確定了這種方法的可行性和創(chuàng)新性。1.3論文結(jié)構(gòu)組織 本論文分為五個(gè)章節(jié),具體組織如下: 第一章:“系統(tǒng)體系結(jié)構(gòu)”,講述本文系統(tǒng)功能概述、采用的研究思路及論文結(jié)構(gòu)組織。 第二章:“相關(guān)應(yīng)用技術(shù)”,對(duì)ASP.NET及.NET框架進(jìn)行了描述,對(duì)SQL Server 數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)

13、訪問(wèn)技術(shù)進(jìn)行了相應(yīng)的描述,最后對(duì)XML技術(shù)進(jìn)行了介紹。 第三章:“酒店訂單管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)”,對(duì)整個(gè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行詳細(xì)的介紹,并介紹了系統(tǒng)所使用的關(guān)鍵技術(shù)的實(shí)現(xiàn)方法。第四章:“成本控制”,對(duì)本系統(tǒng)所做到的成本控制方面進(jìn)行介紹。第五章:“系統(tǒng)功能界面展示”,對(duì)本系統(tǒng)的主要功能界面進(jìn)行展示。2 相關(guān)應(yīng)用技術(shù)2.1 C#概述2.1.1 C# C sharp(又被簡(jiǎn)稱(chēng)為"C#")是微軟公司在二零零零年六月發(fā)布的一種新的編程語(yǔ)言,并定于在微軟職業(yè)開(kāi)發(fā)者論壇(PDC)上登臺(tái)亮相。 C#是微軟公司研究員Anders Hejlsberg的最新成果。C#看起來(lái)與Java有著驚人的相

14、似;它包括了諸如單一繼承,界面,與Java幾乎同樣的語(yǔ)法,和編譯成中間代碼再運(yùn)行的過(guò)程。但是C#與Java有著明顯的不同,它借鑒了Delphi的一個(gè)特點(diǎn),與COM(組件對(duì)象模型)是直接集成的,而且它是微軟公司.NET windows網(wǎng)絡(luò)框架的主角。微軟C#語(yǔ)言定義主要是從C和C+繼承而來(lái)的,而且語(yǔ)言中的許多元素也反映了這一點(diǎn)。C#在設(shè)計(jì)者從C+繼承的可選選項(xiàng)方面比Java要廣泛一些(比如說(shuō)structs),它還增加了自己新的特點(diǎn)(比方說(shuō)源代碼版本定義)。C#擁有比C,C+或者Java更廣泛的數(shù)據(jù)類(lèi)型。這些類(lèi)型是bool, byte,ubyte, short, ushort, int, uint

15、, long,, ulong, float,double和decimal。像Java一樣,所有這些類(lèi)型都有一個(gè)固定的大小。又象C和C+一樣,每個(gè)數(shù)據(jù)類(lèi)型都有有符號(hào)和無(wú)符號(hào)兩種類(lèi)型。與Java相同的是,一個(gè)字符變量包含的是一個(gè)16位的Unicode字符。C#新的數(shù)據(jù)類(lèi)型是decimal數(shù)據(jù)類(lèi)型,對(duì)于貨幣數(shù)據(jù),它能存放28位10進(jìn)制數(shù)字。C#語(yǔ)言中的每一個(gè)類(lèi)型都直接或間接派生于object類(lèi)型,即object類(lèi)型是C#語(yǔ)言所有類(lèi)型的最終基類(lèi)型。C#語(yǔ)言的類(lèi)型可以分為以下3種類(lèi)型。值類(lèi)型(value-type):它的變量直接包含數(shù)據(jù)。引用類(lèi)型(reference-type):它的變量只儲(chǔ)存對(duì)其數(shù)據(jù)的

16、引用(即訪問(wèn)其數(shù)據(jù)的訪問(wèn)地址)。指針類(lèi)型(point-type):和C、C+語(yǔ)言中的指針類(lèi)似,只能用作在不安全代碼中。C#也是一種面向?qū)ο蟮恼Z(yǔ)言,C# 支持封裝、繼承和多態(tài)性概念。所有的變量和方法,包括 Main 方法(應(yīng)用程序的入口點(diǎn)),都封裝在類(lèi)定義中。通過(guò)繼承、多態(tài)性等技術(shù),類(lèi)可以從另一個(gè)類(lèi)派生而來(lái),同時(shí)也可以實(shí)現(xiàn)任意數(shù)量的接口。類(lèi)可能直接從一個(gè)父類(lèi)繼承,但它可以實(shí)現(xiàn)任意數(shù)量的接口。重寫(xiě)父類(lèi)中的虛方法的各種方法要求 override 關(guān)鍵字作為一種避免意外重定義的方式。除了這些基本的面向?qū)ο蟮脑?,C# 還通過(guò)幾種創(chuàng)新的語(yǔ)言結(jié)構(gòu)簡(jiǎn)化了軟件組件的開(kāi)發(fā),其中包括:1.語(yǔ)言集成查詢(xún)(LINQ)

17、:提供了跨各種數(shù)據(jù)源的內(nèi)置查詢(xún)功能。2.內(nèi)聯(lián) XML 文檔注釋。3.封裝的方法簽名(稱(chēng)為“委托”):它實(shí)現(xiàn)了類(lèi)型安全的事件通知。4.屬性 (Attribute),提供關(guān)于運(yùn)行時(shí)類(lèi)型的聲明性元數(shù)據(jù)。 5. 屬性 (Property),充當(dāng)私有成員變量的訪問(wèn)器。在 C# 中,如果需要與其他 Windows 軟件(如 COM 對(duì)象或本機(jī) Win32 DLL)交互,可以通過(guò)一個(gè)稱(chēng)為“Interop”的過(guò)程來(lái)實(shí)現(xiàn)?;ゲ僮魇?C# 程序能夠完成本機(jī) C+ 應(yīng)用程序可以完成的幾乎任何任務(wù)。在直接內(nèi)存訪問(wèn)必不可少的情況下,C# 甚至支持指針和“不安全”代碼的概念。2.1.2 .NET框架 C# 程序必須在 .

18、NET Framework 上運(yùn)行。.NET Framework 是Windows 的一個(gè)不可或缺的組件,是一個(gè)支持構(gòu)建、部署和運(yùn)行下一代應(yīng)用程序和Web服務(wù)的完整Windows組件。.NET Framework能夠提供效率極高的、基于標(biāo)準(zhǔn)的多語(yǔ)言(如C#、Visual Basic.NET、C+、J#等)環(huán)境,能夠?qū)F(xiàn)有的應(yīng)用程序與下一代應(yīng)用程序和服務(wù)集成,并能迅速部署和操作Internet規(guī)模的應(yīng)用程序。.NET Framework主要包括兩個(gè)組件:公共語(yǔ)言運(yùn)行庫(kù)(Common Language Runtime,簡(jiǎn)稱(chēng)CLR)和.NET Framework類(lèi)庫(kù)(Class Library,簡(jiǎn)稱(chēng)

19、為CL)。1.公關(guān)語(yǔ)言運(yùn)行庫(kù)(CLR)公關(guān)語(yǔ)言運(yùn)行庫(kù)是Microsoft的公共語(yǔ)言基礎(chǔ)結(jié)構(gòu)(簡(jiǎn)寫(xiě)為CLI,是一種國(guó)際標(biāo)準(zhǔn),是用于創(chuàng)建語(yǔ)言和庫(kù)在其中無(wú)縫協(xié)同工作的執(zhí)行和開(kāi)發(fā)環(huán)境的基礎(chǔ))的商業(yè)實(shí)現(xiàn)。它是.NET Framework的基礎(chǔ),它能夠提供內(nèi)存管理、線程管理、遠(yuǎn)程處理等核心服務(wù),并且還強(qiáng)制實(shí)施嚴(yán)格的類(lèi)型安全檢查操作,從而提高代碼的安全性、可靠性和準(zhǔn)確性。執(zhí)行 C# 程序時(shí),程序集將加載到 CLR 中,這可能會(huì)根據(jù)清單中的信息執(zhí)行不同的操作。然后,如果符合安全要求,CLR 執(zhí)行實(shí)時(shí) (JIT) 編譯以將 IL 代碼轉(zhuǎn)換為本機(jī)機(jī)器指令。CLR 還提供與自動(dòng)垃圾回收、異常處理和資源管理有關(guān)的其他

20、服務(wù)。由 CLR 執(zhí)行的代碼有時(shí)稱(chēng)為“托管代碼”,它與編譯為面向特定系統(tǒng)的本機(jī)機(jī)器語(yǔ)言的“非托管代碼”相對(duì)應(yīng)。2. .NET Framework類(lèi)庫(kù).NET Framework類(lèi)庫(kù)是一個(gè)綜合性的面向?qū)ο蟮目芍赜妙?lèi)型集合,包含4000多個(gè)類(lèi)。開(kāi)發(fā)人員使用.NET Framework類(lèi)庫(kù)可以開(kāi)發(fā)以下8種應(yīng)用程序或服務(wù)??刂婆_(tái)應(yīng)用程序;Windows窗體應(yīng)用程序;ASP.NET應(yīng)用程序;Windows服務(wù);XML Web services;Windows Presentation Foundation(WPF)應(yīng)用程序;使用Windows Communication Foundation(WCF)的

21、面向服務(wù)的應(yīng)用程序使用Windows Workflow Foundation(WF)的啟用工作流程的應(yīng)用程序。.NET Framework圖2-1演示了 C# 源代碼文件、基類(lèi)庫(kù)、程序集和 CLR 的編譯時(shí)與運(yùn)行時(shí)的關(guān)系。圖2-1 C# 源代碼文件、基類(lèi)庫(kù)、程序集和 CLR 的編譯時(shí)與運(yùn)行時(shí)的關(guān)系語(yǔ)言互操作性是 .NET Framework 的一個(gè)關(guān)鍵功能。因?yàn)橛?C# 編譯器生成的 IL 代碼符合公共類(lèi)型規(guī)范 (CTS),因此從 C# 生成的 IL 代碼可以與從 Visual Basic、Visual C+、Visual J# 的 .NET 版本或者其他 20 多種符合 CTS 的語(yǔ)言中的任

22、何一種生成的代碼進(jìn)行交互。單一程序集可能包含用不同 .NET 語(yǔ)言編寫(xiě)的多個(gè)模塊,并且類(lèi)型可以相互引用,就像它們是用同一種語(yǔ)言編寫(xiě)的。2.2 ASP.NET概述2.2.1 ASP.NET ASP.NET不僅僅是下一版本的Active Server Page(ASP);而是一個(gè)統(tǒng)一的 Web 開(kāi)發(fā)平臺(tái),用來(lái)提供開(kāi)發(fā)人員生成企業(yè)級(jí)Web應(yīng)用程序所必需的各種服務(wù)。ASP.NET 的語(yǔ)法在很大程度上與ASP兼容,同時(shí)它還提供一種新的編程模型和結(jié)構(gòu),用于生成更安全、可伸縮和穩(wěn)定的應(yīng)用程序。ASP.NET 作為 .NET Framework 的一部分提供。當(dāng)您編寫(xiě) ASP.NET 應(yīng)用程序的代碼時(shí),可以訪

23、問(wèn) .NET Framework 中的類(lèi)。您可以使用與公共語(yǔ)言運(yùn)行庫(kù) (CLR) 兼容的任何語(yǔ)言來(lái)編寫(xiě)應(yīng)用程序的代碼,這些語(yǔ)言包括 Microsoft Visual Basic、C#、JScript .NET 和 J#。使用這些語(yǔ)言,可以開(kāi)發(fā)利用公共語(yǔ)言運(yùn)行庫(kù)、類(lèi)型安全、繼承等方面的優(yōu)點(diǎn)的 ASP.NET 應(yīng)用程序。ASP.NET 包括:頁(yè)和控件框架ASP.NET 編譯器安全基礎(chǔ)結(jié)構(gòu)狀態(tài)管理功能應(yīng)用程序配置運(yùn)行狀況監(jiān)視和性能功能調(diào)試支持XML Web services 框架可擴(kuò)展的宿主環(huán)境和應(yīng)用程序生命周期管理可擴(kuò)展的設(shè)計(jì)器環(huán)境2.2.2頁(yè)和控件框架ASP.NET 頁(yè)和控件框架是一種編程框架,

24、 ASP.NET Web窗體頁(yè)面框架組件是一個(gè)可縮放的通用語(yǔ)言運(yùn)行時(shí)編程模型,它可以用于動(dòng)態(tài)地生成Web頁(yè)面。ASP.NET頁(yè)面框架組件是ASP的合理進(jìn)化(ASP.NET提供的語(yǔ)法與已有的頁(yè)面是兼容的),它被特意地設(shè)計(jì)用于解決早期模型中的大量的關(guān)鍵的缺陷。特別是,它提供了建立和使用可供重復(fù)使用的(reusable)UI控件的能力,這些控件可以封裝公用的功能,從而減少了頁(yè)面開(kāi)發(fā)者需要編寫(xiě)的代碼數(shù)量;它使開(kāi)發(fā)者能夠清晰有序地構(gòu)造頁(yè)面邏輯(并非“纏繞在一起的代碼”);它使用的開(kāi)發(fā)工具提供了強(qiáng)大的WYSIWYG(所見(jiàn)即所得)頁(yè)面設(shè)計(jì)支持能力(已有的傳統(tǒng)ASP代碼是不透明的)。使用 ASP.NET 頁(yè)和

25、控件框架還可以將常用的 UI 功能封裝成易于使用且可重用的控件??丶恍杈帉?xiě)一次,即可用于許多頁(yè)并集成到 ASP.NET 網(wǎng)頁(yè)中。這些控件在呈現(xiàn)期間放入 ASP.NET 網(wǎng)頁(yè)中。ASP.NET 頁(yè)和控件框架還提供各種功能,以便可以通過(guò)主題和外觀來(lái)控制網(wǎng)站的整體外觀和感覺(jué)。可以先定義主題和外觀,然后在頁(yè)面級(jí)或控件級(jí)應(yīng)用這些主題和外觀。在ASP.NET中,在母頁(yè)版、主題和皮膚以及編譯機(jī)制等頁(yè)面框架做了相應(yīng)的改進(jìn)。母頁(yè)版在一定程度上可以代替框架頁(yè),從而建立具有統(tǒng)一外觀和布局的頁(yè)面,大大提高了工作的效率。使用主題和皮膚可以一次性設(shè)置一種類(lèi)型的服務(wù)器控件外觀樣式,該外觀樣式可以在單個(gè)頁(yè)面、整個(gè)Web應(yīng)用

26、程序、這個(gè)服務(wù)器中應(yīng)用。在應(yīng)用程序編譯方面提供了幾種可替代的方案,擴(kuò)大了編譯的選擇范圍,開(kāi)發(fā)人員可以根據(jù)需要選擇相應(yīng)的方案。 ASP.NET 網(wǎng)頁(yè)是完全面向?qū)ο蟮摹T?ASP.NET 網(wǎng)頁(yè)中,可以使用屬性、方法和事件來(lái)處理 HTML 元素。ASP.NET 頁(yè)框架為響應(yīng)在服務(wù)器上運(yùn)行的代碼中的客戶(hù)端事件提供統(tǒng)一的模型,從而使您不必考慮基于 Web 的應(yīng)用程序中固有的客戶(hù)端和服務(wù)器隔離的實(shí)現(xiàn)細(xì)節(jié)。該框架還會(huì)在頁(yè)處理生命周期中自動(dòng)維護(hù)頁(yè)及該頁(yè)上控件的狀態(tài)。ASP.NET 頁(yè)和控件框架還提供各種功能,以便可以通過(guò)主題和外觀來(lái)控制網(wǎng)站的整體外觀和感覺(jué)??梢韵榷x主題和外觀,然后在頁(yè)面級(jí)或控件級(jí)應(yīng)用這些主

27、題和外觀。除了主題外,還可以定義母版頁(yè),以使應(yīng)用程序中的頁(yè)具有一致的布局。一個(gè)母版頁(yè)可以定義您希望應(yīng)用程序中的所有頁(yè)(或一組頁(yè))所具有的布局和標(biāo)準(zhǔn)行為。然后可以創(chuàng)建包含要顯示的頁(yè)特定內(nèi)容的各個(gè)內(nèi)容頁(yè)。當(dāng)用戶(hù)請(qǐng)求內(nèi)容頁(yè)時(shí),這些內(nèi)容頁(yè)與母版頁(yè)合并,產(chǎn)生將母版頁(yè)的布局與內(nèi)容頁(yè)中的內(nèi)容組合在一起的輸出。2.2.3 ASP.NET編譯器所有 ASP.NET 代碼都經(jīng)過(guò)了編譯,可提供強(qiáng)類(lèi)型、性能優(yōu)化和早期綁定以及其他優(yōu)點(diǎn)。代碼一經(jīng)編譯,公共語(yǔ)言運(yùn)行庫(kù)會(huì)進(jìn)一步將 ASP.NET 編譯為本機(jī)代碼,從而提供增強(qiáng)的性能。ASP.NET 包括一個(gè)編譯器,該編譯器將包括頁(yè)和控件在內(nèi)的所有應(yīng)用程序組件編譯成一個(gè)程序集,

28、之后 ASP.NET 宿主環(huán)境可以使用該程序集來(lái)處理用戶(hù)請(qǐng)求。2.2.4 安全基礎(chǔ)結(jié)構(gòu)除了 .NET 的安全功能外,ASP.NET 還提供了高級(jí)的安全基礎(chǔ)結(jié)構(gòu),以便對(duì)用戶(hù)進(jìn)行身份驗(yàn)證和授權(quán),并執(zhí)行其他與安全相關(guān)的功能。您可以使用由 IIS 提供的 Windows 身份驗(yàn)證對(duì)用戶(hù)進(jìn)行身份驗(yàn)證,也可以通過(guò)您自己的用戶(hù)數(shù)據(jù)庫(kù)使用 ASP.NET Forms 身份驗(yàn)證和 ASP.NET 成員資格來(lái)管理身份驗(yàn)證。此外,可以使用 Windows 組或您自己的自定義角色數(shù)據(jù)庫(kù)(使用 ASP.NET 角色)來(lái)管理 Web 應(yīng)用程序的功能和信息方面的授權(quán)。您可以根據(jù)應(yīng)用程序的需要方便地移除、添加或替換這些方案。

29、ASP.NET 始終使用特定的 Windows 標(biāo)識(shí)運(yùn)行,因此,您可以通過(guò)使用 Windows 功能(例如 NTFS 訪問(wèn)控制列表 (ACL)、數(shù)據(jù)庫(kù)權(quán)限等等)來(lái)保護(hù)應(yīng)用程序的安全。2.2.5狀態(tài)管理功能ASP.NET 提供了內(nèi)部狀態(tài)管理功能,它使您能夠存儲(chǔ)頁(yè)請(qǐng)求期間的信息,例如客戶(hù)信息或購(gòu)物車(chē)的內(nèi)容。您可以保存和管理應(yīng)用程序特定、會(huì)話(huà)特定、頁(yè)特定、用戶(hù)特定和開(kāi)發(fā)人員定義的信息。此信息可以獨(dú)立于頁(yè)上的任何控件。ASP.NET 提供了分布式狀態(tài)功能,使您能夠管理一臺(tái)計(jì)算機(jī)或數(shù)臺(tái)計(jì)算機(jī)上同一應(yīng)用程序的多個(gè)實(shí)例的狀態(tài)信息。2.2.6應(yīng)用程序配置通過(guò) ASP.NET 應(yīng)用程序使用的配置系統(tǒng),可以定義

30、Web 服務(wù)器、網(wǎng)站或單個(gè)應(yīng)用程序的配置設(shè)置。您可以在部署 ASP.NET 應(yīng)用程序時(shí)定義配置設(shè)置,并且可以隨時(shí)添加或修訂配置設(shè)置,且對(duì)運(yùn)行的 Web 應(yīng)用程序和服務(wù)器具有最小的影響。ASP.NET 配置設(shè)置存儲(chǔ)在基于 XML 的文件中。由于這些 XML 文件是 ASCII 文本文件,因此對(duì) Web 應(yīng)用程序進(jìn)行配置更改比較簡(jiǎn)單。您可以擴(kuò)展配置方案,使其符合自己的要求。2.2.7運(yùn)行狀態(tài)監(jiān)視和性能功能ASP.NET 包括可監(jiān)視 ASP.NET 應(yīng)用程序的運(yùn)行狀況和性能的功能。使用 ASP.NET 運(yùn)行狀況監(jiān)視可以報(bào)告關(guān)鍵事件,這些關(guān)鍵事件提供有關(guān)應(yīng)用程序的運(yùn)行狀況和錯(cuò)誤情況的信息。這些事件顯示

31、診斷和監(jiān)視特征的組合,并在記錄哪些事件以及如何記錄事件等方面提供了高度的靈活性。ASP.NET 支持兩組可供應(yīng)用程序訪問(wèn)的性能計(jì)數(shù)器:1.ASP.NET 系統(tǒng)性能計(jì)數(shù)器組2.ASP.NET 應(yīng)用程序性能計(jì)數(shù)器組2.3 數(shù)據(jù)庫(kù) SQL Server 是一個(gè)全面的、集成的、端到端的數(shù)據(jù)解決方案,它為企業(yè)中的用戶(hù)提供了一個(gè)安全、可靠和高效的平臺(tái)用于企業(yè)數(shù)據(jù)管理和商業(yè)智能應(yīng)用。SQL Server 2005 為IT專(zhuān)家和信息工作者帶來(lái)了強(qiáng)大的、熟悉的工具,同時(shí)減少了在從移動(dòng)設(shè)備到企業(yè)數(shù)據(jù)系統(tǒng)的多平臺(tái)上創(chuàng)建、部署、管理及使用企業(yè)數(shù)據(jù)和分析應(yīng)用程序的復(fù)雜度。 通過(guò)全面的功能集、和現(xiàn)有系統(tǒng)的集成性、以及對(duì)日

32、常任務(wù)的自動(dòng)化管理能力,SQL Server 2005 為不同規(guī)模的企業(yè)提供了一個(gè)完整的數(shù)據(jù)解決方案。SQL Server 數(shù)據(jù)平臺(tái)包括以下工具:1.關(guān)系型數(shù)據(jù)庫(kù): 安全、可靠、可伸縮、高可用的關(guān)系型數(shù)據(jù)庫(kù)引擎,提升了性能且支持結(jié)構(gòu)化和非結(jié)構(gòu)化(XML)數(shù)據(jù)。 2.復(fù)制服務(wù): 數(shù)據(jù)復(fù)制可用于數(shù)據(jù)分發(fā)、處理移動(dòng)數(shù)據(jù)應(yīng)用、系統(tǒng)高可用、企業(yè)報(bào)表解決方案的后備數(shù)據(jù)可伸縮存儲(chǔ)、與異構(gòu)系統(tǒng)的集成等,包括已有的Oracle數(shù)據(jù)庫(kù)等。 3.通知服務(wù): 用于開(kāi)發(fā)、部署可伸縮應(yīng)用程序的先進(jìn)的通知服務(wù)能夠向不同的連接和移動(dòng)設(shè)備發(fā)布個(gè)性化、及時(shí)的信息更新。 4.集成服務(wù): 可以支持?jǐn)?shù)據(jù)倉(cāng)庫(kù)和企業(yè)范圍內(nèi)數(shù)據(jù)集成的抽取、

33、轉(zhuǎn)換和裝載能力。 5.分析服務(wù): 聯(lián)機(jī)分析處理(OLAP)功能可用于多維存儲(chǔ)的大量、復(fù)雜的數(shù)據(jù)集的快速高級(jí)分析。 6.報(bào)表服務(wù): 全面的報(bào)表解決方案,可創(chuàng)建、管理和發(fā)布傳統(tǒng)的、可打印的報(bào)表和交互的、基于Web的報(bào)表。 7.管理工具: SQL Server 包含的集成管理工具可用于高級(jí)數(shù)據(jù)庫(kù)管理和調(diào)諧,它也和其他微軟工具,如MOM和SMS緊密集成在一起。標(biāo)準(zhǔn)數(shù)據(jù)訪問(wèn)協(xié)議大大減少了SQL Server和現(xiàn)有系統(tǒng)間數(shù)據(jù)集成所花的時(shí)間。此外,構(gòu)建于SQL Server內(nèi)的內(nèi)嵌Web service支持確保了和其他應(yīng)用及平臺(tái)的互操作能力。 8.開(kāi)發(fā)工具: SQL Server 為數(shù)據(jù)庫(kù)引擎、數(shù)據(jù)抽取、轉(zhuǎn)

34、換和裝載(ETL)、數(shù)據(jù)挖掘、OLAP和報(bào)表提供了和Microsoft Visual Studio® 相集成的開(kāi)發(fā)工具,以實(shí)現(xiàn)端到端的應(yīng)用程序開(kāi)發(fā)能力。SQL Server中每個(gè)主要的子系統(tǒng)都有自己的對(duì)象模型和API,能夠以任何方式將數(shù)據(jù)系統(tǒng)擴(kuò)展到不同的商業(yè)環(huán)境中。 SQL Server 2005 數(shù)據(jù)平臺(tái)為不同規(guī)模的組織提供了以下好處: 1.充分利用數(shù)據(jù)資產(chǎn): 除了為業(yè)務(wù)線和分析應(yīng)用程序提供一個(gè)安全可靠的數(shù)據(jù)庫(kù)之外,SQL Server 2005也使用戶(hù)能夠通過(guò)嵌入的功能,如報(bào)表、分析和數(shù)據(jù)挖掘等從他們的數(shù)據(jù)中得到更多的價(jià)值。 2.提高生產(chǎn)力: 通過(guò)全面的商業(yè)智能功能,和熟悉的微軟

35、Office系統(tǒng)之類(lèi)的工具集成,SQL Server 2005為組織內(nèi)信息工作者提供了關(guān)鍵的、及時(shí)的商業(yè)信息以滿(mǎn)足他們特定的需求。SQL Server 2005目標(biāo)是將商業(yè)智能擴(kuò)展到組織內(nèi)的所有用戶(hù),并且最終允許組織內(nèi)所有級(jí)別的用戶(hù)能夠基于他們最有價(jià)值的資產(chǎn)數(shù)據(jù)來(lái)做出更好的決策。 3.減少I(mǎi)T復(fù)雜度: SQL Server 2005 簡(jiǎn)化了開(kāi)發(fā)、部署和管理業(yè)務(wù)線和分析應(yīng)用程序的復(fù)雜度,它為開(kāi)發(fā)人員提供了一個(gè)靈活的開(kāi)發(fā)環(huán)境,為數(shù)據(jù)庫(kù)管理人員提供了集成的自動(dòng)管理工具。 4.更低的總體擁有成本 (TCO): 對(duì)產(chǎn)品易用性和部署上的關(guān)注以及集成的工具提供了工業(yè)上最低的規(guī)劃、實(shí)現(xiàn)和維護(hù)成本,使數(shù)據(jù)庫(kù)投資

36、能快速得到回報(bào)。SQL Server 2005是Microsoft公司在數(shù)據(jù)庫(kù)領(lǐng)域中非常重要的產(chǎn)品,它具有性能良好、穩(wěn)定性強(qiáng)、便于管理和易于開(kāi)發(fā)等優(yōu)勢(shì)。SQL Server 2005相對(duì)它的前版本SQL Server 2000所做的重大改進(jìn)或新增功能如下。1) 數(shù)據(jù)分區(qū)2) 可編程性3) 安全4) 快照隔離SQL Server 2005還有其它很多非常優(yōu)秀或重大的改進(jìn)。比如支持通過(guò)HTTP SOAP協(xié)議直接訪問(wèn)數(shù)據(jù)庫(kù),增加X(jué)ML數(shù)據(jù)類(lèi)型,支持Xqurey。使用新的SQL Server Management Studio。另外,SQL Server 2005和CLR得集成主要提供了如下好處:1)

37、增強(qiáng)的編輯模型。.NET Framewrok 兼容的編程語(yǔ)言在很多方面要比T-SQL更強(qiáng)大,它提供給SQL開(kāi)發(fā)人員之前沒(méi)有的框架和功能。2)安全性。在CLR環(huán)境下運(yùn)行的托管代碼被數(shù)據(jù)庫(kù)引擎所控制,這使得.NET Framework 數(shù)據(jù)庫(kù)更具安全性。3)用戶(hù)自定義類(lèi)型和聚合。借助宿主CLR,這兩個(gè)新的數(shù)據(jù)庫(kù)對(duì)象擴(kuò)展了SQL Server的存儲(chǔ)和查詢(xún)能力。4)通用開(kāi)發(fā)環(huán)境。數(shù)據(jù)庫(kù)開(kāi)發(fā)被集成到Microsoft SQL Server 2005開(kāi)發(fā)環(huán)境中。用來(lái)開(kāi)發(fā)中間層和客戶(hù)層.NET Framework組件和服務(wù)的工具同樣可以被用來(lái)開(kāi)發(fā)和調(diào)試數(shù)據(jù)庫(kù)對(duì)象和腳本。5)性能和可伸縮性。因?yàn)橥泄艽a被編譯

38、為本機(jī)代碼得以?xún)?yōu)先執(zhí)行,在某些場(chǎng)合性能可以得到顯著提升。6)利用CLR集成,可以用SQL Basic .NET 和 C#這樣的語(yǔ)言寫(xiě)出具有更復(fù)雜邏輯的代碼和更適用計(jì)算機(jī)型任務(wù)的代碼。而且,SQL Basic .NET 和 C# 還提供了諸如封裝、繼承、多態(tài)這樣的面向?qū)ο蟮墓δ?。使得更容易把代碼和類(lèi)、命名空間組織在一起,這意味著更容易組織和維護(hù)在工作中產(chǎn)生大量代碼。這種從邏輯上和物理上把代碼組織到程序集和命名空間中的功能非常有用,它將能夠更好的再一個(gè)大型數(shù)據(jù)庫(kù)實(shí)現(xiàn)項(xiàng)目中發(fā)現(xiàn)和關(guān)聯(lián)不同的代碼塊。2.4 XML技術(shù)XML(Extensible Markup Language)即可擴(kuò)展標(biāo)記語(yǔ)言,它與H

39、TML一樣,都是SGML(Standard Generalized Markup Language,標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言)。Xml是Internet環(huán)境中跨平臺(tái)的,依賴(lài)于內(nèi)容的技術(shù),是當(dāng)前處理結(jié)構(gòu)化文檔信息的有力工具。擴(kuò)展標(biāo)記語(yǔ)言XML是一種簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)語(yǔ)言,使用一系列簡(jiǎn)單的標(biāo)記描述數(shù)據(jù),而這些標(biāo)記可以用方便的方式建立,雖然XML占用的空間比二進(jìn)制數(shù)據(jù)要占用更多的空間,但XML極其簡(jiǎn)單易于掌握和使用。XML語(yǔ)言是一種面向數(shù)據(jù)的標(biāo)記規(guī)范,XML標(biāo)記通常總是力求準(zhǔn)確清晰地說(shuō)明數(shù)據(jù)本身的涵義,即使對(duì)于一些非常陌生的XML文件,人們也很容易理解其所要表達(dá)的內(nèi)容,從這個(gè)意義上講,XML數(shù)據(jù)是完全開(kāi)放的8。

40、XML沒(méi)有復(fù)雜的語(yǔ)法和包羅萬(wàn)象的數(shù)據(jù)定義。XML同HTML一樣,都來(lái)自SGML(Standard Genaral Markup Language,標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言)。SGML是一種在Web發(fā)明之前就早已存在的用標(biāo)記來(lái)描述文檔資料的通用語(yǔ)言。但SGML十分龐大且難于學(xué)習(xí)和使用。鑒于此,人們提出了HTML語(yǔ)言。但近年來(lái),隨著Web應(yīng)用的不斷深入,HTML在需求廣泛的應(yīng)用中已顯得捉襟見(jiàn)肘。因此國(guó)際萬(wàn)維網(wǎng)協(xié)會(huì)建議使用一種精簡(jiǎn)的SGML版本,即XML。XML與Access,Oracle和SQL Server等數(shù)據(jù)庫(kù)不同,數(shù)據(jù)庫(kù)提供了更強(qiáng)有力的數(shù)據(jù)存儲(chǔ)和分析能力,例如:數(shù)據(jù)索引、排序、查找、相關(guān)一致性等,

41、XML僅僅是展示數(shù)據(jù)。事實(shí)上XML與其他數(shù)據(jù)表現(xiàn)形式最大的不同是:它極其簡(jiǎn)單。這是一個(gè)看上去有點(diǎn)瑣細(xì)的優(yōu)點(diǎn),但正是這點(diǎn)使XML與眾不同。XML與HTML的設(shè)計(jì)區(qū)別是:XML是用來(lái)存儲(chǔ)數(shù)據(jù)的,重在數(shù)據(jù)本身。而HTML是用來(lái)定義數(shù)據(jù)的,重在數(shù)據(jù)的顯示模式。XML的簡(jiǎn)單使其易于在任何應(yīng)用程序中讀寫(xiě)數(shù)據(jù),這使XML很快成為數(shù)據(jù)交換的唯一公共語(yǔ)言,雖然不同的應(yīng)用軟件也支持其它的數(shù)據(jù)交換格式,但不久之后他們都將支持XML,那就意味著程序可以更容易的與Windows、Mac OS, Linux以及其他平臺(tái)下產(chǎn)生的信息結(jié)合,然后可以很容易加載XML數(shù)據(jù)到程序中并分析他,并以XML格式輸出結(jié)果。為了使得SGML

42、顯得用戶(hù)友好,XML重新定義了SGML的一些內(nèi)部值和參數(shù),去掉了大量的很少用到的功能,這些繁雜的功能使得SGML在設(shè)計(jì)網(wǎng)站時(shí)顯得復(fù)雜化。XML保留了SGML的結(jié)構(gòu)化功能,這樣就使得網(wǎng)站設(shè)計(jì)者可以定義自己的文檔類(lèi)型,XML同時(shí)也推出一種新型文檔類(lèi)型,使得開(kāi)發(fā)者也可以不必定義文檔類(lèi)型。因?yàn)閄ML是W3C制定的,XML的標(biāo)準(zhǔn)化工作由W3C的XML工作組負(fù)責(zé),該小組成員由來(lái)自各個(gè)地方和行業(yè)的專(zhuān)家組成,他們通過(guò)email交流對(duì)XML標(biāo)準(zhǔn)的意見(jiàn),并提出自己的看法 (/TR/WD-xml)。因?yàn)閄ML 是個(gè)公共格式, (它不專(zhuān)屬于任何一家公司),你不必?fù)?dān)心XML技術(shù)會(huì)成為少數(shù)公司的盈利工

43、具,XML不是一個(gè)依附于特定瀏覽器的語(yǔ)言另外,XML也吸收了人們多年來(lái)在Web上使用HTML的經(jīng)驗(yàn)。XML支持世界上幾乎所有的主要語(yǔ)言,并且不同語(yǔ)言的文本可以在同一文檔中混合使用,應(yīng)用XML的軟件能處理這些語(yǔ)言的任何組合。所有這一切將使XML成為數(shù)據(jù)表示的一個(gè)開(kāi)放標(biāo)準(zhǔn),這種數(shù)據(jù)表示獨(dú)立于機(jī)器平臺(tái)、供應(yīng)商以及編程語(yǔ)言。它將為網(wǎng)絡(luò)計(jì)算注入新的活力,并為信息技術(shù)帶來(lái)新的機(jī)遇。2.5 數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)隨著數(shù)據(jù)庫(kù)產(chǎn)品和技術(shù)的發(fā)展,數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)也從ODBC、DAO、RDO、OLE DB、ADO 和 RDS發(fā)展到今天的ADO.NET。以下內(nèi)容由城市刀客整理編輯,旨在為你展示數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)的概貌。ODBC 技

44、術(shù)為訪問(wèn)不同的SQL 數(shù)據(jù)庫(kù)提供了一個(gè)共同的接口。ODBC 使用 SQL 作為訪問(wèn)數(shù)據(jù)的標(biāo)準(zhǔn)。這一接口提供了最大限度的互操作性:一個(gè)應(yīng)用程序可以通過(guò)共同的一組代碼訪問(wèn)不同的 SQL 數(shù)據(jù)庫(kù)管理系統(tǒng) (DBMS)。開(kāi)發(fā)人員可以添加數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序,將應(yīng)用程序與用戶(hù)所選的 DBMS 聯(lián)系起來(lái)。驅(qū)動(dòng)程序管理器提供應(yīng)用程序與數(shù)據(jù)庫(kù)之間的中間鏈接。ODBC 接口包含一系列功能,由每個(gè) DBMS 的驅(qū)動(dòng)程序?qū)崿F(xiàn)。當(dāng)應(yīng)用程序改變它的 DBMS 時(shí),開(kāi)發(fā)人員只使用新的 DBMS 驅(qū)動(dòng)程序替代舊的驅(qū)動(dòng)程序,并且應(yīng)用程序可以無(wú)需修改代碼照常運(yùn)行。DAO 是建立在 Microsoft Jet Microsoft Ac

45、cess 的數(shù)據(jù)庫(kù)引擎基礎(chǔ)之上的。Jet 是第一個(gè)連接到 Access 的面向?qū)ο蟮慕涌凇J褂?Access 的應(yīng)用程序可以用 DAO 直接訪問(wèn)數(shù)據(jù)庫(kù)。由于 DAO 是嚴(yán)格按照 Access 建模的,因此,使用 DAO 是連接 Access 數(shù)據(jù)庫(kù)最快速、最有效的方法。DAO 也可以連接到非 Access 數(shù)據(jù)庫(kù),例如,SQL Server 和 Oracle。DAO 使用 ODBC,但是由于 DAO 是專(zhuān)門(mén)設(shè)計(jì)用來(lái)與 Jet 引擎對(duì)話(huà)的,Jet 將解釋 DAO 和 ODBC 之間的調(diào)用。使用除 Access 之外的數(shù)據(jù)庫(kù)時(shí),這種額外的解釋步驟導(dǎo)致較慢的連接速度。OLE DB 建立于 ODBC

46、之上,并將此技術(shù)擴(kuò)展為提供更高級(jí)數(shù)據(jù)訪問(wèn)接口的組件結(jié)構(gòu)。此結(jié)構(gòu)對(duì)企業(yè)中及 Internet 上的 SQL、非 SQL 和非結(jié)構(gòu)化數(shù)據(jù)源提供一致的訪問(wèn)。(實(shí)際上,在訪問(wèn)基于 SQL 的數(shù)據(jù)時(shí),OLE DB 仍使用 ODBC,因?yàn)閷?duì)于 SQL 它是最優(yōu)結(jié)構(gòu)。)OLE DB 由三個(gè)組件構(gòu)成:數(shù)據(jù)使用者(例如,一個(gè)應(yīng)用程序);包含并公開(kāi)數(shù)據(jù)的數(shù)據(jù)提供程序以及處理并傳輸數(shù)據(jù)的服務(wù)組件(例如,查詢(xún)處理器、游標(biāo)引擎)。OLE DB 是一個(gè)針對(duì) SQL 數(shù)據(jù)源和非 SQL 數(shù)據(jù)源(例如,郵件和目錄)進(jìn)行操作的 API。在目前非常流行的.NET Framework中,ADO.NET是訪問(wèn)數(shù)據(jù)庫(kù)的重要部分,它為.

47、NET Framework提供 的數(shù)據(jù)訪問(wèn)機(jī)制。在作者的本系統(tǒng),使用ASP.NET開(kāi)發(fā)的實(shí)例就是基于ADO.NET數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)實(shí)現(xiàn)的。ADO.NET的結(jié)構(gòu)不是很復(fù)雜,主要包括 Connection (數(shù)據(jù)庫(kù)的鏈接)、Command(執(zhí)行數(shù)據(jù)庫(kù)的命令)、DataReader(數(shù)據(jù)庫(kù)的讀取器)、DataSet(數(shù)據(jù)集)和DataAdpter(數(shù)據(jù)庫(kù)的適配器),主要用來(lái)操作數(shù)據(jù)庫(kù)填充并操作DataSet,它是數(shù)據(jù)庫(kù)和DataSet之間的橋梁。 在目前非常流行的.NET Framework中,ADO.NET是訪問(wèn)數(shù)據(jù)庫(kù)的重要部分,它為.NET Framework提供 的數(shù)據(jù)訪問(wèn)機(jī)制。在作者的本系統(tǒng),

48、使用ASP.NET開(kāi)發(fā)的實(shí)例就是基于ADO.NET數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)實(shí)現(xiàn)的。ADO.NET的結(jié)構(gòu)不是很復(fù)雜,主要包括 Connection (數(shù)據(jù)庫(kù)的鏈接)、Command(執(zhí)行數(shù)據(jù)庫(kù)的命令)、DataReader(數(shù)據(jù)庫(kù)的讀取器)、DataSet(數(shù)據(jù)集)和DataAdpter(數(shù)據(jù)庫(kù)的適配器),主要用來(lái)操作數(shù)據(jù)庫(kù)填充并操作DataSet,它是數(shù)據(jù)庫(kù)和DataSet之間的橋梁。 ADO.NET的結(jié)構(gòu)圖如圖2-3所示。 圖2-3所示ADO.NET的結(jié)構(gòu)圖在ADO.NET中,可以通過(guò)Command對(duì)象和DataAdapter對(duì)象訪問(wèn)數(shù)據(jù)庫(kù)。DataSet對(duì)象保存在系統(tǒng)內(nèi)存的數(shù)據(jù)庫(kù)副本,它不但提供訪問(wèn)

49、數(shù)據(jù)庫(kù)的機(jī)制,同時(shí)還支持訪問(wèn)XML文件的機(jī)制,可以方便地與XML文件進(jìn)行數(shù)據(jù)交互。在ADO.NET中,任何數(shù)據(jù)或數(shù)據(jù)的模式都可以序列化為XML的格式。下面介紹ADO.NET常用對(duì)象的基本情況。1)Connection類(lèi)和數(shù)據(jù)庫(kù)交互,你必須連接它。連接幫助指明數(shù)據(jù)庫(kù)服務(wù)器、數(shù)據(jù)庫(kù)名字、用戶(hù)名、密碼,和連接數(shù)據(jù)庫(kù)所需要的其它參數(shù)。Connection對(duì)象會(huì)被Command對(duì)象使用,這樣就能夠知道是在哪個(gè)數(shù)據(jù)源上面執(zhí)行命令。與數(shù)據(jù)庫(kù)交互的過(guò)程意味著你必須指明想要執(zhí)行的操作。這是依靠Command對(duì)象執(zhí)行的。你使用Command對(duì)象來(lái)發(fā)送SQL語(yǔ)句給數(shù)據(jù)庫(kù)。Command對(duì)象使用Connection對(duì)

50、象來(lái)指出與哪個(gè)數(shù)據(jù)源進(jìn)行連接。你能夠單獨(dú)使用Command對(duì)象來(lái)直接執(zhí)行命令,或者將一個(gè)Command對(duì)象的引用傳遞給DataAdapter,它保存了一組能夠操作下面描述的一組數(shù)據(jù)的命令。2)Command類(lèi)Command類(lèi)提供SqlCommand、OleDbCommand、OracleCommand和OdbcCommand 幾種訪問(wèn)方式可以直接訪問(wèn)不同種類(lèi)的數(shù)據(jù)庫(kù)。同時(shí)Command類(lèi)還支持IDbCommand接口??梢詮臄?shù)據(jù)庫(kù)獲取一個(gè)標(biāo)量結(jié)果或者一個(gè)存儲(chǔ)過(guò)程的輸出參數(shù)。該類(lèi)主要提供從數(shù)據(jù)庫(kù)檢索數(shù)據(jù)、插入數(shù)據(jù)、修改和刪除數(shù)據(jù)。成功于數(shù)據(jù)建立連接后,就可以用Command對(duì)象來(lái)執(zhí)行查詢(xún)、修改、

51、插入、刪除等命令; Command對(duì)象常用的方法有ExecuteReader方法、ExecuteScalar()方法和ExecuteNonQuery()方法;插入數(shù)據(jù)可用ExecuteNonQuery()方法來(lái)執(zhí)行插入命令。3)DataReader類(lèi)DataReader類(lèi)通過(guò)Command類(lèi)提供從數(shù)據(jù)庫(kù)檢索數(shù)據(jù)信息的功能。此功能以一種只讀的、向前的、快速的方式訪問(wèn)數(shù)據(jù)庫(kù),在讀取和操作數(shù)據(jù)庫(kù)時(shí),不能斷開(kāi)和數(shù)據(jù)庫(kù)之間的連接。所以在使用DataReader對(duì)象時(shí),必須保持和數(shù)據(jù)庫(kù)的連接。許多數(shù)據(jù)操作要求你只是讀取一串?dāng)?shù)據(jù)。DataReader對(duì)象允許你獲得從Command對(duì)象的SELECT語(yǔ)句得到的

52、結(jié)果??紤]性能的因素,從DataReader返回的數(shù)據(jù)都是快速的且只是“向前”的數(shù)據(jù)流。這意味著你只能按照一定的順序從數(shù)據(jù)流中取出數(shù)據(jù)。這對(duì)于速度來(lái)說(shuō)是有好處的,但是如果你需要操作數(shù)據(jù),更好的辦法是使用DataSet。4)DataSet類(lèi)DataSet類(lèi)是一個(gè)新的數(shù)據(jù)結(jié)構(gòu)。DataSet提供一種斷開(kāi)式的數(shù)據(jù)訪問(wèn)機(jī)制,即以駐留在內(nèi)存中的形式來(lái)顯示數(shù)據(jù)之間的關(guān)系模型。DataSet可以看成數(shù)據(jù)存儲(chǔ)器的部分?jǐn)?shù)據(jù)的本地副本,可以執(zhí)行讀取、插入、修改和刪除其中的數(shù)據(jù)。DataSet對(duì)象是數(shù)據(jù)在內(nèi)存中的表示形式。它包括多個(gè)DataTable對(duì)象,而DataTable包含列和行,就象一個(gè)普通的數(shù)據(jù)庫(kù)中的表。

53、你甚至能夠定義表之間的關(guān)系來(lái)創(chuàng)建主從關(guān)系(parent-child relationships)。DataSet是在特定的場(chǎng)景下使用幫助管理內(nèi)存中的數(shù)據(jù)并支持對(duì)數(shù)據(jù)的斷開(kāi)操作的。DataSet是被所有Data Providers使用的對(duì)象,因此它并不像Data Provider一樣需要特別的前綴。5)DataAdapter類(lèi)DataAdapter類(lèi)用作DataSet和數(shù)據(jù)源之間的橋接器以便檢索和保存數(shù)據(jù)。DataAdapter通過(guò)映射Fill方法來(lái)更改DataSet中的數(shù)據(jù)以便與數(shù)據(jù)源中的數(shù)據(jù)相匹配,通過(guò)Update方法來(lái)更改數(shù)據(jù)源中的數(shù)據(jù)以便與DataSet中的數(shù)據(jù)相匹配。DataAdapt

54、er類(lèi)實(shí)現(xiàn)了SelectCommand、InsertCommand、UpdateCommand和DeleteCommand等4種數(shù)據(jù)庫(kù)訪問(wèn)方式。ADO.NET提供少量支持SQL Server 2005的功能,這些功能包括:多活動(dòng)結(jié)果集(MARS:multiple active result sets):這允許你同時(shí)有多個(gè)活動(dòng)的查詢(xún)。例如,你可以查詢(xún)顧客列表,在不關(guān)閉查詢(xún)的同時(shí)查詢(xún)訂單列表。這個(gè)技術(shù)有時(shí)很有用,但它要求你能夠避免額外的過(guò)載。用戶(hù)自定義數(shù)據(jù)類(lèi)型(User-defined data types):使用.NET編碼,你可以自定義類(lèi),并且將類(lèi)的實(shí)例直接存儲(chǔ)在數(shù)據(jù)庫(kù)的一列里。這會(huì)使檢查一行

55、里的內(nèi)個(gè)字段,并且手工創(chuàng)建應(yīng)用中要使用的相應(yīng)的數(shù)據(jù)對(duì)象的工作大為減少。被管理的存儲(chǔ)過(guò)程:SQL Server 2005能夠以CLR為宿主,這樣就可以使用純C#代碼在數(shù)據(jù)庫(kù)中編寫(xiě)存儲(chǔ)過(guò)程。SQL通知(SQL nitificatons):當(dāng)數(shù)據(jù)庫(kù)中指定的改變發(fā)生時(shí),使用通知可以編寫(xiě)相應(yīng)的響應(yīng)代碼。在ASP.NET中,這個(gè)功能通常用于數(shù)據(jù)庫(kù)中的一條或多條記錄更新時(shí),使緩存的數(shù)據(jù)失效。這僅僅是SQL Server 2005的功能,但同時(shí)也支持SQL Server 7 和SQL Server 2000,當(dāng)然,這需要使用不同的機(jī)制。事務(wù)隔離快照(Snapshop transaction isolation

56、):這是一個(gè)新的事務(wù)層次,它可以使你增強(qiáng)并發(fā)水平。它允許事務(wù)查看稍有點(diǎn)早的數(shù)據(jù)版本,盡管這些數(shù)據(jù)已經(jīng)被別的事務(wù)更新了。3酒店訂單管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)3.1 酒店訂單管理系統(tǒng)構(gòu)架酒店訂單管理系統(tǒng)是基于.NET的三層B/S構(gòu)架實(shí)現(xiàn)的,由用戶(hù)層、邏輯層和數(shù)據(jù)層組成。三層B/S構(gòu)架的特點(diǎn)是:1)用戶(hù)層的界面提供給用戶(hù)一個(gè)視覺(jué)上的界面,通過(guò)用戶(hù)層用戶(hù)輸入數(shù)據(jù)、獲取數(shù)據(jù),用戶(hù)層同時(shí)也提供一定的安全性,確保用戶(hù)不會(huì)看到其他信息。這一層由客戶(hù)端負(fù)責(zé),通過(guò)WWW瀏覽器實(shí)現(xiàn)信息瀏覽的功能。在客戶(hù)端,向主URL所指定Web服務(wù)器提出服務(wù)申請(qǐng)。在Web服務(wù)器對(duì)用戶(hù)進(jìn)行身份驗(yàn)證后,用HTTP協(xié)議把所需要的文件資料傳送給用戶(hù),客戶(hù)端只是接受文件資料,并顯示在WWW瀏覽器上。2)邏輯層(中間層)是用戶(hù)層和數(shù)據(jù)層的橋梁,它響應(yīng)用戶(hù)層的用戶(hù)請(qǐng)求,執(zhí)行任務(wù),從數(shù)據(jù)層抓取數(shù)據(jù),并將必要的數(shù)據(jù)傳送給界面層、使用清晰的語(yǔ)言陳述論點(diǎn)。Web服務(wù)器端負(fù)責(zé)邏輯層的處理,為客戶(hù)端提供公共的數(shù)據(jù)服務(wù),處理客戶(hù)端與數(shù)據(jù)庫(kù)間的數(shù)據(jù)流。它的功能在具有CGI的Web服務(wù)器接受客戶(hù)申請(qǐng),首先需要程序,依次與數(shù)據(jù)庫(kù)連接,進(jìn)行申請(qǐng)?zhí)幚?,而后處理結(jié)果返回Web服務(wù)器,再由Web服務(wù)器傳至客戶(hù)端。3)數(shù)據(jù)庫(kù)層定義、維護(hù)數(shù)據(jù)的完整性、安全性

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論