已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
*畢業(yè)論文(設(shè)計)KTV管理系統(tǒng)KTV management system摘要隨著社會的發(fā)展,人類的進(jìn)步,21世紀(jì)人們的生活的水平有所提高,為了滿足人們對生活的需要,豐富業(yè)余生活,娛樂KTV等行業(yè)蓬勃發(fā)展,在數(shù)字化的今天,我們已經(jīng)離不開計算機(jī),為了加強(qiáng)對包廂和點(diǎn)歌的管理,我們必須使用計算機(jī)來對大量的歌曲以及對包廂進(jìn)行處理,使KTV管理員對歌曲點(diǎn)播和分配包廂等操作的管理更加有序、到位,基于上述種種原因,開發(fā)一套KTV管理系統(tǒng)迫在眉捷,我們結(jié)合本次畢業(yè)設(shè)計開發(fā)以下的KTV管理系統(tǒng)方案。關(guān)鍵詞:KTV;管理;點(diǎn)歌AbstractWith the development of society, the progress of mankind, the 21st century, the people life level improved, in order to meet the needs of peoples life, rich amateur life, KTV entertainment industries to flourish, in digital today, we can not do without the computer, in order to strengthen the box and the song management, we must use the computer to a lot of songs as well as to box processing, make KTV manager to songs on demand and distribution box and operation management more orderly and reach the designated position, based on the above reasons, the development of a set of KTV management system a looming, we combined the graduation design and development the following KTV management system solutions. Keywords: KTV, Management; The song I目 錄中英文摘要(I)1 引 言(1)1.1 項目開發(fā)背景(1)1.2 項目提出的意義(1)2 項目分析設(shè)計(1)2.1 需求分析(1)2.2 可行性分析(2)2.3系統(tǒng)開發(fā)工具簡介(3)2.4系統(tǒng)整體框架(4)3 數(shù)據(jù)庫實(shí)現(xiàn)(6)3.1數(shù)據(jù)表設(shè)計(6)3.2存儲過程設(shè)計(11)3.3視圖設(shè)計(13)3.4觸發(fā)器設(shè)計(14)4 系統(tǒng)模塊設(shè)計和測試(15)4.1用戶登錄模塊(15)4.2包廂管理模塊(16)4.3顧客消費(fèi)管理模塊(17)4.4點(diǎn)歌模塊(19)4.5數(shù)據(jù)維護(hù)模塊(22)總結(jié)(26)致 謝(27)參考文獻(xiàn)(28)1 引 言1.1 項目開發(fā)背景隨著人們生活水平的提高,人們的業(yè)余生活也發(fā)生了巨大變化,為了滿足人們對生活的需要,豐富業(yè)余生活,娛樂KTV等行業(yè)蓬勃發(fā)展。近些年來,人們的業(yè)余生活變得越來越豐富多彩,去練歌房練歌,成為人們在生活之余的主要休閑方式。傳統(tǒng)的卡拉OK一直用關(guān)盤來喂顧客播放歌曲,由于光盤存放歌曲數(shù)量有限,很多時候,顧客都找不到自己想唱的歌,并且用光盤播放歌曲不方便。在數(shù)字化的今天,我們已經(jīng)離不開計算機(jī),為了加強(qiáng)對包廂和點(diǎn)歌的管理,我們必須使用計算機(jī)來對大量的歌曲以及對包廂進(jìn)行處理,使KTV管理員對歌曲點(diǎn)播和分配包廂等操作的管理更加有序、到位。系統(tǒng)采用先進(jìn)開發(fā)工具,通過本系統(tǒng),顧客可通過多種方式點(diǎn)播自己喜愛的歌曲,管理員可向系統(tǒng)中添加、修改和刪除歌曲信息?;谏鲜龇N種原因,開發(fā)一套KTV管理系統(tǒng)迫在眉捷,基于這些優(yōu)點(diǎn),在本次畢業(yè)設(shè)計之際,我作為一名計算機(jī)專業(yè)的畢業(yè)生,著手開發(fā)以下的KTV管理系統(tǒng)方案1。1.2 項目提出的意義“KTV管理系統(tǒng)”是娛樂場所點(diǎn)歌為適應(yīng)標(biāo)準(zhǔn)化、快捷化的需要而發(fā)展起來的。它是光盤播放的一種發(fā)展與革新,它是計算機(jī)應(yīng)用于娛樂產(chǎn)業(yè)的成果。2 項目分析設(shè)計2.1 需求分析從顧客使用點(diǎn)歌系統(tǒng)的角度挖掘需求,點(diǎn)歌系統(tǒng)應(yīng)當(dāng)具備多種途徑的歌曲查詢點(diǎn)播功能,普通點(diǎn)歌系統(tǒng)一般會提供一個紙質(zhì)的歌單,通常其上的曲目按歌名的首字母進(jìn)行排序并對每個曲目設(shè)定有一個特定的編號,也有部分點(diǎn)歌系統(tǒng)以歌名的字?jǐn)?shù)進(jìn)行排序,顧客在查找到相應(yīng)的曲目之后再通過遙控器輸入該曲目的編號完成點(diǎn)歌功能。而本系統(tǒng)追求的是全電子化的系統(tǒng),因此對曲目的查詢要求采用無紙化的操作,通過輸入即可查詢所有曲目,并且需要提供更為豐富的查詢方式?;诜奖阈耘c習(xí)慣,首先本系統(tǒng)應(yīng)當(dāng)提供傳統(tǒng)點(diǎn)歌系統(tǒng)的查詢方式,即以歌曲名首字母為依據(jù)的查詢方式和以歌曲名字?jǐn)?shù)多少為依據(jù)的查詢方式,此外,需要增加以歌手名為依據(jù)的查詢方式和以歌曲語種為依據(jù)的查詢方式。事實(shí)上,這些查詢方式并沒有什么奇特的地方,但是因?yàn)榭梢宰尣煌念櫩瓦x擇自己習(xí)慣與適應(yīng)的查詢方式,它必將會讓用戶在消費(fèi)時感覺更愉快些。從經(jīng)營者使用點(diǎn)歌系統(tǒng)的角度挖掘需求,點(diǎn)歌系統(tǒng)應(yīng)當(dāng)具備基本的按消費(fèi)時間計算的計費(fèi)功能。此外,點(diǎn)歌系統(tǒng)還應(yīng)當(dāng)可以方便地增加新的曲目,也應(yīng)提供對現(xiàn)有曲目的修改、刪除功能,并且,對曲目的管理應(yīng)當(dāng)是各包房統(tǒng)一的,而不是必須一個一個包房地進(jìn)行設(shè)置與操作。另外,因?yàn)榍康墓芾頃绊懙秸麄€系統(tǒng)提供的服務(wù),所以這些管理功能應(yīng)當(dāng)只能由具有相應(yīng)權(quán)限的管理人員完成,因此,點(diǎn)歌系統(tǒng)中還應(yīng)提供相應(yīng)管理人員管理功能及權(quán)限控制功能2.2 可行性分析也稱為可行性研究,是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,對新系統(tǒng)的開發(fā)從技術(shù)、經(jīng)濟(jì)、操作等方面進(jìn)行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功??尚行匝芯康哪康木褪怯米钚〉拇鷥r在盡可能短的時間內(nèi)確定問題是否能夠解決。該系統(tǒng)的可行性分析包括以下幾個方面的內(nèi)容。1.技術(shù)可行性:開發(fā)此KTV管理系統(tǒng)需要的硬件環(huán)境要求不高,操作系統(tǒng)為windows 2000 以上系列即可,系統(tǒng)的開發(fā)軟件為ecliose,數(shù)據(jù)庫管理系統(tǒng)為SQL 2000。 除專業(yè)技術(shù)人員外,普通操作人員無需掌握ecliose及SQL的使用, 易于學(xué)習(xí)和使用。因此從技術(shù)方面講開發(fā)此KTV管理系統(tǒng)是可行的2。2 .經(jīng)濟(jì)可行性分析本KTV管理系統(tǒng)主要面向娛樂場所的,所需的硬件和軟件環(huán)境均不高,所需的專業(yè)技術(shù)人員也不多,大部分人員在系統(tǒng)的演示完畢之后就可以親自操作了,并且可以利用娛樂場所已有的工具,所以開發(fā)此系統(tǒng)成本低、經(jīng)濟(jì)效益高、實(shí)用性高,因此從經(jīng)濟(jì)方面講開發(fā)此KTV管理系統(tǒng)是可行的3。3 .操作可行性分析根據(jù)現(xiàn)有的技術(shù)設(shè)備條件和準(zhǔn)備充實(shí)的技術(shù)力量和設(shè)備,系統(tǒng)在技術(shù)上的實(shí)現(xiàn)是可行的。在設(shè)備方面,計算機(jī)內(nèi)存容量、外存容量輸入輸出設(shè)備等都可在原有的基礎(chǔ)上滿足需要4。綜上所述,此系統(tǒng)開發(fā)目標(biāo)已明確,在技術(shù)和經(jīng)濟(jì)等方面都可行,并且投入少、見效快。因此系統(tǒng)的開發(fā)是完全可行的5。2.3系統(tǒng)開發(fā)所用的技術(shù)準(zhǔn)備2.3.1 JDK簡介JDK(Java Development Kit)是Sun Microsystems針對Java開發(fā)員的產(chǎn)品。自從Java推出以來,JDK已經(jīng)成為使用最廣泛的Java SDK。JDK 是整個Java的核心,包括了Java運(yùn)行環(huán)境,Java工具和Java基礎(chǔ)的類庫6。JDK是學(xué)好Java的第一步。而專門運(yùn)行在x86平臺的Jrocket在服務(wù)端運(yùn)行效率也要比Sun JDK好很多。從SUN的JDK5.0開始,提供了泛型等非常實(shí)用的功能,其版本也不斷更新,運(yùn)行效率得到了非常大的提高7。2.3.2 Eclipse簡介Eclipse 是一個開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(Java Development Kit,JDK)8。2.3.3 sql server 2000SQL是英文Structured Query Language的縮寫,意思為結(jié)構(gòu)化查詢語言。SQL語言的主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進(jìn)行溝通。按照ANSI(美國國家標(biāo)準(zhǔn)協(xié)會)的規(guī)定,SQL被作為關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言。SQL語句可以用來執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)等。目前,絕大多數(shù)流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL語言標(biāo)準(zhǔn)。2.4系統(tǒng)整體框架和模塊功能說明KTV管理系統(tǒng)包廂管理模塊用戶登錄模塊管理員登錄服務(wù)員登錄空房查詢時間記錄分配包廂會員管理費(fèi)用管理按歌曲語種按歌手按歌曲名稱按歌曲字?jǐn)?shù)按歌手名稱包廂信息維護(hù)歌手信息維護(hù)歌曲信息維護(hù)點(diǎn)歌模塊數(shù)據(jù)維護(hù)模塊顧客消費(fèi)管理模塊包廂管理模塊用戶登錄模塊圖2-2 系統(tǒng)整體框架圖1.用戶登錄模塊前臺身份登錄:可查詢和分配包廂信息、賦予顧客查詢權(quán)限;不可添加、修改、刪除服務(wù)員身份登錄:開啟點(diǎn)歌系統(tǒng),讓顧客進(jìn)行點(diǎn)歌;管理員身份登錄:可進(jìn)行包廂、歌手和歌曲的添加、修改、查詢、刪除信息;2.包廂管理模塊空房查詢:查詢沒被使用的包廂分配包廂:根據(jù)空房查詢的結(jié)果把可用包廂分配給顧客時間記錄:記錄包廂開始使用和結(jié)束使用的時間3.顧客消費(fèi)管理模塊費(fèi)用管理:記錄顧客消費(fèi)的費(fèi)用會員管理:記錄會員信息4.點(diǎn)歌模塊歌手名稱點(diǎn)歌:根據(jù)演唱歌手的名字來查詢選擇歌曲。歌曲名稱點(diǎn)歌:按照歌曲名稱進(jìn)行查詢選擇歌曲。歌曲拼音點(diǎn)歌:根據(jù)歌曲名稱的每個字的首字母來選歌。歌曲字?jǐn)?shù)點(diǎn)歌:根據(jù)歌曲字?jǐn)?shù)來檢索歌曲。歌曲語種點(diǎn)歌:根據(jù)不同語種檢索歌曲。5.數(shù)據(jù)維護(hù)模塊歌曲信息維護(hù):對歌手信息進(jìn)行添加、修改、刪除及查詢操作。歌手信息維護(hù):對歌曲信息進(jìn)行添加、修改、刪除及查詢操作。包廂信息維護(hù):對用戶信息進(jìn)行添加、修改、刪除及查詢操作。3 數(shù)據(jù)庫實(shí)現(xiàn)3.1數(shù)據(jù)表設(shè)計3.1.1數(shù)據(jù)庫表總體關(guān)系數(shù)據(jù)庫各個表之間的關(guān)系如圖3-1所示:歌手歌曲管理員維護(hù)顧客選擇已選演唱點(diǎn)歌系統(tǒng)屬于前臺包廂分配登記開啟注銷授權(quán)查詢會員加入KTV管理系統(tǒng)屬于服務(wù)員圖3-1數(shù)據(jù)庫表之間的關(guān)系圖3.1.2數(shù)據(jù)表詳細(xì)結(jié)構(gòu)本系統(tǒng)用SQL2000作為數(shù)據(jù)庫,數(shù)據(jù)庫命名為KTV,各表設(shè)計如下9:表1 UserForm:用來記錄用戶名和密碼數(shù)據(jù)項名稱類型長度值usernamechar4Primary keyPasswordchar10Not nullUsertypechar4Not null用戶信息實(shí)體所包含的屬性E-R圖如圖用戶用戶類型密碼用戶名表2 Singer:用來記錄歌手信息數(shù)據(jù)項名稱類型長度值SingerNochar5Primary keySingerNamevarchar30Not nullSexchar2Not nullNationchar8Not null歌手信息實(shí)體所包含的屬性E-R圖如圖歌手歌手編號姓名地區(qū)性別表3 Song:用來記錄歌曲信息數(shù)據(jù)項名稱類型長度值SongNochar8Primary keySongNamevarchar30Not nullWordCountint4Not nullSpellvarchar10SongLanvarchar8Not nullSingerNochar5Not null歌曲信息實(shí)體所包含的屬性E-R圖如圖歌曲歌曲編號歌曲語種歌曲拼音歌手編號歌曲字?jǐn)?shù)歌曲名稱表4 selected:用來記錄已選歌曲信息數(shù)據(jù)項名稱類型長度值recordnochar8Primary keySongNochar8Not nullSongNamevarchar30Not nullSingerNamevarchar 30Not nullSongLanvarchar8Not null已選歌曲信息實(shí)體所包含的屬性E-R圖如圖已選歌曲歌曲編號歌曲語種記錄編號歌手名字歌曲名稱表5 Room:用來記錄包廂信息數(shù)據(jù)項名稱類型長度值RoomNochar3Primary keyRoomTypechar4Not nullRoomPriceint4Not nullStatetinyint1Not null包廂信息實(shí)體所包含的屬性E-R圖如圖包廂包廂號價格類型包廂狀態(tài)表6 Register:用戶登記表數(shù)據(jù)項名稱類型長度值CustomerNamevarchar10Primary keyRoomNochar3Not nullOpenTimedatetime8Not nullLeaveTimedatetime4Not nullCardIdchar8登記用戶信息實(shí)體所包含的屬性E-R圖如圖登記開房時間離開時間會員卡號用戶名字包廂號表7 record:歷史記錄表數(shù)據(jù)項名稱類型長度值recordidint4Primary keyCustomerNamevarchar10Not nullRoomNochar3Not nullOpenTimedatetime8Not nullLeaveTimedatetime8Not nullCardIdchar8歷史記錄信息實(shí)體所包含的屬性E-R圖如圖歷史記錄用戶名字開房時間離開時間會員卡號包廂號記錄編號表8 charge:用來記錄用戶賬單數(shù)據(jù)項名稱類型長度值CustomerNameVarchar10Not nullChargefloat8Not nullDiscountfloat8Payfloat8Not nullRoomNoChar3Not nullRecordIdint4Primary key用戶賬單信息實(shí)體所包含的屬性E-R圖如圖用戶賬單用戶名字消費(fèi)金額打折數(shù)總計包廂號記錄編號表9 Vip:用來記錄會員信息數(shù)據(jù)項名稱類型長度值CardIdchar8Primary keyCustomerNameVarchar10Not nullCardTypevarchar8Not nullPhonechar11Not null會員信息實(shí)體所包含的屬性E-R圖如圖會員會員卡號會員類型會員姓名電話表10 CARD:用來記錄會員卡信息數(shù)據(jù)項名稱類型長度值CardTypeVarchar 8Primary keyDiscountfloat8Not null會員卡信息實(shí)體所包含的屬性E-R圖如圖會員卡會員類型打折數(shù)3.2存儲過程設(shè)計3.2.1點(diǎn)歌的5個存儲過程1 按字?jǐn)?shù)查找CREATE proc 按字?jǐn)?shù)查找 字?jǐn)?shù) char(10)as select SongNo,SongName,SingerName,SongLanfrom 歌曲信息where Wordcount=字?jǐn)?shù)GO2按拼音查找CREATE proc 按拼音查找 拼音 char(10)as select SongNo,SongName,SingerName,SongLanfrom 歌曲信息where Spell=拼音GO3按歌手查找CREATE proc 按歌手查找 歌手名 char(30)as select SongNo,SongName,SingerName,SongLanfrom 歌曲信息where singername=歌手名GO4.按歌曲名稱查找CREATE proc 按歌曲名稱查找 歌曲名稱 char(30)as select SongNo,SongName,SingerName,SongLanfrom 歌曲信息where SongName=歌曲名稱GO5.按語種查找CREATE proc 按語種查找 語種 char(10)as select SongNo,SongName,SingerName,SongLanfrom 歌曲信息where songlan=語種GO3.2.2維護(hù)的5個存儲過程1.修改歌手信息CREATE proc 歌手修改 singerno char(5),singername varchar(30),sex char(2),nation char(8)as update singerset singerno=singerno,singername=singername,sex=sex,nation=nationwhere singerno=singernoGO2.修改包廂信息CREATE proc 包廂修改 roomno char(3),roomtype char(4),roomprice int,state tinyintas update roomset roomno=roomno,roomtype=roomtype,roomprice=roomprice,state=statewhere roomno=roomnoGO3.修改歌曲信息CREATE proc 維護(hù)修改 songno char(8),songname varchar(30),wordcount char(4),spell varchar(10),songlan varchar(8),singerno char(5)as update songset songno=songno,songname=songname,wordcount=wordcount,spell=spell,songlan=songlan,singerno=singernowhere songno=songnoGO4.插入歌曲CREATE proc 維護(hù)插入 songno char(8),songname varchar(30),wordcount char(4),spell varchar(10),songlan varchar(8),singerno char(5)as insert into songvalues(songno,songname,wordcount,spell,songlan,singerno)GO5.顯示歌曲信息CREATE proc 維護(hù)顯示as select songno,songname,singername,songlan,wordcount,spell,Singernofrom 歌曲信息GO3.2.3顧客登記和結(jié)賬的1個存儲過程1.在顧客登記部分用了1個存儲過程來插入顧客信息CREATE proc 顧客登記 customername varchar(10),roomno char(3),opentime datetime,leavetime datetime,cardid char(3),IsCal char(4)as insert into registervalues( customername,roomno,opentime,leavetime,cardid,IsCal)GO2.在結(jié)賬部分用了1個存儲過程來插入賬單信息CREATE proc 賬單插入 roomno char(3),customername varchar(10),charge float(8),discount float(8),pay float(8)as insert into chargevalues(roomno,customername,charge,discount,pay)GO3.3視圖設(shè)計創(chuàng)建了2個視圖,一個用視圖來建立完整的歌曲信息,包括歌曲表中的信息和歌手表中的信息;一個視圖用來顯示vip顧客結(jié)賬時需要的信息3.3.1歌曲信息視圖CREATE VIEW dbo.歌曲信息ASSELECT dbo.Song.SongNo, dbo.Song.SongName, dbo.Singer.SingerName, dbo.Song.SongLan,dbo.Song.WordCount,dbo.Song.Spell,dbo.Singer.SingerNo, dbo.Singer.Nation, dbo.Singer.SexFROM dbo.Song INNER JOIN dbo.Singer ON dbo.Song.SingerNo = dbo.Singer.SingerNo3.3.2 VIP結(jié)賬視圖CREATE VIEW dbo.結(jié)賬ASSELECT dbo.Register.CustomerName, dbo.Register.RoomNo, dbo.Room.RoomPrice, dbo.Register.OpenTime, dbo.Register.LeaveTime, dbo.CARD.Discount, dbo.Vip.CardIdFROM dbo.Register INNER JOIN dbo.Room ON dbo.Register.RoomNo = dbo.Room.RoomNo INNER JOIN dbo.Vip ON dbo.Register.CardId = dbo.Vip.CardId INNER JOIN dbo.CARD ON dbo.Vip.CardType = dbo.CARD.CardType3.4觸發(fā)器設(shè)計1.這個觸發(fā)器是用來修改包廂狀態(tài)的,當(dāng)向register表插入信息時,將room表對應(yīng)的state(狀態(tài))改成1,表示該包廂已使用CREATE Trigger 登記On dbo.Register for insert,delete As declare RoomNo char(3)beginupdate roomset state=1from room,insertedwhere room.roomno=inserted.roomnoend2.這個觸發(fā)器的作用是當(dāng)從register刪除信息時,將room表對應(yīng)的state(狀態(tài))改成0,表示該包廂為空,并將刪除的信息添加到record表CREATE Trigger 注銷On dbo.Register for delete As declare Customername varchar(10)declare RoomNo char(3)declare OpenTime datetimedeclare LeaveTime datetimedeclare CardId char(8)begin select Customername= Customername from deletedselect RoomNo=RoomNo from deletedselect OpenTime=OpenTime from deletedselect LeaveTime=LeaveTime from deletedselect CardId=CardId from deletedupdate roomset state=0from room,deletedwhere room.roomno=deleted.roomnoinsert into recordvalues(CustomerName,RoomNo,OpenTime,LeaveTime,CardId)end4 系統(tǒng)運(yùn)行和測試4.1用戶登錄模塊4.1.1分析與設(shè)計根據(jù)應(yīng)用,要實(shí)現(xiàn)前臺、服務(wù)員和管理者的登錄,從而確保信息的安全4.1.2 測試與實(shí)現(xiàn)測試登錄界面的使用,并登錄成功測試截圖:登陸校驗(yàn)偽代碼:if (ae.getSource() = bLogin) /點(diǎn)登陸按鈕 if (tUser.getText().equals() | password.getPassword().equals() /如果用戶名和密碼為空 提示請輸入 else 此處省略“連接數(shù)據(jù)庫,匹配用戶名和密碼” if(成功) 跳轉(zhuǎn)到登陸頁面 else 提示失敗信息 4.2包廂管理模塊4.2.1分析與設(shè)計根據(jù)設(shè)計,要使前臺能實(shí)現(xiàn)包廂的空房查詢,分配包廂,時間記錄,并最終注銷包廂,使到時間的包廂回復(fù)空包廂狀態(tài)4.2.2 測試與實(shí)現(xiàn)開包廂偽代碼:if (ae.getSource() = b1) /添加按鈕if (t3.getText().equals() /如果卡號為空提示請輸入! else if(s4.equals(使用中)s4=1/s4為房間標(biāo)記,1為使用中,0為空elses4=0;if (s1.length() != 3) /顧客姓名為空提示包廂號必須為3位數(shù)字 else String sql = insert into room values( + s1 + ,+ s2 + , + s3 + , + s4 + );rs = stat.executeUpdate(sql);/執(zhí)行sql語句if (rs 1) /執(zhí)行sql語句后函數(shù)的返回結(jié)果 提示添加失敗 else 提示添加成功! 修改包廂偽代碼:else if (ae.getSource() = b2) /修改按鈕if(s4.equals(使用中)s4=1; /s4為房間標(biāo)記,1為使用中,0為空elses4=0;proc = conn.prepareCall(call 包廂修改(?,?,?,?) );r = proc.executeUpdate();/調(diào)用call包廂修改(?,?,?,?)存儲過程if (r 1) 提示修改失敗 else 提示修改成功! 注銷包廂偽代碼:else if (ae.getSource() = b2) /注銷包廂按鈕if (t1.getText().equals() /顧客姓名為空 提示請輸入包廂編號! else String s1 = t1.getText().trim();/獲取包廂號String sql = delete from room where roomno= + s1 + ;r = stat.executeUpdate(sql); /執(zhí)行sql語句if (r 1) 提示刪除失敗 else 提示注銷成功!4.3顧客消費(fèi)管理模塊4.3.1分析與設(shè)計根據(jù)設(shè)計,要使前臺能實(shí)現(xiàn)對對顧客的費(fèi)用管理,進(jìn)行結(jié)操作,并且根據(jù)有需要的顧客辦理會員卡4.3.2 測試與實(shí)現(xiàn)顧客的費(fèi)用管理的代碼: /省略連數(shù)據(jù)庫的代碼 rs1 = stat.executeQuery(select * from register where roomno=+ s + );/查詢注冊者信息while (rs1.next() 此處省略獲取卡號,開房時間,離開時間和客戶姓名h = stat.executeQuery(select datediff(n, + + tm1 + ,+ tm2 + );/ 時間計算while (h.next() min = h.getInt(1);/ 不滿一小時按一小時計費(fèi)if (min % 60 = 0) hour = min / 60; else hour = (int) min / 60) + 1;if (getid.equals() rs2 = stat.executeQuery(select roomprice from room where roomno=+ s + );/查詢客房price信息while (rs2.next() rp = rs2.getInt(roomprice);pay = (int) (hour * rp); else rs = stat.executeQuery(select * from VIP顧客結(jié)賬);while (rs.next() rp = rs.getInt(roomprice);/獲取價格dis = rs.getFloat(discount);/獲取打幾折pay = (int) (hour * rp * dis / 10);CallableStatement proc = conn.prepareCall(call 賬單插入(?,?,?,?,?) );if (rs3 1) 提示保存賬單失敗!4.4點(diǎn)歌模塊4.4.1分析與設(shè)計根據(jù)設(shè)計,當(dāng)服務(wù)員開啟點(diǎn)歌系統(tǒng)之后,消費(fèi)者能夠進(jìn)行點(diǎn)歌操作,可以根據(jù)歌手名稱、歌曲名稱、歌曲拼音、歌曲字?jǐn)?shù)、歌曲語種進(jìn)行點(diǎn)歌4.4.2 測試與實(shí)現(xiàn)查找功能通過調(diào)用數(shù)據(jù)庫的存儲過程實(shí)現(xiàn)其中存儲過程代碼如下:歌曲名稱查找: CREATEproc按歌曲名稱查找歌曲名稱char(30)asselectSongNo,SongName,SingerName,SongLanfrom歌曲信息whereSongNamelike%+歌曲名稱+%歌手查找: CREATEproc按歌手查找歌手名char(30)asselectSongNo,SongName,SingerName,SongLanfrom歌曲信息wheresingernamelike歌手名語種查找: CREATEproc按語種查找語種char(10)asselectSongNo,SongName,SingerName,SongLanfrom歌曲信息wheresonglan=語種歌曲數(shù)字查找:CREATE proc 按字?jǐn)?shù)查找 字?jǐn)?shù) char(10)as select SongNo,SongName,SingerName,SongLanfrom 歌曲信息where Wordcount=字?jǐn)?shù)拼音查找:CREATEproc按拼音查找拼音char(10)asselectSongNo,SongName,SingerName,SongLanfrom歌曲信息whereSpell=拼音實(shí)現(xiàn)刪除功能偽代碼:if (ae.getSource() = bdelete) /此處省略連接數(shù)據(jù)庫代碼String sql = delete from selected where Recordno= + ins0+ ;/刪除選擇表中對于的記錄rs = stat.executeUpdate(sql);/執(zhí)行刪除if (rs 1) 提示無歌曲,請先點(diǎn)歌! else 提示刪除成功! 返回功能偽代碼:else if (ae.getSource() = breturn) /返回按鈕 此處省略返回歌曲頁面 優(yōu)先功能偽代碼:else if (ae.getSource() = bfirst) /實(shí)現(xiàn)優(yōu)先功能 1此處省略連接數(shù)據(jù)庫代碼。 并把數(shù)據(jù)存在Vector v中2把v中的數(shù)據(jù)存放在table中3. 獲取選擇表格的行4刪除表格改行記錄5把選擇的行插入到Vector v的最前面for (int i = 0; i v.size(); i+) /遍歷的所有數(shù)據(jù),并更新數(shù)據(jù)庫now = (String) v.get(i);nson = now1;nsin = now2;nsol = now3;String sql = update selected set songname= + nson+ ,singername= + nsin + ,songlan=+ nsol + where recordno= + (i + 1) + ;stat.executeUpdate(sql);6.此處顯示從新顯示表格代碼4.5 數(shù)據(jù)維護(hù)模塊4.5.1分析與設(shè)計根據(jù)設(shè)計,要使管理者能實(shí)現(xiàn)對KTV數(shù)據(jù)庫里面的歌曲信息、歌手信息、包廂信息進(jìn)行管理4.5.2 測試與實(shí)現(xiàn)1.歌曲信息的維護(hù)截圖添加功能偽代碼if (ae.getSource() = b1) /添加按鈕if (t2.getText().equals()| t4.getText().equals() /歌曲名和歌手編號不能為空提示請輸入! else int rs;/判斷是否添加成功的標(biāo)記/此處省略連接數(shù)據(jù)庫String sql = insert into singer values( + s1 + ,+ s2 + , + s3 + , + s4 + );/插入歌手的sql語句rs = stat.executeUpdate(sql);/執(zhí)行添加歌手if (rs 1) 提示添加失敗 else 提示添加成功!2.歌手信息的維護(hù)截圖修改功能偽代碼if (ae
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度教育機(jī)構(gòu)教材文印制作合同3篇
- 2025版能源項目股權(quán)轉(zhuǎn)讓協(xié)議標(biāo)準(zhǔn)范本3篇
- 二零二五版押運(yùn)員離職交接與保密協(xié)議范本3篇
- 私人所有房產(chǎn)無償贈與合同
- 場地租賃合作合同書
- 演出場地出租合同范文
- 期貨理財委托協(xié)議書
- 武漢市商品買賣合同
- 主播合作協(xié)議樣板
- 2025-2030全球鋰電池氣凝膠隔熱墊行業(yè)調(diào)研及趨勢分析報告
- 大連高新區(qū)整體發(fā)展戰(zhàn)略規(guī)劃(產(chǎn)業(yè)及功能布局)
- 2024年智慧工地相關(guān)知識考試試題及答案
- 未婚生子的分手協(xié)議書
- 輸液室運(yùn)用PDCA降低靜脈輸液患者外滲的發(fā)生率品管圈(QCC)活動成果
- YY/T 0681.2-2010無菌醫(yī)療器械包裝試驗(yàn)方法第2部分:軟性屏障材料的密封強(qiáng)度
- GB/T 8005.2-2011鋁及鋁合金術(shù)語第2部分:化學(xué)分析
- 不動產(chǎn)登記實(shí)務(wù)培訓(xùn)教程課件
- 不銹鋼制作合同范本(3篇)
- 2023年系統(tǒng)性硬化病診斷及診療指南
- 煙氣管道阻力計算
- 《英語教師職業(yè)技能訓(xùn)練簡明教程》全冊配套優(yōu)質(zhì)教學(xué)課件
評論
0/150
提交評論