餐飲管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文_第1頁
餐飲管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文_第2頁
餐飲管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文_第3頁
餐飲管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文_第4頁
餐飲管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、高職畢業(yè)論文題目: 餐飲管理系統(tǒng)的設(shè)計與實現(xiàn)學 院: 計算機科學與技術(shù)專 業(yè):計算機應(yīng)用技術(shù)學 號:200812388104學生姓名: 訚 新 俊指導(dǎo)教師: 李 順 新日 期: 2011年6月1日武漢科技大學高職生畢業(yè)論文 摘 要隨著社會的進步,人民生活水平的不斷提高,餐飲業(yè)的消費持續(xù)增長,競爭愈來愈激烈。然而,傳統(tǒng)餐飲企業(yè)的日常運作還是靠人工管理,從客人點單,再到結(jié)賬基本上由人工完成記錄,這樣做不僅耗費人力資源而且容易導(dǎo)致記錄丟失或重復(fù)等錯誤,造成管理水平低下?,F(xiàn)在的餐飲行業(yè)正向著規(guī)模化,集團化方向發(fā)展,傳統(tǒng)的經(jīng)營管理模式已經(jīng)不能適應(yīng)這種發(fā)展勢趨。這就迫切需要標準的、高效率的計算機管理方式引

2、導(dǎo)其發(fā)展,通過計算機管理日常運作,來不斷完善管理水平,提高工作效率。餐飲管理系統(tǒng)就是專門為餐飲業(yè)量身定制的軟件。適用于各種規(guī)模的餐飲娛樂企業(yè),如:餐廳、酒樓、咖啡屋、快餐店、酒吧、桑拿、夜總會、歌舞廳等。操作界面簡潔、直觀,非常容易上手;支持純鍵盤和純鼠標兩種操作方式,點菜、結(jié)賬、收銀可在最短時間內(nèi)飛速完成。系統(tǒng)包括日常運營、運營設(shè)置、查詢統(tǒng)計,系統(tǒng)設(shè)置、系統(tǒng)維護、幫助信息等幾大模塊,各大模塊下又各自包含若干子模塊,是餐飲娛樂企業(yè)進行現(xiàn)代化信息管理的最佳選擇。全動態(tài)的系統(tǒng)設(shè)置:酒菜類別、出品方式、消費方式、付款方式、酒菜要求、折扣、特價、套餐、等等均可實現(xiàn)按用戶需要進行動態(tài)設(shè)置。作為計算機應(yīng)用

3、的一部分,使用計算機對餐飲企業(yè)信息進行管理,具有手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高信息管理的效率,也是企業(yè)的科學化、正規(guī)化管理與世界接軌的重要條件。關(guān)鍵詞:餐飲管理系統(tǒng);sql2000;vs2008AbstractAlong with the progress of the society, people's living level unceasing enhancement, the restaurant industry consumption growth, increasingly fie

4、rce competition. However, the daily operation of traditional catering enterprises or on artificially management, order from the guest, again to check by artificially complete records, basically do not only the human cost resources and easy to cause the records lost or repeat mistake, causing managem

5、ent level is low. Now of the catering industry is toward scale, collectivize direction, the traditional management pattern already can not adapt to the development potential of fashion. This is urgent needs standards, efficient management style guide the development of computer, through the computer

6、 management daily operation, to constantly perfect management level, and improve work efficiency. Catering management system is tailored specifically for catering software. Applicable to various sizes of catering and entertainment enterprise, such as: restaurant, restaurants, cafes, fast-food restau

7、rants and bars, sauna, nightclub, singing and dancing hall, etc. Operation interface is simple, intuitive and very easy to use; Support pure keyboard and pure mouse two operating mode, order and checkout, cashier can in the shortest possible time rapid completed. System including the daily operation

8、s, operating setting, inquires the statistics, the system Settings, system maintenance and help information and so on several big modules, each big module again under their respective contain several son module, entertainment enterprise is the best choice for modern information management. Fully dyn

9、amic system Settings: product categories, the waiters way, consumption mode, payment, waiters, requirements, discounts, specials, package, etc according to user's requirements can be realized dynamic Settings.As a part of computer application, use the computer to catering enterprises information

10、 management, has the advantages of crafts incomparable. For example: retrieves, the search rapidly convenient, the reliability high, thereserves big, the secrecy good, the life is long, low cost. These merits can enormously enhance the information management efficiency, also is enterprise's scie

11、ntific and standardization management connecting with the world the important condition.Key words:Restaurant Management System;Sql2000;vs2008目 錄1 概述11.1 .NET技術(shù)的發(fā)展11.2 C#語言的介紹11.3 課題的提出41.3.1 項目背景41.3.2 系統(tǒng)目的41.3.3 系統(tǒng)功能82 系統(tǒng)設(shè)計的關(guān)鍵技術(shù)52.1 系統(tǒng)的開發(fā)環(huán)境52.2 數(shù)據(jù)庫技術(shù)83 餐飲管理系統(tǒng)的實現(xiàn)與代碼分析93.1 系統(tǒng)的設(shè)計思路93.2 系統(tǒng)制作步驟93.3 代碼細節(jié)

12、分析104 餐飲管理系統(tǒng)的測試294.1 系統(tǒng)測試目的294.2 系統(tǒng)測試環(huán)境304.3 系統(tǒng)質(zhì)量特性315 餐飲管理系統(tǒng)運行示例316 總結(jié)37參考文獻38致 謝39III1 概述1.1 .NET技術(shù)的發(fā)展.NET框架是一種新的計算平臺,它簡化了在高度分布式Internet環(huán)境中的應(yīng)用程序開發(fā)。.NET框架旨在實現(xiàn)下列目標:提供一個一致的面向?qū)ο蟮木幊汰h(huán)境,而無論對象代碼是在本地存儲和執(zhí)行,還是在本地執(zhí)行但在Internet上分布,或者是在遠程執(zhí)行的。提供一個將軟件部署和版本控制沖突最小化的代碼執(zhí)行環(huán)境。提供一個保證代碼(包括由未知的或不完全受信任的第三方創(chuàng)建的代碼)安全執(zhí)行的代碼執(zhí)行環(huán)境。

13、提供一個可消除腳本環(huán)境或解釋環(huán)境的性能問題的代碼執(zhí)行環(huán)境。使開發(fā)人員的經(jīng)驗在面對類型大不相同的應(yīng)用程序(如基于Windows的應(yīng)用程序和基于Web的應(yīng)用程序)時保持一致。按照工業(yè)標準生成所有通訊,以確?;?NET框架的代碼可與任何其他代碼集成。.NET框架具有兩個主要組件:公共語言運行庫和.NET框架類庫。公共語言運行庫是.NET框架的基礎(chǔ)。您可以將運行庫看作一個在執(zhí)行時管理代碼的代理,它提供核心服務(wù)(如內(nèi)存管理、線程管理和遠程處理),而且還強制實施嚴格的類型安全以及可確保安全性和可靠性的其他形式的代碼準確性。事實上,代碼管理的概念是運行庫的基本原則。以運行庫為目標的代碼稱為托管代碼,而不以

14、運行庫為目標的代碼稱為非托管代碼。.NET框架的另一個主要組件是類庫,它是一個綜合性的面向?qū)ο蟮目芍赜妙愋图?,您可以使用它開發(fā)包含從傳統(tǒng)的命令行或圖形用戶界面(GUI)應(yīng)用程序到基于ASP.NET所提供的最新創(chuàng)新的應(yīng)用程序(如Web窗體和XML Web services)在內(nèi)的應(yīng)用程序。.NET框架可由非托管組件承載,這些組件將公共語言運行庫加載到它們的進程中并啟動托管代碼的執(zhí)行,從而創(chuàng)建一個可以同時利用托管和非托管功能的軟件環(huán)境。.NET框架不但提供若干個運行庫宿主,而且還支持第三方運行庫宿主的開發(fā)。1.2C#語言的介紹C#語言是從C和C+語言演化而來的,是一種簡單、現(xiàn)代、面向?qū)ο笄翌愋桶?/p>

15、全的編程語言。C#具備了C+固有的強大能力,同時也吸收了Java和Delphi等語言的特點和精華,是目前進行.NET開發(fā)的首選語言。C# (C sharp) 是微軟對這一問題的解決方案。C#是一種最新的、面向?qū)ο蟮木幊陶Z言。它使得程序員可以快速地編寫各種基于Microsoft .NET平臺的應(yīng)用程序,Microsoft .NET提供了一系列的工具和服務(wù)來最大程度地開發(fā)利用計算與通訊領(lǐng)域。 正是由于C#面向?qū)ο蟮淖吭皆O(shè)計,使它成為構(gòu)建各類組件的理想之選無論是高級的商業(yè)對象還是系統(tǒng)級的應(yīng)用程序。使用簡單的C#語言結(jié)構(gòu),這些組件可以方便的轉(zhuǎn)化為XML 網(wǎng)絡(luò)服務(wù),從而使它們可以由任何語言在任何操作系統(tǒng)

16、上通過Internet進行調(diào)用。 最重要的是,C#使得C+程序員可以高效的開發(fā)程序,而絕不損失C/C+原有的強大的功能。因為這種繼承關(guān)系,C#與C/C+具有極大的相似性,熟悉類似語言的開發(fā)者可以很快的轉(zhuǎn)向C#。C#語言技術(shù)的優(yōu)點:效率與安全性。新興的網(wǎng)絡(luò)經(jīng)濟迫使商務(wù)企業(yè)必須更加迅速的應(yīng)對競爭的威脅。開發(fā)者必須不斷縮短開發(fā)周期,不斷推出應(yīng)用程序的新版本,而不僅僅是開發(fā)一個“標志性”的版本。C#在設(shè)計時就考慮了這些問題。它使開發(fā)者用更少的代碼做更多的事,同時也不易出錯。 支持現(xiàn)有的網(wǎng)絡(luò)編程新標準。新的應(yīng)用程序開發(fā)模型意味著越來越多地解決方案依賴于新出現(xiàn)的網(wǎng)絡(luò)標準,例如HTML,XML,SOAP等。

17、現(xiàn)存的開發(fā)工具往往都是早于Internet出現(xiàn)的,或者是在我們所熟知的網(wǎng)絡(luò)還處于孕育期時出現(xiàn)的。所以,它們一般無法很好地支持最新的網(wǎng)絡(luò)技術(shù)。C#程序員可以在Microsoft .NET平臺上事半功倍的構(gòu)建應(yīng)用程序的擴展框架。C#包含了內(nèi)置的特性,使任何組件可以輕松轉(zhuǎn)化為XML網(wǎng)絡(luò)服務(wù),通過Internet被任何操作系統(tǒng)上運行的任何程序調(diào)用。更突出的是,XML網(wǎng)絡(luò)服務(wù)框架可以使現(xiàn)有的XML網(wǎng)絡(luò)服務(wù)對程序員來說就和C#對象一樣。這樣,程序員就可以方便地使用他們已有的面向?qū)ο蟮木幊碳记蓙黹_發(fā)利用現(xiàn)有的XML網(wǎng)絡(luò)服務(wù)。 還有一些精細的特性,使得C#成為一流的網(wǎng)絡(luò)編程工具。例如,XML正逐漸成為在網(wǎng)絡(luò)上

18、傳輸結(jié)構(gòu)化數(shù)據(jù)的標準。這種數(shù)據(jù)集合往往非常小。為提高性能,C#允許把XML數(shù)據(jù)直接映射到struct數(shù)據(jù)類型,而不是class這樣對處理少量的數(shù)據(jù)非常有效。 消除大量程序錯誤。即使是專家級的C+程序員也常會犯一些最簡單的小錯誤比如忘了初始化變量,但往往就是這些小錯誤帶來了難以預(yù)料的問題,有些甚至需要很長時間來尋找和解決。一旦一個程序作為產(chǎn)品來使用,就算最簡單的錯誤糾正起來也可能要付出極其昂貴的代價。 C#的現(xiàn)代化設(shè)計能夠消除很多常見的C+編程錯誤。 例如: 1. 資源回收減輕了程序員內(nèi)存管理的負擔。 2. C#中變量由環(huán)境自動初始化。 3. 變量是類型安全的。 這樣,程序員編寫與維護那些解決復(fù)

19、雜商業(yè)問題的程序就更方便了。對版本的更新提供內(nèi)在的支持降低了開發(fā)成本。更新軟件組件是一項很容易出錯的工作,因為代碼的修改可能無意間改變原有程序的語義。為協(xié)助開發(fā)者進行這項工作,C#為版本的更新提供內(nèi)在的支持。例如,方法重載必須顯式聲明。這樣可以防止編碼錯誤,保證版本更新的靈活性。還有一個相關(guān)的特性就是對接口和接口繼承的內(nèi)在支持。這些特性使得C#可以開發(fā)復(fù)雜的框架并且隨著時間不斷發(fā)展更新它。 總體來說,這些特性使得開發(fā)程序項目的后續(xù)版本的過程更加健壯,從而減少后續(xù)版本的開發(fā)成本。 商業(yè)過程和軟件實現(xiàn)的更好對應(yīng)。企業(yè)的商業(yè)計劃要付諸現(xiàn)實,必須在抽象的商業(yè)過程和實際的軟件實現(xiàn)之間建立緊密地對應(yīng)。不過

20、大多數(shù)語言都很難做到這點。例如,如今的程序員們一般使用代碼注釋來注明哪個類對應(yīng)于某個抽象的商業(yè)對象。 C#語言允許類型定義的,擴展的元數(shù)據(jù)。這些元數(shù)據(jù)可以應(yīng)用于任何對象。項目構(gòu)建者可以定義領(lǐng)域特有的屬性并把他們應(yīng)用于任何語言元素-類,接口等等。然后,開發(fā)人員可以編程檢查每個元素的屬性。這樣,很多工作都變得方便多了,比如編寫一個小工具來自動檢查每個類或接口是否被正確定義為某個抽象商業(yè)對象的一部分,或者只是創(chuàng)建一份基于對象的領(lǐng)域特有屬性的報表。定制的元數(shù)據(jù)和程序代碼之間的緊密對應(yīng)有助于加強程序的預(yù)期行為和實際實現(xiàn)的之間的對應(yīng)關(guān)系。 擴展交互性 作為一種自動管理的,類型安全的環(huán)境,C#適合于大多數(shù)企

21、業(yè)應(yīng)用程序。但實際的經(jīng)驗表明有些應(yīng)用程序仍然需要一些底層的代碼,要么是因為基于性能的考慮,要么是因為要與現(xiàn)有的應(yīng)用程序接口兼容。這些情況可能會迫使開發(fā)者使用C+, 即使他們本身寧愿使用更高效的開發(fā)環(huán)境。 C#采用以下對策來解決這一問題: 1. 內(nèi)置對組建對象模型(COM)和基于Windows?的API的支持; 2.允許有限制地使用純指針(Native Pointer)。 C#中,每個對象都自動生成為一個COM對象。開發(fā)者不再需要顯式的實現(xiàn)IUnknown和其他COM接口這些功能都是內(nèi)置的類似的,#可以調(diào)用現(xiàn)有的COM對象,無論它是由什么語言編寫的。 C#包含了一個特殊的功能,使程序可以調(diào)用任何

22、純API。在一段特別標記的代碼中,開發(fā)者可以使用指針和傳統(tǒng)C/C+特性,如手工的內(nèi)存管理和指針運算。這是其相對于其它環(huán)境的極大優(yōu)勢。這意味著C#程序員可以在原有的C/C+代碼的基礎(chǔ)上編寫程序,而不是徹底放棄那些代碼。 無論是支持COM還是純API的調(diào)用,都是為了使開發(fā)者在C#環(huán)境中直接擁有必要的強大功能。1.3 課題的提出1.3.1 項目背景當今世界已進入了在計算機信息管理領(lǐng)域中激烈競爭的時代,應(yīng)用計算機已經(jīng)變得十分普遍了,如同我們離不開的自行車、汽車一樣。我們應(yīng)該承認,誰掌握的知識多,信息量大,信息處理速度快,批量大,誰的效率就高,誰就能夠在各種競爭中立于不敗之地。隨著科學技術(shù)的不斷提高,計

23、算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。越來越多的管理人員意識到信息管理的重要性。1.3.2 系統(tǒng)目的餐館菜單管理系統(tǒng)主要是用來方便客戶進行網(wǎng)上點菜,現(xiàn)在的人們生活節(jié)作快了,整天都忙于工作,有時候連做飯吃飯都沒有時間。餐館菜單應(yīng)有系統(tǒng)可以讓那些沒有時間做飯吃飯的人在網(wǎng)上進行點菜,客戶不僅可以了解每一種菜得做法,還可以看到菜的價格和菜的藥用性,做到吃出健康,吃的省錢。傳統(tǒng)餐飲企業(yè)的日常運作還是靠人工管理,從客人點單,再到結(jié)賬基本上由人工完成記錄,這樣做不僅耗費人力資源而且容易導(dǎo)致記錄丟失或重復(fù)等錯誤,造成管理水平低下。所以餐飲行業(yè)的管理

24、效率不高。由于缺乏科學的管理和現(xiàn)代化的管理工具,該餐飲行業(yè)在管理上和業(yè)務(wù)的安排上都存在著不足。餐飲管理系統(tǒng)就是專門為餐飲業(yè)量身定制的軟件。適用于各種規(guī)模的餐飲娛樂企業(yè),如:餐廳、酒樓、咖啡屋、快餐店、酒吧、桑拿、夜總會、歌舞廳等。操作界面簡潔、直觀,非常容易上手;支持純鍵盤和純鼠標兩種操作方式,點菜、結(jié)賬、收銀可在最短時間內(nèi)飛速完成。1.3.3 系統(tǒng)功能1.餐飲娛樂管理系統(tǒng)可以實現(xiàn)餐飲娛樂業(yè)工作流程(點菜、結(jié)賬、收銀、等)的微機自動化管理,為經(jīng)營者提供及時、準確的統(tǒng)計數(shù)據(jù)。2.用戶可以快速查找自己點的菜名和飲料。2.管理員可以對菜的類別進行管理:新增菜的類別,刪除菜的類別,修改類別,查詢類別。

25、3.管理員可以對菜的信息管理:對各種菜的信息進行查詢和刪除。4.系統(tǒng)采用了嚴格地分級授權(quán)查詢模式,嚴格劃分界線并有操作日志,完善的保密、安全機制。5.具有超強的適用性、安全性、靈活性及彈性,適應(yīng)企業(yè)發(fā)展的需要, 為廣大餐飲企業(yè)創(chuàng)造更大的利潤和價值。2 系統(tǒng)設(shè)計的關(guān)鍵技術(shù)2.1 系統(tǒng)的開發(fā)環(huán)境Visual Studio 2008是用于開發(fā)和維護托管的、本機的和混合模式的應(yīng)用程序的集成開發(fā)環(huán)境。它提供了用于創(chuàng)建不同類別應(yīng)用程序的多種項目模板,這些模板包括Microsoft Windows窗體、控制臺、ASP.NET網(wǎng)站、ASP.NET Web服務(wù)、SmartPhone 2003、Windows C

26、E 5.0以及其他類型的應(yīng)用程序。此外,它還提供了針對特定設(shè)備(如移動設(shè)備)的模板。而且,開發(fā)人員還可以根據(jù)需要選擇不同的編程語言,包括C# 、Microsoft Visual Basic .NET和托管的C+等。Visual Studio 2008 IDE 具有很多應(yīng)用程序的快速開發(fā)工具。Visual Studio代碼編輯器、Microsoft IntelliSense、解決方案資源管理器、類視圖、對象瀏覽器和類關(guān)系圖都是用戶界面的核心部分,有助于提高開發(fā)人員的精確性和工作效率、精確性和效率。下面將具體講解如何配置 Visual Studio 的開發(fā)環(huán)境。第1步  第一次啟動 Vi

27、sual Studio 2008時,顯示出來的是 Visual Studio 2008的【選擇默認環(huán)境設(shè)置】對話框,從中選擇一種開發(fā)環(huán)境,在此選擇"Visual C# 開發(fā)設(shè)置"選項,如圖1.1所示。設(shè)置完成后單擊【啟動 Visual Studio】按鈕。 圖1.1 【選擇默認環(huán)境設(shè)置】對話框第2步  Microsoft Visual Studio 2008開始為第一次使用設(shè)置環(huán)境,如圖1.1所示。  圖1.2  設(shè)置環(huán)境信息第3步  稍后會出現(xiàn) Microsoft Visual Studio 2008的開發(fā)主界面,如圖1.

28、 2所示。 圖1.3  Visual Studio 2008的開發(fā)主界面其中,Microsoft Visual Studio 2008開發(fā)主界面各工具欄及選項的功能說明如下:菜單欄和工具欄-菜單欄包括文件、編輯、視圖、工具、調(diào)試、窗口和幫助等選項;工具欄提供了不同功能菜單項的快捷方式,根據(jù)當前窗體的不同類型,工具欄會動態(tài)改變,工具欄包括標準工具欄、生成工具欄、調(diào)試工具欄、文本編輯工具欄、打開文件列表等選項。工具箱區(qū)-工具箱以選項卡的形式來分組顯示常用組件,包括標準、數(shù)據(jù)、驗證等工具的集合。這些組件通過鼠標拖放到設(shè)計窗體,就可以把相應(yīng)的功能增加到項目中。工作區(qū)-用于具體項目開

29、發(fā)的主要區(qū)域,如設(shè)計界面各控件的整體布局,事件代碼的編寫等。項目區(qū)和屬性區(qū)-項目區(qū)顯示所建項目的所有文件和文件夾及其相應(yīng)的配置文件;屬性區(qū)顯示設(shè)計界面中所選控件的各種設(shè)置信息。輸出區(qū)-顯示調(diào)試輸出的信息,如果調(diào)試錯誤,該輸出區(qū)會顯示出錯的行數(shù)、列數(shù)及出錯的原因。2.2 數(shù)據(jù)庫技術(shù)SQL Server 2000 在 Microsoft 的數(shù)據(jù)平臺上發(fā)布,幫助您的組織隨時隨地管理任何數(shù)據(jù)。它可以將結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化文檔的數(shù)據(jù)直接存儲到數(shù)據(jù)庫中。SQL Server 2000提供一系列豐富的集成服務(wù),可以對數(shù)據(jù)進行查詢、搜索、同步、報告和分析之類的操作。數(shù)據(jù)可以存儲在各種設(shè)備上,從數(shù)據(jù)中心最

30、大的服務(wù)器一直到桌面計算機和移動設(shè)備,您可以控制數(shù)據(jù)而不用管數(shù)據(jù)存儲在哪里。SQL Server 2000允許您在使用 Microsoft .NET 和 Visual Studio 開發(fā)的自定義應(yīng)用程序中使用數(shù)據(jù),在面向服務(wù)的架構(gòu)(SOA)和通過 Microsoft BizTalk Server 進行的業(yè)務(wù)流程中使用數(shù)據(jù)。信息工作人員可以通過他們?nèi)粘J褂玫墓ぞ咧苯釉L問數(shù)據(jù)。SQL Server 2008 提供一個可信的、高效率智能數(shù)據(jù)平臺,可以滿足您的所有數(shù)據(jù)需求。 圖2.1  Food 圖2.2  MenuSeries 圖2.3 

31、MenuType 圖2.4 OrderList3 餐飲管理系統(tǒng)的實現(xiàn)與代碼分析3.1 系統(tǒng)的設(shè)計思路采用C#語言在開發(fā)工具Microsoft Visual Studio 2008和數(shù)據(jù)庫SQL Server 2000上開發(fā)此系統(tǒng)。系統(tǒng)分前臺管理和后臺管理,前臺用戶可以瀏覽各類菜肴,查看各種菜的詳細說明和價格,還可以快速查找自己想要點的菜。結(jié)算時,顯示用戶點的所有菜,還可以打折扣。后臺管理,管理員可以對菜的類別進行管理:新增菜的類別,刪除菜的類別,修改類別,查詢類別。管理員可以對菜的信息管理:對各種菜的信息進行查詢和刪除,查看點菜記錄。3.2 系統(tǒng)制作步驟1. 準備頁面內(nèi)容文字,收集素

32、材;2. 在腦?;虿莞寮埳蠘?gòu)思頁面的風格與布局;3. 查詢相關(guān)資料,了解本系統(tǒng)的研究意義??梢陨暇W(wǎng)搜索或者是去圖書館查閱相關(guān)資料;4. 通過查詢資料了解該系統(tǒng)要如何做,及要做哪些東西;5. 設(shè)計出大體上的功能模塊,畫出模塊圖;6. 通過進一步的了解,對每個功能模塊進行細化,將每一步都想清楚。制定出每一步的做法和注意的地方;7. 對設(shè)計好的程序進行調(diào)試,通過調(diào)試發(fā)現(xiàn)存在的問題并解決,從而達到完善系統(tǒng)的目的;3.3 代碼細節(jié)分析1.Account.aspx.csnamespace CYGLXT.page public partial class Account : System.Web.UI.Pa

33、ge private Food fd = new Food(); private OrderList ol = new OrderList(); protected void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) List<string> idList = FileUtil.GetNodeTextFromXml(Server.MapPath("./App_Data/Order.xml"); DataSet ds = fd.GetFood(idList); if (ds != nul

34、l) /獲取數(shù)量 txtCount.Text = ds.Tables0.Rows.Count.ToString(); int money = 0; foreach (DataRow row in ds.Tables0.Rows) /計算總價 money += Convert.ToInt32(row"Price"); txtIdList.Text += row"ID".ToString() + "|" /點餐食品的ID集合 txtNameList.Text += row"Name".ToString() + &quo

35、t;|" /點餐食品的名稱集合 txtMoney.Text = string.Format("0:C", money); /在列表中綁定顯示 DataList1.DataSource = ds; DataList1.DataBind(); if (DataList1.Items.Count > 0) txtCode.Text = "X" + DateTime.Now.ToString("yyMMddHHMMss"); /設(shè)置控件只讀 txtCode.Attributes.Add("readonly"

36、, "true"); txtMoney.Attributes.Add("readonly", "true"); txtCount.Attributes.Add("readonly", "true"); protected void btnAccount_Click(object sender, EventArgs e) if (DataList1.Items.Count = 0) Jscript.Alert(this,"還沒有選購任何的美食,不能結(jié)算!"); return;

37、try ol.InsertOrderList(txtCode.Text, txtCount.Text, txtMoney.Text.Substring(1, txtMoney.Text.IndexOf(".") - 1), txtDiscount.Text = "" ? "0" : txtDiscount.Text, txtIdList.Text, txtNameList.Text); catch (Exception ex) FileUtil.WriteFile(Server.MapPath("./App_Data/Err

38、orLog.txt"), string.Format("rn用戶0新增點餐結(jié)算信息失??!rn錯誤信息:1", User.Identity.Name, ex.Message); Jscript.Alert(this, "新增點餐結(jié)算信息失敗,詳細信息請參見異常日志!"); return; /移除點餐記錄中的所有記錄節(jié)點 FileUtil.RemoveAllNode(Server.MapPath("./App_Data/Order.xml"); if (txtDiscount.Text != "") floa

39、t money = int.Parse(txtMoney.Text.Substring(1, txtMoney.Text.IndexOf(".") - 1) * float.Parse(txtDiscount.Text); Jscript.ExecuteBlock(this, string.Format("saveSuccess('0:C');", money); else Jscript.ExecuteBlock(this, string.Format("saveSuccess('0');", txt

40、Money.Text); 2.Food_Info.aspx.csnamespace CYGLXT.page public partial class Food_Info : System.Web.UI.Page private Food fd = new Food(); protected void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) if (!string.IsNullOrEmpty(Request.QueryString"pId") DataSet ds = fd.GetFoodInfo

41、ById(Request.QueryString"pId"); if (ds.Tables0.Rows.Count = 0) Jscript.Alert(this, "該條記錄已被刪除,請刷新后重新操作!"); return; foodlistBlock.InnerHtml = string.Format("0->1->2", ds.Tables0.Rows0"Series".ToString(), ds.Tables0.Rows0"Type".ToString(), ds.Tabl

42、es0.Rows0"Name".ToString(); lblName.Text = ds.Tables0.Rows0"Name".ToString(); lblType.Text = ds.Tables0.Rows0"Series".ToString() + "->" + ds.Tables0.Rows0"Type".ToString(); lblPrice.Text = string.Format("0:C", ds.Tables0.Rows0"Price

43、"); imgBtnPath.ImageUrl = "./upfile/thumbnailImage/" + ds.Tables0.Rows0"Picture".ToString(); lblRemark.Text = ds.Tables0.Rows0"Remark".ToString(); txtImageName.Text = ds.Tables0.Rows0"Picture".ToString(); protected void imgBtnPath_Click(object sender, Ima

44、geClickEventArgs e) /原尺寸水印圖片存儲路徑 string strImagePath = Server.MapPath("./upfile/sourceImage/") + txtImageName.Text; /將圖片裝載成Bitmap對象以獲取該圖片的高和寬 System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(strImagePath); int width = bmp.Width + 20; int height = bmp.Height + 20; if (width < 400) w

45、idth = 420; else if (width > 900) width = 920; if (height < 200) height = 220; else if (height > 500) height = 520; Jscript.ShowDialog(this, width, height, lblName.Text + "樣圖", "Picture.aspx?picName=" + txtImageName.Text); 3. Food_List.aspx.csnamespace CYGLXT.page public

46、 partial class Food_List : System.Web.UI.Page private Food fd = new Food(); protected void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) if (!string.IsNullOrEmpty(Request.QueryString"typeId") DataSet ds = fd.GetFoodByType(Request.QueryString"typeId"); DataList1.Data

47、Source = ds; DataList1.DataBind(); if (ds.Tables0.Rows.Count > 0) foodlistBlock.InnerHtml = string.Format("0->1", ds.Tables0.Rows0"Series".ToString(), ds.Tables0.Rows0"Type".ToString(); else foodlistBlock.InnerHtml = "該分類下暫無信息" protected void chkOrder_Ch

48、eckedChanged(object sender, EventArgs e) CheckBox chkOrder = (CheckBox)sender; DataListItem item = chkOrder.Parent as DataListItem; string id = (Label)item.FindControl("ID").Text; if (chkOrder.Checked) FileUtil.WriteLineToXml(Server.MapPath("./App_Data/Order.xml"), id); else File

49、Util.RemoveLineFromXml(Server.MapPath("./App_Data/Order.xml"), id); protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e) if (e.Item.ItemType = ListItemType.Item | e.Item.ItemType = ListItemType.AlternatingItem) List<string> idList = FileUtil.GetNodeTextFromX

50、ml(Server.MapPath("./App_Data/Order.xml"); if (idList.Contains(Label)e.Item.FindControl("ID").Text) (CheckBox)e.Item.FindControl("chkOrder").Checked = true; 4.Menu_link.aspx.csnamespace CYGLXT.page public partial class Menu_Link : System.Web.UI.Page private MenuSeries ms = new MenuSeries(); private MenuType mt = new MenuType(); protected void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) StringBuilder sb = new StringBuilder(2000); DataSet dsSeries = ms.GetMenuSeriesName();

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論