餐飲信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
餐飲信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
餐飲信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
餐飲信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
餐飲信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

/編號鄭州師范學(xué)院畢業(yè)論文(設(shè)計(jì))論文題目餐飲管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)系別軟件學(xué)院專業(yè)信息管理專業(yè)班級09信管二班姓名申艷敏學(xué)號092217022006指導(dǎo)老師楊臻職稱講師2011年5月

摘要隨著經(jīng)濟(jì)的發(fā)展社會的進(jìn)步,去飯店過節(jié)聚會成為了一種新的時尚。因此每逢過年過節(jié),飯店都會迎來大量的顧客,隨之而來的就是大量的預(yù)定和結(jié)算信息將會使得飯店的工作人員不堪重負(fù),并且不行避開的會出現(xiàn)這樣或那樣的錯誤。餐飲信息管理軟件的誕生可以為他們供應(yīng)便捷的管理服務(wù)。并且?guī)缀鯙榱愕腻e誤率也使得餐館可以更好的為顧客服務(wù)。它不僅可以為餐館降低人力資源的付出,節(jié)約了成本,而且也可以提升自身的形象,使餐廳迎來更多的食客。本系統(tǒng)運(yùn)用了VB.NET技術(shù)并接受了C/S架構(gòu),飯店服務(wù)人員運(yùn)用它可以快速精確地為客戶服務(wù),人性化的系統(tǒng)界面設(shè)計(jì)使得軟件便于運(yùn)用者的快速駕馭,計(jì)算機(jī)幾乎為零的錯誤率和高效的處理實(shí)力使得原本繁瑣的餐飲管理變得更加科學(xué)、快捷以及人性化。運(yùn)用本系統(tǒng),員工將可以快速地編輯顧客資料信息,并且為客戶供應(yīng)訂餐打折和充值服務(wù)。管理員運(yùn)用本系統(tǒng),既可以完成員工的全部工作,又可以更好地管理員工,精準(zhǔn)地了解員工賬面的資金狀況。除了這些,管理員還可以設(shè)定餐廳的菜單信息和折扣程度,從而使得管理員對餐廳的運(yùn)營狀況可以全面掌控。關(guān)鍵字:餐飲管理;VB.NET;C/S架構(gòu)AbstractWitheconomicdevelopmentandsocialprogress,tothehotelfestivegatheringintoanewfashion.Therefore,duringfestiveseasons,thehotelwillwelcomealargenumberofcustomers,followedbyalargenumberofreservationsandbillinginformationwillmakethehotelthestaffoverwhelmed,andtheinevitablewilloccurorthatsucherrors.Foodinformationmanagementsoftwarecanprovidethemwiththebirthofconvenientmanagementservices.Andalmostzeroerrorratemakestherestaurantbetterforcustomers.Itnotonlycanreducethehumanresourcesforrestaurantstopay,costsavings,butalsocanenhancetheirimage,sothatmoredinersusherrestaurantitself.ThesystemusesVB.NETtechnologyandusesC/Sarchitecture,thehotelstafftouseittoquicklyandaccuratelytocustomerservice,humansysteminterfacedesignallowsthesoftwaretofacilitatetheuserstograsp,thecomputerisalmostzeroerrorrateandefficientprocessingpowermakestherestaurantmanagementhadbecomemorecomplicatedscientific,efficientandhumane.Withthissystem,employeeswillbeabletoquicklyeditthecustomerdataandinformation,andprovidecustomerswithdiscountsandtop-ordering.Administratorsusethesystem,notonlytocompletealltheworkofemployees,butalsobettermanagementofstaff,accuratebookaboutemployeesoffunds.Inadditiontothese,theadministratorcanalsosettherestaurant'smenuofinformationanddiscountlevels,makingtheoperationsoftherestaurantmanagerstofullycontrol.

Keywords:FoodandBeverageManagement;VB.NET;C/Sarchitecture目錄第一章餐飲信息管理系統(tǒng)的開發(fā)背景 11.1開發(fā)背景 11.2開發(fā)工具和相關(guān)技術(shù)簡介 1其次章系統(tǒng)定義和系統(tǒng)需求 42.1系統(tǒng)定義 42.2系統(tǒng)需求分析 4第三章系統(tǒng)總體設(shè)計(jì) 63.1系統(tǒng)功能模塊的劃分 63.2管理員權(quán)限模塊劃分 83.3員工權(quán)限模塊劃分 83.4系統(tǒng)流程分析 83.5數(shù)據(jù)庫設(shè)計(jì) 93.5.1數(shù)據(jù)庫規(guī)劃 93.5.2E-R圖 93.5.3數(shù)據(jù)表的設(shè)計(jì) 11第四章系統(tǒng)詳細(xì)設(shè)計(jì) 154.1數(shù)據(jù)庫 154.1.1數(shù)據(jù)庫的鏈接 154.1.2Is_SQL_Cmd方法 154.1.3SQL_Ada方法 164.1.4ExecCmd過程 164.2系統(tǒng)的登錄和注銷 164.2.1用戶登陸模塊的實(shí)現(xiàn) 164.2.2用戶注銷模塊的實(shí)現(xiàn) 184.3客戶信息管理 194.3.1客戶信息的添加 194.3.2圖像的處理 204.3.3客戶信息的修改 214.3.4客戶信息的刪除 234.3.5客戶信息的查詢 244.4添加預(yù)定信息 264.4.1日期時間桌號的核對 264.4.2打折信息處理 274.4.3取消預(yù)定信息 284.4.4預(yù)定信息查詢 284.5充值和結(jié)算 314.5.1客戶充值 314.5.2客戶結(jié)算 334.6折扣設(shè)定 334.7用戶管理 334.7.1用戶的添加 334.7.2用戶的刪除 34總結(jié) 37謝辭 38參考文獻(xiàn) 39第一章餐飲信息管理系統(tǒng)的開發(fā)背景1.1開發(fā)背景傳統(tǒng)的餐飲管理現(xiàn)在已經(jīng)很難應(yīng)對當(dāng)今社會對餐飲業(yè)的管理要求,它和現(xiàn)在的基于計(jì)算機(jī)技術(shù)發(fā)展起來的餐飲信息管理系統(tǒng)對比,有以下幾大不同:便捷性方面:傳統(tǒng)的人工對餐飲信息進(jìn)行管理,如:顧客信息管理,菜單信息管理和訂餐信息的管理,都是很繁瑣的過程,其中的任何一步過程都要奢侈大量的時間,而隨著計(jì)算機(jī)技術(shù)的發(fā)展,這些原本繁瑣的問題都會變得輕而易舉。平安性方面:傳統(tǒng)的紙質(zhì)記錄方式查詢起來很麻煩,而且保密性很差,并且簡潔磨損丟失,對于會員余額的管理是特殊不利的。但假如接受的是電子文檔的方式進(jìn)行數(shù)據(jù)的保存,這一切都變得特殊簡便,你可以便利的對數(shù)據(jù)信息進(jìn)行備份查詢,并且數(shù)據(jù)的平安性可以得到最大程度的保證。精確性方面:傳統(tǒng)的人工記賬簡潔出錯,假如接受這種方式來處理現(xiàn)在的含有打折信息的消費(fèi)結(jié)算會使得工作量很大,假如計(jì)算出錯將嚴(yán)峻影響自己的聲譽(yù)。而假如運(yùn)用軟件系統(tǒng),這些問題都將不會出現(xiàn),計(jì)算機(jī)的錯誤率幾乎為零。鑒于以上傳統(tǒng)的人工管理方式的種種缺陷,我設(shè)計(jì)了便利中小級別餐飲企業(yè)運(yùn)用的應(yīng)用程序,通過它,管理者可以基本解決以上所遇到的種種問題,并且更加科學(xué)的對老客戶進(jìn)行打折,而且添加了主顧權(quán)限的不同設(shè)計(jì)使得它更加便利雇主對雇員的管理和監(jiān)督。1.2開發(fā)工具和相關(guān)技術(shù)簡介開發(fā)工具:硬件:ThinkPad筆記本軟件:WindowsXPMicrosoftVisualStudio2008MicrosoftSQLServer2005本系統(tǒng)是接受VB.NET技術(shù)結(jié)合SQLServer數(shù)據(jù)庫設(shè)計(jì)并實(shí)現(xiàn)的。VB.NET的開發(fā)工具為MicrosoftVisualStudio2008,數(shù)據(jù)庫運(yùn)用的是SQLServer2005ExpressEditionVB.NETVisualBasic.NET是從VisualBasic語言演化而來的,是一種為高效地生成類型平安和面對對象的應(yīng)用程序而設(shè)計(jì)的語言。VisualBasic允許開發(fā)人員開發(fā)面對Windows、Web和移動設(shè)備的程序。和全部面對Microsoft.NETFramework的語言一樣,運(yùn)用VisualBasic編寫的程序都具有平安性和語言互操作性方面的優(yōu)點(diǎn)。這一代VisualBasic持續(xù)了為您供應(yīng)一種簡潔快捷的方法來創(chuàng)建基于.NETFramework的應(yīng)用程序的傳統(tǒng)。MicrosoftVisualStudio2008MicrosoftVisualStudio2008使開發(fā)人員能夠快速創(chuàng)建高質(zhì)量、用戶體驗(yàn)豐富而又緊密聯(lián)系的應(yīng)用程序,充分展示了Microsoft開發(fā)智能客戶端應(yīng)用程序的構(gòu)想。借助VisualStudio2008,采集和分析信息將變得更為簡潔便捷,業(yè)務(wù)決策也會因此變得更為有效。任何規(guī)模的組織都可以運(yùn)用VisualStudio2008快速創(chuàng)建能夠利用WindowsVista和2007Officesystem的更平安、更易于管理并且更牢靠的應(yīng)用程序。VisualStudio2008包括各種增加功能,例如可視化設(shè)計(jì)器(運(yùn)用.NETFramework3.5加速開發(fā))、對Web開發(fā)工具的大量改進(jìn),以及能夠加速開發(fā)和處理全部類型數(shù)據(jù)的語言增加功能。VisualStudio2008為開發(fā)人員供應(yīng)了全部相關(guān)的工具和框架支持,幫助創(chuàng)建引人注目的、令人印象深刻并支持AJAX的Web應(yīng)用程序。開發(fā)人員能夠利用這些豐富的客戶端和服務(wù)器端框架輕松構(gòu)建以客戶為中心的Web應(yīng)用程序,這些應(yīng)用程序可以集成任何后端數(shù)據(jù)供應(yīng)程序、在任何當(dāng)前閱讀器內(nèi)運(yùn)行并完全訪問ASP.NET應(yīng)用程序服務(wù)和Microsoft平臺。SQLServer2005ExpressEdition(僅適用于32位)SQLServerExpress是一個免費(fèi)、易用且便于管理的數(shù)據(jù)庫。SQLServerExpress和Microsoft

VisualStudio

2005集成在一起,可以輕松開發(fā)功能豐富、存儲平安、可快速部署的數(shù)據(jù)驅(qū)動應(yīng)用程序。SQLServerExpress是免費(fèi)的,可以再分發(fā)(受制于協(xié)議),還可以起到客戶端數(shù)據(jù)庫以及基本服務(wù)器數(shù)據(jù)庫的作用。SQLServerExpress是低端ISV、低端服務(wù)器用戶、創(chuàng)建Web應(yīng)用程序的非專業(yè)開發(fā)人員以及創(chuàng)建客戶端應(yīng)用程序的編程愛好者的志向選擇。C/S結(jié)構(gòu)C/S(Client/Server或客戶/服務(wù)器模式):Client和Server常常分別處在相距很遠(yuǎn)的兩臺計(jì)算機(jī)上,Client程序的任務(wù)是將用戶的要求提交給Server程序,再將Server程序返回的結(jié)果以特定的形式顯示給用戶;Server程序的任務(wù)是接收客戶程序提出的服務(wù)請求,進(jìn)行相應(yīng)的處理,再將結(jié)果返回給客戶程序。C/S(Client/Server)結(jié)構(gòu),即大家熟知的客戶機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理支配到Client端和Server端來實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展,Web和Client/Server應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。其次章系統(tǒng)定義和系統(tǒng)需求2.1系統(tǒng)定義計(jì)算機(jī)技術(shù)產(chǎn)生以后,快速在管理領(lǐng)域得到了廣泛的應(yīng)用。20世紀(jì)60年頭,美國經(jīng)營管理協(xié)會及其事業(yè)部第一次提出了建立管理信息系統(tǒng)的設(shè)想,即建立一個有效的信息系統(tǒng),使得各級管理部門都能了解本單位的一切有關(guān)經(jīng)營活動,為各級決策人員供應(yīng)所須要的信息。對于信息管理系統(tǒng)的定義,目前還沒有一個統(tǒng)一的相識。由于餐飲管理系統(tǒng)是基于C/S模式,本文更傾向于接受下述定義:餐飲信息管理系統(tǒng)是通過對整個餐飲服務(wù)流程的管理,實(shí)現(xiàn)業(yè)務(wù)的整體優(yōu)化,提高企業(yè)運(yùn)行限制和外部交易過程的效率的管理工具。2.2系統(tǒng)需求分析現(xiàn)在的管理系統(tǒng)不僅要有漂亮的用戶界面,更要有嚴(yán)謹(jǐn)?shù)囊?guī)劃,留意每一個細(xì)小的環(huán)節(jié)。這樣才能使得在電子交易時避開不必要錯誤發(fā)生。本系統(tǒng)的設(shè)計(jì)和實(shí)施迎合了二十一世紀(jì)經(jīng)濟(jì)高速發(fā)展、人們的生活節(jié)奏日益加快以及現(xiàn)代餐飲業(yè)越來更加達(dá)和便捷這一現(xiàn)狀。它將極大地便利食客的就餐,同時也有利于我們的管理和服務(wù)。同時,我們的餐飲信息管理系統(tǒng)還能幫助餐廳降低錯誤率,擴(kuò)大營業(yè)范圍,增加知名度等。為了使系統(tǒng)更加人性化,便于管理員管理,此系統(tǒng)的用戶將分為兩種類型,一個是針對員工的餐飲管理系統(tǒng),另一個是針對管理員(店主)的餐飲管理系統(tǒng)。員工運(yùn)用本餐飲信息管理系統(tǒng)應(yīng)可以實(shí)現(xiàn)以下功能:添加修改查詢客戶會員信息(修改客戶信息需客戶確認(rèn))查詢菜單添加查詢預(yù)定信息,為老顧客打折客戶可以在自己的會員賬戶里充值顧客可以用現(xiàn)金買單也可以從會員賬戶里扣取管理員運(yùn)用本餐飲信息管理系統(tǒng)應(yīng)可以實(shí)現(xiàn)以下功能:添加修改查詢客戶會員信息(修改客戶信息需客戶確認(rèn))添加修改查詢菜單信息,最好能看到菜品圖片添加查詢預(yù)定信息,為老顧客打折客戶可以在自己的會員賬戶里充值顧客可以用現(xiàn)金買單也可以從會員賬戶里扣取設(shè)定詳細(xì)的打折方法添加職員信息,權(quán)限也可以定為管理員??梢圆樵冞\(yùn)用者的現(xiàn)金收款金額除了實(shí)現(xiàn)以上功能外,本系統(tǒng)還須要便利用戶地運(yùn)用,使得用戶可以很快地嫻熟駕馭,從而可以讓用戶快速的投入工作。并且要避開邏輯錯誤的出現(xiàn)。第三章系統(tǒng)總體設(shè)計(jì)3.1系統(tǒng)功能模塊的劃分依據(jù)以上需求,餐飲信息管理系統(tǒng)功能被劃分為以下模塊,如圖3.1所示:用戶登錄用戶登錄員工店主系統(tǒng)登錄退出客戶信息管理菜單信息管理充值結(jié)算管理折扣信息管理員工信息管理幫助預(yù)定信息管理圖3.1餐飲信息管理系統(tǒng)功能模塊圖系統(tǒng)登錄退出模塊:本模塊是被用于用戶登錄,注銷和退出。模塊依據(jù)用戶的不同類型賜予用戶不同的管理權(quán)限。低等級的用戶不行訪問高等級用戶的個別功能,而高等級用戶可以運(yùn)用低等級用戶的全部系統(tǒng)功能。客戶信息管理模塊:本模塊將餐飲企業(yè)松散的客戶資源加以整合,通過標(biāo)準(zhǔn)化的管理操作,將客戶資料加以收集。用戶運(yùn)用本模塊可以便利的查詢客戶的全部資料和客戶消費(fèi)信息。并且特意添加了圖像模塊,使得用戶的圖像信息加以保留,便利運(yùn)用者的查詢和記憶,當(dāng)客戶再次光臨時,服務(wù)人員可以干脆認(rèn)出客戶,這將使得客戶感到無微不至的關(guān)懷,提升餐廳的品牌形象??蛻舻馁Y料變更需經(jīng)客戶的確認(rèn),以避開出現(xiàn)因失誤操作導(dǎo)致的客戶信息流失。菜單信息管理模塊:本模塊將餐廳的菜品信息通過標(biāo)準(zhǔn)化的管理操作加以整合,使得菜品的價格、配料、功效和圖片可以完全呈現(xiàn)在客戶面前,使得客戶可以便利地選擇自己想要的食物。本模塊的分權(quán)限設(shè)計(jì)將限制一般員工對菜單信息加以修改,以防止菜單價格被惡意修改,以此保證餐廳正常牢靠的運(yùn)營。訂餐信息管理模塊:通過訂餐模塊使得傳統(tǒng)餐飲訂餐過程變得輕松便利,訂餐信息管理模塊會在客戶訂餐的同時核對客戶所預(yù)定的餐桌的運(yùn)用狀況,避開傳統(tǒng)訂餐易出現(xiàn)的預(yù)定重合問題。并且本模塊在客戶訂餐的同時會給出已預(yù)定的菜品價格,幫助客戶歡樂合理地消費(fèi)。模塊中包含的打折服務(wù)是本模塊的一大特色。它將參考客戶以往的消費(fèi)狀況和管理員設(shè)定的折扣程度對客戶進(jìn)行打折服務(wù)。而不是傳統(tǒng)餐飲打折中的沒有規(guī)律和憑據(jù)以詢。后臺的廚房通過本系統(tǒng)可以清楚地知道客戶預(yù)定的菜品,這樣就節(jié)約了大量用于菜品核對的時間,提高了廚房的效率,縮短了廚房上菜的時間。削減了不必要的人力物力財(cái)力資源的消耗,降低餐廳的運(yùn)營成本,使餐廳以更好性價比服務(wù)于消費(fèi)者,消費(fèi)者可以得到更好的消費(fèi)體驗(yàn)。充值結(jié)算管理模塊:通過此模塊,用戶可以便利的為客戶供應(yīng)充值結(jié)算服務(wù),充值收取的現(xiàn)金將會計(jì)入用戶的收款現(xiàn)金中,便于管理員結(jié)算時核對收款金額。結(jié)算方式分為兩種,一種是現(xiàn)金結(jié)算,一種是賬戶余額結(jié)算,現(xiàn)金結(jié)算的收款金額會計(jì)入用戶的收款現(xiàn)金,而賬戶余額結(jié)算的金額會從客戶的賬戶里扣除。折扣信息管理模塊:本模塊只限于管理員運(yùn)用,通過它可以設(shè)定為客戶打折時用到的折扣程度員工信息管理模塊:本模塊只限于管理員運(yùn)用,管理員運(yùn)用它,可以添加刪除用戶。用戶類型分為店長(管理員)和職員。管理員刪除用戶時,假如要刪除的是一般職員,系統(tǒng)將干脆執(zhí)行叮囑,假如要刪除的是管理員賬戶,系統(tǒng)會先查看剩下的管理員賬戶數(shù)量,最少保留一個管理員賬戶,以便下次的登錄。假如刪除的用戶是管理員本人,則在刪除賬戶后,系統(tǒng)將會要求運(yùn)用者重新登錄。3.2管理員權(quán)限模塊劃分管理員權(quán)限劃分如圖3.2所示:管理員權(quán)限管理員權(quán)限系統(tǒng)登錄退出顧客信息管理菜單信息管理充值結(jié)算管理折扣信息管理員工信息管理幫助預(yù)定信息管理圖3.2店長權(quán)限模塊圖管理員運(yùn)用本系統(tǒng)將能運(yùn)用系統(tǒng)的全部功能。3.3員工權(quán)限模塊劃分員工權(quán)限劃分如圖3.3所示:員工權(quán)限員工權(quán)限系統(tǒng)登錄退出顧客信息管理菜單信息查詢充值結(jié)算管理幫助預(yù)定信息管理圖3.3雇員權(quán)限模塊圖員工運(yùn)用本系統(tǒng)可以運(yùn)用除了菜單信息編輯、折扣信息管理模塊和員工信息管理模塊之外的全部功能。3.4系統(tǒng)流程分析系統(tǒng)流程分析如圖3.4所示:用戶登錄用戶登錄員工店主客戶添加維護(hù)客戶信息添加客戶的預(yù)定信息客戶買單現(xiàn)金賬戶余額賬戶充值消費(fèi)金額增加

賬戶升級

打折更多收款現(xiàn)金金額增加收款金額查看折扣設(shè)定食譜管理員工管理圖3.4系統(tǒng)流程分析流程圖簡介:員工登錄系統(tǒng)后為客戶添加基本信息,客戶可以依據(jù)須要在開通的賬戶里充值(增加用戶的收款金額)。客戶通過餐飲信息管理系統(tǒng)進(jìn)行訂餐(老用戶在此環(huán)節(jié)中可能會享受打折服務(wù))??蛻粲猛瓴秃髞淼椒?wù)臺買單,用戶可以選擇運(yùn)用現(xiàn)金或者從用戶余額里扣除,支付成功會增加客戶的已消費(fèi)金額。若余額不足,系統(tǒng)將會提示,那么客戶只能運(yùn)用現(xiàn)金支付。運(yùn)用現(xiàn)金支付的話會增加用戶的收款金額。管理員登錄的話可以運(yùn)用員工的全部功能,而且可以設(shè)定為客戶打折的折扣程度和添加菜單,以及管理員工賬戶。3.5數(shù)據(jù)庫設(shè)計(jì)3.5.1數(shù)據(jù)庫依據(jù)以上模塊劃分圖分析,針對餐飲信息管理系統(tǒng),分別對用戶、客戶、食譜、預(yù)定、折扣這幾個實(shí)體進(jìn)行詳細(xì)的調(diào)研和分析。數(shù)據(jù)庫的設(shè)計(jì)接受一庫多表式設(shè)計(jì)。即設(shè)計(jì)了一個數(shù)據(jù)庫。把每個運(yùn)用到的獨(dú)立的對象設(shè)計(jì)為獨(dú)立的應(yīng)用實(shí)體。3.5用戶(用戶(User)用戶編號用戶密碼用戶類型身份證號用戶姓名用戶電話收款金額圖3.5用戶E-R圖主要存儲一些用戶信息,如用戶的賬號、密碼和類型地點(diǎn)等等,主要用于用戶登錄,添加客戶和添加預(yù)定時會運(yùn)用到用戶信息??蛻簦╟ustomer)客戶(customer)客戶編號客戶地址客戶密碼客戶姓名添加時間賬戶余額已用金額客戶地址客戶照片客戶電話客戶手機(jī)用戶編號客戶生日圖3.6客戶E-R圖主要存儲一些客戶信息,如客戶的賬號、密碼、聯(lián)系方式和消費(fèi)狀況等等,主要用于客戶訂餐、充值和結(jié)算,運(yùn)用于添加預(yù)定。食譜(food)食譜(food)食譜名稱價格食譜功效食譜配料食譜照片圖3.7食譜E-R圖主要存儲一些食譜信息,如食譜的名稱、價格和照片等等,主要用于客戶訂餐,運(yùn)用于添加預(yù)定。預(yù)定(YuDing)預(yù)定(YuDing)身份證號消費(fèi)金額客戶姓名日期時間用戶編號桌號預(yù)定餐點(diǎn)圖3.8預(yù)定E-R圖主要存儲一些預(yù)定信息,如客戶的賬號、預(yù)定的時間、桌號和菜單等等,主要用于記錄客戶的預(yù)定信息,會運(yùn)用到用戶、客戶、菜單和折扣信息。折扣(discount)折扣(discount)折扣程度已消費(fèi)金額圖3.9折扣E-R圖存儲管理員(店主)設(shè)定的打折信息,用來計(jì)算打折后的應(yīng)付金額,運(yùn)用在添加預(yù)定時打折。3.5.user(用戶表)表3.1user序號字段名稱字段描述字段類型長度備注1user_id用戶編號char20不允許空2Pwd用戶密碼char20不允許空3Style用戶類型nchar20不允許空4Id用戶身份證號char20不允許空5Name用戶姓名char20不允許空6Tel用戶電話Char20不允許空7Money收款金額money允許空用戶表主要用于存儲一些用戶信息,如用戶的賬號、密碼和類型地點(diǎn)等等,主要用于用戶登錄,添加客戶和添加預(yù)定時會運(yùn)用到用戶信息來記錄經(jīng)手的用戶,字段money用于記錄用戶的收款金額,便于結(jié)算時對收款現(xiàn)金的核對。customer(客戶表)表3.2customer序號字段名稱字段描述字段類型長度備注1Name客戶姓名char20不允許空2Id客戶編號nchar20不允許空3Address客戶地址char50不允許空4Birthday客戶生日nchar20不允許空5Pwd客戶密碼nchar20不允許空6Addtime添加時間nchar20不允許空7Money賬戶余額money不允許空8usedmoney已用金額money不允許空9Photo客戶照片image允許空10Tel客戶電話nchar20允許空11mobilephone客戶手機(jī)nchar20不允許空12Userid用戶編號nchar10不允許空客戶表主要用于存儲一些客戶信息,如客戶的賬號、密碼、聯(lián)系方式和消費(fèi)狀況等等,主要用于客戶訂餐、充值和結(jié)算,字段money用于儲存賬戶余額,在運(yùn)用充值和賬戶余額支付時會運(yùn)用到它。字段usedmoney用于記錄客戶的消費(fèi)狀況,為客戶打折時會運(yùn)用到它。food(食譜表)表3.3food序號字段名稱字段描述字段類型長度備注1Name食譜名稱nchar20不允許空2Price價格money不允許空3Photo食譜照片image允許空4Efficacy食譜功效nchar50允許空5Formula食譜配料nchar50允許空食譜表主要用于存儲一些食譜信息,如食譜的名稱、價格和照片等等,主要用于客戶訂餐,運(yùn)用于添加預(yù)定。字段Price記錄的是食物的價格。當(dāng)客戶預(yù)定餐點(diǎn)時,系統(tǒng)運(yùn)用它來算費(fèi)用。YuDing(預(yù)定表)表3.4YuDing序號字段名稱字段描述字段類型長度備注1Tableid桌號nchar10不允許空2Date日期nchar20不允許空3Time時間nchar10不允許空4Name客戶姓名nchar10不允許空5customerid客戶身份證號nchar10不允許空6Userid用戶編號nchar10不允許空7Food預(yù)定餐點(diǎn)nvarcharMAX不允許空8Money消費(fèi)金額money不允許空預(yù)定表主要用于存儲一些預(yù)定信息,如客戶的賬號、預(yù)定的時間、桌號和菜單等等,主要用于記錄客戶的預(yù)定信息,會運(yùn)用到用戶、客戶、菜單和折扣信息。當(dāng)系統(tǒng)預(yù)定餐點(diǎn)時,會從其他各表中調(diào)出須要的信息,經(jīng)過計(jì)算和處理后,將最終信息儲存到Y(jié)uDing表,該表和其它各表都有緊密的聯(lián)系。discount(折扣表)表3.5discount序號字段名稱字段描述字段類型長度備注1usedmoney已消費(fèi)金額char10不允許空2Discount折扣程度char10不允許空折扣表用于存儲管理員(店主)設(shè)定的打折信息,用來計(jì)算打折后的應(yīng)付金額,運(yùn)用在添加預(yù)定時打折。當(dāng)客戶預(yù)定餐點(diǎn)時,打折服務(wù)的折扣程度就是參照該表。第四章系統(tǒng)詳細(xì)設(shè)計(jì)4.1數(shù)據(jù)庫數(shù)據(jù)庫的鏈接為了便于用戶運(yùn)用和維護(hù),我們將和數(shù)據(jù)庫的連接,單獨(dú)寫出來并進(jìn)行編譯,這樣系統(tǒng)在新的環(huán)境運(yùn)用時,只需改動一處數(shù)據(jù)庫連接代碼,即可立刻運(yùn)用,連接關(guān)鍵代碼如下:PublicSharedconstrAsString="DataSource=WWW-3C702F其中PublicSharedconstrAsString="DataSource=WWW-3C702F2C1C8\SQLEXPRESS;InitialCatalog=dcdatebase;IntegratedSecurity=True"Is_SQL_Cmd方法方法Is_SQL_Cmd是推斷數(shù)據(jù)是否存在,當(dāng)系統(tǒng)登錄和添加客戶須要驗(yàn)證數(shù)據(jù)庫中是否存在提交的數(shù)據(jù)時會用到它。其主要代碼如下:PublicFunctionIs_SQL_Cmd(ByValcmdstrAsString)AsBooleanSqlConn=NewSqlConnection(constr)SqlConn.Open()SqlCmd=NewSqlCommand(cmdstr,SqlConn)TrySqlDr=SqlCmd.ExecuteReader()IfSqlDr.HasRowsThenReturnTrueElseReturnFalseEndIfCatchexAsExceptionReturnFalseFinallySqlConn.Close()EndTryEndFunctionSQL_Ada方法方法SQL_Ada是為了查詢數(shù)據(jù)庫,并將查詢到的結(jié)果存放在內(nèi)存中的datatable表中,餐飲信息管理系統(tǒng)中運(yùn)用到的組件DataGridView再從datatable表中得到數(shù)據(jù)。PublicFunctionSQL_Ada(ByValadastrAsString)AsDataTableSqlConn=NewSqlConnection(constr)SqlConn.Open()SqlAda=NewSqlDataAdapter(adastr,SqlConn)ds=NewDataSetTrySqlAda.Fill(ds)Returnds.Tables(0)CatchexAsExceptionReturnNewDataTableFinallySqlConn.Close()EndTryEndFunctionExecCmd過程ExecCmd是為系統(tǒng)中的添加、刪除、修改服務(wù),系統(tǒng)里的客戶、菜單、折扣和員工的添加、刪除和修改都用到了該過程。PublicSubExecCmd(ByValcmdstrAsString)SqlConn=NewSqlConnection(constr)SqlConn.Open()SqlCmd=NewSqlCommand(cmdstr,SqlConn)SqlCmd.ExecuteNonQuery()EndSub4.2系統(tǒng)的登錄和注銷用戶登陸模塊的實(shí)現(xiàn)圖4.1用戶登錄用戶登陸模塊是防止非法用戶登陸的第一道防線,通過它可以愛惜后臺數(shù)據(jù)庫的平安性,當(dāng)用戶要進(jìn)行系統(tǒng)操作時,首先要進(jìn)入的就是身份驗(yàn)證界面,只有在密碼正確的狀況下才能進(jìn)行以后的操作,假如輸入的密碼不正確,則不能進(jìn)行登錄對系統(tǒng)進(jìn)行操作。假如用戶以職員的身份進(jìn)入系統(tǒng),則只能進(jìn)行顧客信息管理、菜單信息查詢、預(yù)定信息管理和充值結(jié)算管理,而菜單信息管理、折扣設(shè)定、員工管理這些功能將被屏蔽,假如用戶以管理員(店長)身份登錄,系統(tǒng)的全部功能都將可以運(yùn)用。以下是“登錄”按鈕的代碼:cmdstr="select*from[user]where[user_id]='"+TextBox1.Text+"'and[pwd]='"+TextBox2.Text+"'and[style]='"+ComboBox1.Text+"'"TryIfsqlobject.Is_SQL_Cmd(cmdstr)Thenmain.m_Login=True//類似部分省略Me.Close()ElseMsgBox("請?zhí)顚懻_的用戶名、密碼和用戶類型!")EndIfCatchexAsExceptionmain.OPErr.WriteErr(ex)EndTry系統(tǒng)先進(jìn)行數(shù)據(jù)庫操作,推斷是否存在用戶名、用戶密碼和用戶類型完全符合要求的數(shù)據(jù),假如存在,則說明用戶可以登錄,同時把登錄的用戶類型和用戶名告知須要用到用戶類型和用戶名數(shù)據(jù)的模塊如系統(tǒng)主界面、充值模塊和買單模塊等等。4.2.2用戶注銷模塊的實(shí)現(xiàn)用戶注銷模塊的代碼如下:PrivateSub注銷ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles注銷ToolStripMenuItem.ClickMe.m_style=""Me.m_Login=FalseForEachChildFormAsFormInMe.MdiChildrenChildForm.Close()Nextmain_Load(sender,e)Login.Show()Me.ToolStripStatusLabel1.Text="登錄"EndSub用戶通過本模塊可以注銷系統(tǒng),系統(tǒng)復(fù)原到登錄前畫面,這樣就可以防止在用戶離開后,系統(tǒng)數(shù)據(jù)被人惡意修改。4.3客戶信息管理客戶信息的添加圖4.2客戶的添加當(dāng)用戶點(diǎn)擊添加按鈕時,系統(tǒng)執(zhí)行以下代碼:CmdStr="SELECTidFROM[customer]whereid='"+TextBox2.Text+"'"IfTextBox2.Text=""Then//身份證不為空MsgBox("請輸入身份證號")TextBox2.Focus()ElseIfsqlobject.Is_SQL_Cmd(CmdStr)Then//檢查是否已注冊MsgBox("該客戶已經(jīng)存在")TextBox2.Focus()//中間還有很多類似的驗(yàn)證ElseCmdStr="insertintocustomer(name,id,address,birthday,pwd,addtime,money,usedmoney,tel,mobilephone,userid)VALUES('"+TextBox1.Text+"','"+TextBox2.Text+"','"+TextBox3.Text+"','"+DateTimePicker1.Value.ToString+"','"+TextBox6.Text+"','"+Now+"','"+"0"+"','"+"0"+"','"+TextBox4.Text+"','"+TextBox5.Text+"','"+user+"')"Trysqlobject.ExecCmd(CmdStr)//添加客戶MsgBox("添加成功")//添加成功提示FileUrl=""http://復(fù)位空格CatchexAsExceptionmain.OPErr.WriteErr(ex)EndTryEndIfEndSub在添加用戶前,系統(tǒng)進(jìn)行了詳細(xì)的表單驗(yàn)證,包括驗(yàn)證要提交的客戶是否已經(jīng)存在,用戶兩次輸入的密碼是否一樣,以及聯(lián)系方式不為空等等。運(yùn)用insert語句將通過驗(yàn)證的表格中的數(shù)據(jù)提交到數(shù)據(jù)庫。菜單信息添加模塊和本模塊的原理類似,以下不再闡述。圖像的處理假如用戶在上面添加客戶信息時,添加了圖像信息,那么系統(tǒng)就會執(zhí)行以下叮囑:IfFileUrl<>""Then//圖像存在的話,添加圖像DimimgstreemAsNewFileStream(FileUrl,FileMode.Open,FileAccess.Read)Dimimgbyte(imgstreem.Length)AsByteimgstreem.Read(imgbyte,0,imgstreem.Length)imgstreem.Close()DimsqlconnAsNewSystem.Data.SqlClient.SqlConnection(SQL_Conn.constr)CmdStr="updatecustomersetphoto=@imagewhereid='"+TextBox2.Text+"'"sqlcmd.Parameters.Add("@image",SqlDbType.Image)sqlcmd.Parameters("@image").Value=imgbytesqlcmd.Connection=sqlconnsqlcmd.CommandText=CmdStrTrysqlconn.Open()sqlcmd.ExecuteNonQuery()sqlconn.Close()CatchexAsExceptionmain.OPErr.WriteErr(ex)EndTryEndIf假如用戶提交了客戶的相片,相片將會被轉(zhuǎn)化為二進(jìn)制數(shù)據(jù)提交到數(shù)據(jù)庫中,這樣就可以便利用戶日后對客戶資料進(jìn)行維護(hù),也有助于服務(wù)人員記住客戶,當(dāng)客戶再次光臨時,一口報(bào)出客戶的名字將會使客戶對餐廳的好感大增。4.3.3圖4.3客戶信息的修改當(dāng)客戶資料因?qū)嶋H狀況發(fā)生變更時,可以修改系統(tǒng)中的資料數(shù)據(jù),用戶需供應(yīng)注冊時所運(yùn)用的客戶密碼。運(yùn)用密碼可以防止客戶的資料被惡意修改。充分愛惜客戶權(quán)益,即使是管理員也不能在不經(jīng)過客戶同意的狀況下修改客戶數(shù)據(jù)。以下是修改按鈕的代碼。CmdStr="selectpwdfromcustomerwherepwd='"+TextBox12.Text+"'andid='"+TextBox8.Text+"'"http://確定客戶身份代碼//省略驗(yàn)證信息Ifsqlobject.Is_SQL_Cmd(CmdStr)Then//假如客戶同意修改的話接著CmdStr="updatecustomersetaddress='"+TextBox9.Text+"'"+",tel='"+TextBox10.Text+"'"+",mobilephone='"+TextBox11.Text+"'"+",pwd='"+TextBox13.Text+"'"+"whereid='"+TextBox8.Text+"'"Trysqlobject.ExecCmd(CmdStr)//執(zhí)行更新MsgBox("修改成功")TextBox8.Text=""PictureBox2.Image=NothingCallTabControl1_SelectedIndexChanged(sender,e)CatchexAsExceptionmain.OPErr.WriteErr(ex)EndTryElseMsgBox("密碼錯誤")EndIf運(yùn)用方法Is_SQL_Cmd驗(yàn)證客戶密碼的正確性,假如原始密碼正確,用戶在輸入新密碼后可以進(jìn)行對聯(lián)系方式等基本資料進(jìn)行修改。運(yùn)用update語句將空格中的數(shù)據(jù)更新到服務(wù)器。假如更新成功,系統(tǒng)會彈出“修改成功的提示”。菜單信息修改模塊和本模塊的原理類似,以下不再闡述。4.3.4客戶信息可以在得到客戶確認(rèn)的狀況下刪除,因設(shè)計(jì)到賬戶余額問題所以在進(jìn)行此操作時萬分謹(jǐn)慎??蛻糍Y料來之不易,建議不要輕易刪除客戶資料。以下是刪除模塊的程序代碼:PrivateSubButton6_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton6.ClickIfTextBox12.Text=""ThenMsgBox("請輸入用戶密碼")TextBox12.Focus()ElseCmdStr="selectpwdfromcustomerwherepwd='"+TextBox12.Text+"'andid='"+TextBox8.Text+"'"http://用戶密碼確認(rèn)Ifsqlobject.Is_SQL_Cmd(CmdStr)ThenCmdStr="deletefromcustomerwhereid='"+TextBox8.Text+"'"Trysqlobject.ExecCmd(CmdStr)//執(zhí)行刪除叮囑MsgBox("刪除成功")PictureBox2.Image=NothingCatchexAsExceptionmain.OPErr.WriteErr(ex)EndTryElseMsgBox("密碼錯誤")EndIfEndIfCallTabControl1_SelectedIndexChanged(sender,e)EndSub系統(tǒng)先對客戶密碼進(jìn)行了核對,密碼正確的話,運(yùn)用delete語句,依據(jù)客戶的身份證號對數(shù)據(jù)庫中的客戶數(shù)據(jù)進(jìn)行刪除。因添加客戶數(shù)據(jù)時要求身份證號是唯一的,所以不用擔(dān)憂誤刪的問題。菜單信息刪除模塊和本模塊的原理類似,以下不再闡述。4.3.5圖4.4客戶信息的查詢1、客戶查詢模塊載入PrivateSubkehuchaxun_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Loadsqlobject=NewSQL_ConnCmdStr="SELECTnameas'客戶姓名',idas'身份證',addressas'家庭地址',telas'電話號碼',mobilephoneas'手機(jī)號碼',moneyas'賬戶余額',usedmoneyas'已消費(fèi)額'FROMcustomer"TryMe.DataGridView1.DataSource=sqlobject.SQL_Ada(CmdStr)CatchexAsExceptionmain.OPErr.WriteErr(ex)EndTryMe.DataGridView1.AutoSizeColumnsMode=DataGridViewAutoSizeColumnsMode.DisplayedCellsEndSub運(yùn)用SQL_Ada方法,查詢customer表中的個別數(shù)據(jù),將數(shù)據(jù)庫中的數(shù)據(jù)提取出來保存在內(nèi)存中的datatable表中,客戶信息查詢中的DataGridView組件將內(nèi)存中的datatable數(shù)據(jù)表里的數(shù)據(jù)提取出來顯示給用戶查看。2、當(dāng)點(diǎn)擊DataGridView組建中的隨意一客戶資料時,在組件左邊的PictureBox中將顯示客戶照片。PrivateSubDataGridView1_CellClick(ByValsenderAsObject,ByValeAsSystem.Windows.Forms.DataGridViewCellEventArgs)HandlesDataGridView1.CellClickIfrow<>e.RowIndexAnde.RowIndex>=0Thenrow=e.RowIndexLabel1.Text=Me.DataGridView1.Item(0,row).Value.ToString.Trim()IfLabel1.Text<>""ThenCmdStr="selectphotofromcustomerwherename='"+Label1.Text+"'"DisplayImg(CmdStr)Else:PictureBox1.Image=NothingEndIfEndIfEndSub其中Ifrow<>e.RowIndexAnde.RowIndex>=0中e.RowIndex指的是點(diǎn)擊的行數(shù),第一行為0。Label1.Text=Me.DataGridView1.Item(0,row).Value.ToString.Trim()是為了取所選行數(shù)的第一列值,即客戶姓名。IfLabel1.Text<>""Then是指假如label1不為空,CmdStr="selectphotofromcustomerwherename='"+Label1.Text+"'"是SQL語句查詢圖片數(shù)據(jù)。DisplayImg(CmdStr)是在DisplayImg方法中執(zhí)行SQL語句。Else:PictureBox1.Image=Nothing指不滿足條件時,清空圖像。3、DisplayImg方法PrivateSubDisplayImg(ByValstrAsString)sqlobject.SQL_Ada(str)Ifsqlobject.SQL_Ada(str).Rows(0).Item(0)IsDBNull.ValueThenPictureBox1.Image=NothingElseDimimgbyte()AsByte=sqlobject.SQL_Ada(str).Rows(0).Item(0)DimimgmemoryAsNewMemoryStream(imgbyte)PictureBox1.Image=Image.FromStream(imgmemory)EndIfEndSubDisplayImg方法的作用是讀出數(shù)據(jù)庫中保存的二進(jìn)制圖像。菜單信息查詢模塊和本模塊的原理類似,以下不在闡述。4.4添加預(yù)定信息圖4.5添加預(yù)定信息系統(tǒng)在窗口載入時,先查詢了客戶和菜單兩張表,將數(shù)據(jù)顯示在窗體左邊,供用戶選擇時運(yùn)用,其代碼和客戶查詢類似這里不再敘述。本節(jié)介紹其他功能的實(shí)現(xiàn)。日期時間桌號的核對為了防止客戶預(yù)定的餐桌出現(xiàn)重合的狀況,添加預(yù)定的餐桌時系統(tǒng)執(zhí)行以下代碼:PrivateSubDateTimePicker1_ValueChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesDateTimePicker1.ValueChangedsqlobject=NewSQL_ConnCmdStr="selecttableidfromYuDingwheretableid='"+ComboBox1.Text+"'anddate='"+DateTimePicker1.Value.ToString+"'andtime='"+ComboBox2.Text+"'"Ifsqlobject.Is_SQL_Cmd(CmdStr)ThenMsgBox("在此時刻此桌已有預(yù)定")EndIfEndSub當(dāng)桌號、時間或者日期中任何一條改動時,程序都會運(yùn)用方法Is_SQL_Cmd執(zhí)行查找一次數(shù)據(jù)庫,看在此時刻此桌是否已有預(yù)定信息的記錄,假如已有相同記錄,系統(tǒng)就會提示“在此時刻此桌已有預(yù)定”。打折信息處理當(dāng)用戶向系統(tǒng)添加預(yù)定的菜品時,系統(tǒng)會執(zhí)行以下代碼:IfLabel6.Text=""Then//選擇客戶MsgBox("請選擇客戶")ElseIfLabel12.Text=""Then//選擇菜單MsgBox("請選擇菜單")ElseLabel14.Text=Label14.Text+Label10.Text+""http://所點(diǎn)菜單price=Label12.Texttotle+=price//總消費(fèi)金額Label16.Text=totleLabel18.Text=totleCmdStr="selectusedmoneyfromdiscount"http://查詢設(shè)定的消費(fèi)金額Cmd="selectdiscountfromdiscount"http://查詢設(shè)定的打折程度Cm="SELECTusedmoneyFROM[customer]whereid='"+Label6.Text+"'"http://客戶已消費(fèi)金額f=(sqlobject.SQL_Ada(Cm).Rows(0).Item(0))//f為客戶已消費(fèi)金額TryFori=0Tosqlobject.SQL_Ada(CmdStr).Rows.Count–1//打折表行數(shù)j=(sqlobject.SQL_Ada(CmdStr).Rows(i).Item(0))//打折表行消費(fèi)金額d=(sqlobject.SQL_Ada(Cmd).Rows(i).Item(0))//打折表行折扣率If(f>=j)ThenLabel18.Text=totle*d/10EndIfNextiCatchexAsExceptionmain.OPErr.WriteErr(ex)EndTryEndIfEndSub首先選擇客戶和預(yù)定的餐點(diǎn),客戶信息用于推斷打折程度,餐點(diǎn)用于結(jié)算消費(fèi)金額。用累加的方法計(jì)算出總消費(fèi)金額,系統(tǒng)先在數(shù)據(jù)表中查詢客戶信息中的客戶已消費(fèi)金額,再用查出的金額和數(shù)據(jù)庫對比,推斷打折程度。詳細(xì)方法是系統(tǒng)先查看折扣數(shù)據(jù)表中共有的數(shù)據(jù)行數(shù),然后從第0行起先依次向下掃描,由于添加打折信息時是依據(jù)消費(fèi)額度遞增方式添加的,所以系統(tǒng)查到的數(shù)據(jù)會越來越大,越來越接近客戶已消費(fèi)金額,當(dāng)已消費(fèi)金額剛好超過設(shè)定的金額時系統(tǒng)停止接著向下查找新的設(shè)定金額,同時查找設(shè)定金額對應(yīng)的打折程度,再用此打折程度計(jì)算打折后的實(shí)付金額。取消預(yù)定信息系統(tǒng)依據(jù)用戶選擇的預(yù)定信息,執(zhí)行刪除叮囑,其關(guān)鍵代碼如下:CmdStr="deletefromYuDingwherename='"+Label25.Text+"'anddate='"+Label27.Text+"'andtime='"+Label28.Text+"'andtableid='"+Label30.Text+"'"Trysqlobject.ExecCmd(CmdStr)預(yù)定信息查詢圖4.6預(yù)定查詢當(dāng)預(yù)定查詢模塊載入時,系統(tǒng)執(zhí)行以下語句:PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Loadsqlobject=NewSQL_ConnCmdStr="SELECTnameas'客戶姓名',customeridas'身份證',dateas'預(yù)定日期',timeas'預(yù)定時間',tableidas'餐桌號',moneyas'結(jié)算價格',foodas'預(yù)定菜單',useridas'服務(wù)員編號'FROMYuDing"TryMe.DataGridView1.DataSource=sqlobject.SQL_Ada(CmdStr)CatchexAsExceptionmain.OPErr.WriteErr(ex)EndTryMe.DataGridView1.AutoSizeColumnsMode=DataGridViewAutoSizeColumnsMode.DisplayedCellsEndSub當(dāng)預(yù)定查詢模塊載入時讀取數(shù)據(jù)庫中的預(yù)定信息并且顯示在DataGridView組件中顯示給用戶查看,餐廳的廚房就是運(yùn)用這一模塊來獲得須要準(zhǔn)備的餐點(diǎn)。當(dāng)用戶知道想要查找的預(yù)定信息中的某些精確內(nèi)容時,可以將知道的內(nèi)容輸入空格中,系統(tǒng)將會自動在數(shù)據(jù)庫中查找這些內(nèi)容。關(guān)鍵代碼如下:PrivateSubTextBox1_TextChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesTextBox1.TextChangedTextBox2.Text=""TextBox3.Text=""sqlobject=NewSQL_ConnCmdStr="SELECTnameas'客戶姓名',customeridas'身份證',dateas'預(yù)定日期',timeas'預(yù)定時間',tableidas'餐桌號',moneyas'結(jié)算價格',foodas'預(yù)定菜單',useridas'服務(wù)員編號'FROMYuDingwherename='"+TextBox1.Text+"'"TryMe.DataGridView1.DataSource=sqlobject.SQL_Ada(CmdStr)CatchexAsExceptionmain.OPErr.WriteErr(ex)EndTryMe.DataGridView1.AutoSizeColumnsMode=DataGridViewAutoSizeColumnsMode.DisplayedCellsEndSub當(dāng)依據(jù)姓名查找、依據(jù)日期查找和依據(jù)餐桌號查找的文本框中的數(shù)據(jù)被改動時,系統(tǒng)依據(jù)改動后的數(shù)據(jù),運(yùn)用CmdStr所代表的SQL語句查找數(shù)據(jù)庫中的信息。并將新的信息顯示在DataGridView組件中。4.5充值和結(jié)算客戶充值圖4.7客戶充值用戶充值會模塊會調(diào)取數(shù)據(jù)庫中的customer表里的money數(shù)據(jù),當(dāng)用戶選擇要充值的客戶后,系統(tǒng)會提取對應(yīng)客戶的客戶余額,當(dāng)用戶確定添加后,系統(tǒng)會用客戶余額加上客戶充值的金額,然后把得到的結(jié)果更新到數(shù)據(jù)庫中客戶的賬戶余額中同時系統(tǒng)也會以同樣的方法更新數(shù)據(jù)庫user表中的收款金額money數(shù)據(jù)。然后再刷新DataGridView組件中的數(shù)據(jù)信息。當(dāng)用戶點(diǎn)擊充值按鈕時,系統(tǒng)執(zhí)行以下代碼:IfLabel6.Text<>""Thena=Label6.TextIfTextBox1.Text<>""Thenb=TextBox1.Textmoney=a+bCmdStr="updatecustomersetmoney='"+money.ToString+"'wherename='"+Label4.Text+"'"Trysqlobject.ExecCmd(CmdStr)//更新充值后的客戶數(shù)據(jù)庫Cmd="SELECTmoneyFROM[user]whereuser_id='"+userid+"'"money=(sqlobject.SQL_Ada(Cmd).Rows(0).Item(0))a=money+bCmdStr="update[user]setmoney='"+a.ToString+"'whereuser_id='"+userid+"'"sqlobject.ExecCmd(CmdStr)//更新充值后的用戶數(shù)據(jù)庫MsgBox("充值成功")CatchexAsException

溫馨提示

  • 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

提交評論