版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、畢業(yè)設(shè)計(jì)(論文)媒體音樂播放器的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生學(xué)號(hào)學(xué)生姓名學(xué)院名稱專業(yè)名稱指導(dǎo)教師年月日 摘要為了更好的豐富人們的業(yè)余文化生活,提高歌廳管理水平,為消費(fèi)者提供更加舒適、便利的娛樂環(huán)境,筆者設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)點(diǎn)歌管理系統(tǒng)。該系統(tǒng)以C#作為開發(fā)語言。該系統(tǒng)具有界面友好、操作方便、檢索迅速、存儲(chǔ)量大等特點(diǎn)。本文對(duì)系統(tǒng)的需求進(jìn)行了分析,敘述了系統(tǒng)開發(fā)的目的和意義,闡述了系統(tǒng)的總體方案設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì),重點(diǎn)敘述了各個(gè)模塊的詳細(xì)設(shè)計(jì)方法與設(shè)計(jì)過程,并對(duì)系統(tǒng)實(shí)施的相關(guān)問題作了介紹。關(guān)鍵詞 點(diǎn)歌管理系統(tǒng);管理系統(tǒng);系統(tǒng)設(shè)計(jì);AbstractIn order to better enrich the life o
2、f peoples leisure and cultural, improve the level of karaoke management, to provide consumers with more comfortable and convenient entertainment environment, the author designed and implemented a VOD management system. The system to C # as development language, using SQL Server for data management b
3、ackground, achieving a song play, query by song, query by singer, query by the number of songs name. The system has a friendly interface, easy operation, rapid retrieval, large memory capacity, ect. This paper analyzes the system requirements, describes the purpose and significance of system develop
4、ment, described the overall system design and database design, focusing on the various modules described in the detailed design methods and design process, and system implementation-related issues introduced.Keywords Song Request Management Management System System Design II目 錄1 緒論11.1 課題研究背景11.2 系統(tǒng)
5、開發(fā)的目的11.3 系統(tǒng)開發(fā)的意義11.4 系統(tǒng)開發(fā)的內(nèi)容12 相關(guān)技術(shù)分析22.1 C# 2.0技術(shù)22.2 Microsoft SQL Server技術(shù)22.3 MCI簡(jiǎn)介43 系統(tǒng)總體方案設(shè)計(jì)63.1 系統(tǒng)設(shè)計(jì)思想63.2 系統(tǒng)組成設(shè)計(jì)63.3 SQL Server 2005語言與數(shù)據(jù)庫的連接73.3.1 系統(tǒng)配置的實(shí)現(xiàn)73.3.2 數(shù)據(jù)庫交互的實(shí)現(xiàn)84 數(shù)據(jù)庫設(shè)計(jì)105 系統(tǒng)詳細(xì)設(shè)計(jì)125.1 點(diǎn)歌系統(tǒng)主界面設(shè)計(jì)125.1.1 界面設(shè)計(jì)125.1.2 代碼設(shè)計(jì)135.2 管理員設(shè)置設(shè)計(jì)185.2.1 界面設(shè)計(jì)195.2.2 代碼設(shè)計(jì)215.3 登錄設(shè)計(jì)245.3.1界面設(shè)計(jì)245.3.
6、2 代碼設(shè)計(jì)255.4 查詢?cè)O(shè)計(jì)255.4.1 界面設(shè)計(jì)255.4.2 代碼設(shè)計(jì)295.5 小票打印設(shè)計(jì)295.5.1 界面設(shè)計(jì)295.5.2 代碼設(shè)計(jì)316 系統(tǒng)測(cè)試與使用方法346.1 系統(tǒng)測(cè)試方法346.1.1 測(cè)試目的346.1.2 測(cè)試方法346.1.3 測(cè)試內(nèi)容346.2 軟件維護(hù)376.2.1 軟件維護(hù)的影響因素376.2.2 軟件的可維護(hù)性386.2.3 提高軟件可維護(hù)性的方法386.3 系統(tǒng)使用方法38結(jié)論40致謝41參考文獻(xiàn)42附錄43附錄1 英文文獻(xiàn)翻譯431. 英文432. 中文47附錄2 源代碼52771 緒論1.1 課題研究背景隨著人民生活水平的不斷提高,去KTV點(diǎn)
7、歌深受廣大消費(fèi)者的喜愛。點(diǎn)歌系統(tǒng)是為KTV場(chǎng)所開發(fā)的視頻歌曲點(diǎn)唱軟件。一個(gè)好的點(diǎn)歌管理軟件必須要擁有一個(gè)方便、快捷、準(zhǔn)確的點(diǎn)歌功能。該點(diǎn)歌管理系統(tǒng)軟件具有界面友好、操作簡(jiǎn)單等特點(diǎn)。開發(fā)的點(diǎn)歌系統(tǒng)具有以下功能:對(duì)點(diǎn)歌用戶,實(shí)現(xiàn)簡(jiǎn)單的播放和選歌功能;另外,對(duì)于管理員用戶,能夠?qū)崿F(xiàn)對(duì)歌庫的管理操作,包括對(duì)歌曲及歌手的增加、刪除;可以實(shí)現(xiàn)用戶的結(jié)賬付費(fèi)功能。1.2 系統(tǒng)開發(fā)的目的點(diǎn)歌管理系統(tǒng)主要是用來提高公司的管理水平,給消費(fèi)者更舒適的娛樂環(huán)境,它可以幫助消費(fèi)者更方便的查找自己喜歡的歌曲,更及時(shí)地查看歌庫所有歌曲。一款優(yōu)秀的點(diǎn)歌管理系統(tǒng),可以使消費(fèi)者的心情更愉快,使管理者的效率更高。1.3 系統(tǒng)開發(fā)的
8、意義隨著經(jīng)濟(jì)的發(fā)展,社會(huì)的進(jìn)步,計(jì)算機(jī)越來越深入到我們?nèi)粘5墓ぷ鲗W(xué)習(xí)及生活中,成為我們?nèi)粘I钪胁豢扇鄙俚妮o助工具。 隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。它已經(jīng)深入到日常工作和生活的方方面面,比如文字處理、信息管理、輔助設(shè)計(jì)、圖形圖像處理、教育培訓(xùn)以及游戲娛樂等。各行各業(yè)的人們無須經(jīng)過特別的訓(xùn)練就能夠使用電腦完成許許多多復(fù)雜的工作。1.4 系統(tǒng)開發(fā)的內(nèi)容隨著經(jīng)濟(jì)的發(fā)展,社會(huì)的進(jìn)步,計(jì)算機(jī)越來越深入到我們?nèi)粘5墓ぷ鲗W(xué)習(xí)及生活中,成為我們?nèi)粘I钪胁豢扇鄙俚妮o助工具。 隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成
9、熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。它已經(jīng)深入到日常工作和生活的方方面面,比如文字處理、信息管理、輔助設(shè)計(jì)、圖形圖像處理、教育培訓(xùn)以及游戲娛樂等。各行各業(yè)的人們無須經(jīng)過特別的訓(xùn)練就能夠使用電腦完成許許多多復(fù)雜的工作。然而,雖然現(xiàn)在世界上已經(jīng)充滿了多如牛毛的各種軟件,但它們依然不能滿足用戶的各種特殊需要,人們還不得不開發(fā)適合自己特殊需求的軟件。以前開發(fā)Windows應(yīng)用軟件是專業(yè)人員的工作,需要掌握許多專業(yè)知識(shí)和經(jīng)過特殊的培訓(xùn)才能勝任。現(xiàn)在我們使用C#也能夠開發(fā)出功能強(qiáng)大、適合自己特殊需求的應(yīng)用程序了。點(diǎn)歌管理系統(tǒng)是一個(gè)管理系統(tǒng),它是以工作C#作
10、為開發(fā)平臺(tái),以SQL Server 2005作為數(shù)據(jù)庫管理系統(tǒng),實(shí)現(xiàn)對(duì)后臺(tái)數(shù)據(jù)的存儲(chǔ)與管理。點(diǎn)歌管理系統(tǒng)主要用來實(shí)現(xiàn)歌曲播放、歌曲查詢、開戶點(diǎn)歌、管理員對(duì)歌曲的增加、刪除、對(duì)歌手的增加、刪除、打印小票等功能。2 相關(guān)技術(shù)分析2.1 C# 2.0技術(shù)C#語言是由兩位杰出的微軟工程師Anders Hejlsberg 和Scott Wiltamuth領(lǐng)導(dǎo)的小團(tuán)隊(duì)開發(fā)的。當(dāng)2000年7月微軟發(fā)布C#的時(shí)候,它的面世只是另一個(gè)影響大得多的事件:NET平臺(tái)發(fā)布的一部分。去掉偽裝,NET是運(yùn)行在現(xiàn)有操作系統(tǒng)之上的一個(gè)面向?qū)ο蟮牟僮飨到y(tǒng)。C#語言的簡(jiǎn)單讓人倍感輕松只有大約100個(gè)關(guān)鍵字和12種內(nèi)置數(shù)據(jù)類型,但
11、C#在實(shí)現(xiàn)現(xiàn)代編程概念的表達(dá)能力上卻非常強(qiáng)大。C#作為站在C+和Java這樣的世俗戶上的現(xiàn)代評(píng)議自然涵蓋了結(jié)構(gòu)化、基于組件 、面向?qū)ο缶幊痰乃兄С?。任何面向?qū)ο笤u(píng)議的核心在于對(duì)類的定義和使用的支持。類定義了新的類型,可以擴(kuò)展語言,更好地對(duì)要解決的問題建模。C#中有聲明新的類及其方法和屬性的關(guān)鍵字,還含有實(shí)現(xiàn)面向?qū)ο缶幊?大支柱封裝、繼承和多態(tài)的關(guān)鍵字。在C#中,與類的聲明有關(guān)的一切都可以聲明本身中找到。C#的類定義并不需要獨(dú)立的頭文件或IDL(Interface Definition Language,接口定義語言)文件。而且,C#支持新的XML風(fēng)格的內(nèi)嵌文檔,大大簡(jiǎn)化了應(yīng)用程序的在線和印刷
12、品參考文檔制作。C#還支持接口(Interface),一種與類就接口所指定的服務(wù)訂立協(xié)定(contract)的方式。在C#中,類只能從一個(gè)父類繼承,但可以實(shí)現(xiàn)多個(gè)接口。在實(shí)現(xiàn)接口時(shí),C#類實(shí)現(xiàn)上也承諾了要提供接口規(guī)定的功能1。需要注意的是,C#支持如下特性:(1) 使用C+式的指針直接訪問內(nèi)存(2) 將上述這種操作標(biāo)記為不安全(unsafe)的關(guān)鍵字(3) 警告CLR垃圾回收器在指針?biāo)玫膶?duì)象釋放前不要對(duì)其進(jìn)行回收2.2 Microsoft SQL Server技術(shù)SQL Server 2005 通過在可伸縮性、數(shù)據(jù)集成、開發(fā)工具和強(qiáng)大的分析等方面的革新更好的確立了微軟在BI領(lǐng)域的領(lǐng)導(dǎo)地位。
13、SQL Server 2005 能夠把關(guān)鍵的信息及時(shí)的傳遞到組織內(nèi)員工的手中,從而實(shí)現(xiàn)了可伸縮的商業(yè)智能。從CEO 到信息工作者,員工可以快速的、容易的處理數(shù)據(jù),以更快更好的做出決策2。SQL Server 2005全面的集成、分析和報(bào)表功能使企業(yè)能夠提高他們已有應(yīng)用的價(jià)值,即便這些應(yīng)用是在不同的平臺(tái)上。SQL Server 2005有幾個(gè)主要特性,重點(diǎn)關(guān)注企業(yè)數(shù)據(jù)管理、開發(fā)人員生產(chǎn)力和商務(wù)智能3。(1) 高可用性SQL Server 2005的失敗轉(zhuǎn)移集群和數(shù)據(jù)庫鏡像技術(shù)確保企業(yè)向員工、客戶和合作伙伴提交高度可靠和可用的應(yīng)用系統(tǒng)。(2) 管理工具SQL Server 2005引進(jìn)了一套集成的
14、管理工具和管理應(yīng)用編程接口(APIS),以提供易用性、可管理性、及對(duì)大型SQL Server配置的支持。(3) 安全性增強(qiáng)SQL Server 2005旨在通過數(shù)據(jù)庫加密、更加安全的默認(rèn)設(shè)置、加強(qiáng)的密碼政策和細(xì)化許可控制、及加強(qiáng)的安全模型等特性,為企業(yè)數(shù)據(jù)提供最高級(jí)別的安全性。(4) 可伸縮性SQL Server 2005可伸縮性的先進(jìn)性包括表格分區(qū)、復(fù)制能力的增強(qiáng)和64位。(5) Common Language Run time(CLR)集成SQL Server 2005引入了使用MicrosoftNET語言來開發(fā)數(shù)據(jù)庫目標(biāo)的性能。(6) 深入的XML集成SQL Server 2005提供一
15、種新的XML數(shù)據(jù)類型,使在SQL Server數(shù)據(jù)中存儲(chǔ)XML片段或文件成為可能4。數(shù)據(jù)庫管理有10個(gè)最重要的特點(diǎn)(1) 分析服務(wù)SQL SERVER 2005的分析服務(wù)邁入了實(shí)時(shí)分析的領(lǐng)域。從對(duì)可升級(jí)性性能的增強(qiáng)、到與微軟Office軟件的深度融合,SQL SERVER 2005將幫助您,將商業(yè)智能擴(kuò)展到您業(yè)務(wù)的每一個(gè)層次。(2) 數(shù)據(jù)傳輸服務(wù)(DTS)DTS數(shù)據(jù)傳輸服務(wù)是一套繪圖工具和可編程的對(duì)象,可以用這些工具和對(duì)象,對(duì)從截然不同來源而來的數(shù)據(jù)進(jìn)行摘錄、傳輸和加載(ETL),同時(shí)將其轉(zhuǎn)送到單獨(dú)或多個(gè)目的地5。SQL SERVER 2005將引進(jìn)一個(gè)完整的、數(shù)據(jù)傳輸服務(wù)、重新設(shè)計(jì)方案,這一
16、方案為用戶提供了一個(gè)全面的摘錄、傳輸和加載平臺(tái)。(3) 數(shù)據(jù)挖掘我們將引進(jìn)四個(gè)新的數(shù)據(jù)挖掘運(yùn)算法,改進(jìn)的工具和精靈,它們會(huì)使數(shù)據(jù)挖掘,對(duì)于任何規(guī)模的企業(yè)來說,都變得簡(jiǎn)單起來。(4) 報(bào)表服務(wù)在SQL SERVER 2005中,報(bào)表服務(wù)將為在線分析處理(OLAP)環(huán)境提供自我服務(wù)、創(chuàng)建最終用戶特別報(bào)告、增強(qiáng)查詢方面的開發(fā)水平,并為豐富和便于維護(hù)企業(yè)匯報(bào)環(huán)境,就允許升級(jí)方面,提供增進(jìn)的性能6。(5) 集群支持通過支持容錯(cuò)技術(shù)移轉(zhuǎn)叢集、增強(qiáng)對(duì)多重執(zhí)行個(gè)體的支持、以及支持備份和恢復(fù)分析服務(wù)對(duì)象和數(shù)據(jù),分析服務(wù)改進(jìn)了其可用性。(6) 主要運(yùn)行指標(biāo)主要運(yùn)行指標(biāo)(KPIS)為企業(yè)提供了新的功能,使其可以定義
17、圖表化的、可定制化的商業(yè)衡量標(biāo)準(zhǔn),以幫助公司制定和跟蹤主要的業(yè)務(wù)基準(zhǔn)。(7) 可伸縮性和性能并行分割處理,創(chuàng)建遠(yuǎn)程關(guān)系在線分析處理(ROLAP)或混合在線分析處理(HOLAP)分割,分布式分割單元,持續(xù)計(jì)算,和預(yù)制緩存等特性,極大地提升了SQL Server 2005中分析服務(wù)的可伸縮性和性能。(8) 單擊單元當(dāng)在一個(gè)數(shù)據(jù)倉庫中創(chuàng)建一個(gè)單元時(shí),單元向?qū)ㄒ粋€(gè)可以單擊單元檢測(cè)和建議的操作。(9) 預(yù)制緩存預(yù)制緩存將MOOLAP等級(jí)查詢運(yùn)行與實(shí)時(shí)數(shù)據(jù)分析合并到一起,排除了維護(hù)在線分析處理存儲(chǔ)的需要。顯而易見,預(yù)制緩存將數(shù)據(jù)的一個(gè)更新備份進(jìn)行同步操作,并對(duì)其進(jìn)行維護(hù),而這些數(shù)據(jù)是專門為調(diào)整查詢而
18、組織的、它們將最終用戶從超載的相關(guān)數(shù)據(jù)庫分離了出來。(10) 與Microsoft Office System集成在報(bào)表服務(wù)中,由報(bào)表服務(wù)器提供的報(bào)表能夠在Microsoft SharePoint門戶服務(wù)器和Microsoft Office System應(yīng)用軟件的環(huán)境中運(yùn)行,Office System應(yīng)用軟件其中包括Microsoft Word和Microsoft Excel7。您可以使用SharePoint功能,訂閱報(bào)表、建立新版本的報(bào)表,以及分發(fā)報(bào)表。還能夠在Word或Excel軟件中打開報(bào)表,觀看超文本連接標(biāo)示語言(HTML)版本的報(bào)表。2.3 MCI簡(jiǎn)介 MCI(Multimedia
19、Control Interface)是Windows系統(tǒng)定義的多媒體接口標(biāo)準(zhǔn),MCI接口包括了CDAudio(激光唱機(jī))、Scanner(圖像掃描儀)、VCR(磁帶錄像機(jī))、Videodisc(激光視盤機(jī))、DAT(數(shù)字化磁帶音頻播放機(jī))、Digital Video(窗口中的數(shù)字視頻)、Overlay(窗口中的模擬視頻疊加設(shè)備)、MMMovie(多媒體影片演播器)、Sequencer(MID音序設(shè)備)、WaveAudio(波形音頻設(shè)備)和Other(未定義的MCI設(shè)備)等多媒體的主要產(chǎn)品。MCI的最大優(yōu)點(diǎn)是應(yīng)用系統(tǒng)與設(shè)備的無關(guān)性,對(duì)于標(biāo)準(zhǔn)多媒體設(shè)備,安裝相應(yīng)的Windows的MCI Drive
20、r,Windows即可對(duì)該設(shè)備進(jìn)行操作訪問;對(duì)于非標(biāo)準(zhǔn)的多媒體設(shè)備,只要有廠家提供的MCI Driver也一樣可以操作。由于MCI的設(shè)備無關(guān)性,程序員在多媒體應(yīng)用系統(tǒng)的開發(fā)中,無需了解每種產(chǎn)品細(xì)節(jié),就能開發(fā)出通用的多媒體應(yīng)用系統(tǒng)。那么在C#.NET中如何使用MCI呢?它是通過C#.NET控件提供的功能來實(shí)現(xiàn)的。MCI控件是C#.NET提供的一個(gè)技件,可以使用它來管理媒體控制接口(MCI)設(shè)備,編寫多媒體應(yīng)用程序。MCI是ActiveX控件,一般情況下,該控件不出現(xiàn)在工具箱里,可以按照如下步驟將它加入到工具箱中:在工具箱中單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇選擇項(xiàng)命令,彈出選擇工具箱項(xiàng)對(duì)話框,在
21、COM組件選項(xiàng)卡中選中Microsoft Multimedia Control前的復(fù)選框,單擊確定按鈕即可將控件加入到工具箱中。當(dāng)將MCI控件加入到工具箱中后,可以將該控件拖曳到窗體上。該控件由一組執(zhí)行MCI命令的按鈕組成,與通常使用的錄放機(jī)上的按鈕類似。例如,單擊播放按鈕的事件是AxMMContyrol1_PlayClick。MCI控件在設(shè)計(jì)或運(yùn)行時(shí)可以是可見的或隱藏的,其按鈕功能也可以通過鼠標(biāo)Click事件重新定義。Windows API的多媒體和資源文件的高層控制MCI進(jìn)行封裝,使讀者不必研究MCI的內(nèi)部函數(shù),輕松調(diào)用API類的函數(shù),就能實(shí)現(xiàn)播放視頻文件。Windows已經(jīng)提供了一個(gè)關(guān)于
22、多媒體處理的動(dòng)態(tài)鏈接庫WINMM.DLL,并通過調(diào)用它所提供的API函數(shù),就可以使用MCI指令進(jìn)行多媒體方面的操作了。當(dāng)需要使用MCI按鈕功能時(shí),必須將該按鈕的屬性(Visible和Enabled)設(shè)為True;若不需要該按鈕時(shí),必須設(shè)置Visible屬性為False;若使該按鈕功能當(dāng)前無效時(shí),設(shè)置Enabled屬性為False。在Windows 2000或XP中,對(duì)各種多媒體設(shè)備提供了強(qiáng)有力的支持。MCI的全稱是Media Control Interface(多媒體控制接口),為各種多媒體設(shè)備,用MCI函數(shù)可以給上述的任何一種設(shè)備發(fā)出命令,告訴他們開始,結(jié)束,暫停,倒退,快進(jìn)等,就像按動(dòng)播放
23、器面版上的按鈕一樣。每一個(gè)設(shè)備的特殊命令依賴于設(shè)備本身的功能,例如可以讓波形音頻設(shè)備錄音等。實(shí)際上MCI是一個(gè)高級(jí)的函數(shù)調(diào)用接口,可以把它看作一個(gè)解釋器,通過它,就可以直接和外部音頻或視頻設(shè)備打交道了。3 系統(tǒng)總體方案設(shè)計(jì)3.1 系統(tǒng)設(shè)計(jì)思想點(diǎn)歌管理系統(tǒng)主要是用來管理數(shù)據(jù)庫內(nèi)的歌曲,并讓消費(fèi)者在可視界面下運(yùn)行軟件。所以,該系統(tǒng)需要實(shí)現(xiàn)以下功能。(1) 管理員能實(shí)現(xiàn)歌曲的添加、刪除;歌手的添加、刪除、歌手信息的修改。(2) 管理員設(shè)置房間的價(jià)格、會(huì)員卡的折扣等。(3) 消費(fèi)者能實(shí)現(xiàn)根據(jù)歌手地區(qū)、性別、歌手的拼音、歌曲名字?jǐn)?shù)、歌曲類別查詢。(4) 消費(fèi)者可以查看或編輯播放列表,也可以清空播放列表。
24、 其結(jié)構(gòu)如圖3-1所示。點(diǎn)歌管理系統(tǒng)管理員增加歌曲刪除歌曲增加歌手刪除歌手設(shè)置打折率消費(fèi)者按歌名查詢按歌手查詢按歌曲數(shù)查詢按歌手拼音查詢編輯播放列表按歌曲類型查詢?cè)O(shè)置包間價(jià)格打印小票圖3-1功能結(jié)構(gòu)圖使用點(diǎn)歌管理系統(tǒng)是為了提高管理效率及方便消費(fèi)者,所以該系統(tǒng)應(yīng)提供方便快捷的可視化界面,幫助用戶高效率的完成想要的操作。考慮這些因素,點(diǎn)歌管理系統(tǒng)應(yīng)達(dá)到以下目標(biāo):(1) 提供多條件查詢功能,方便用戶查詢歌庫內(nèi)的歌曲、歌手情況的各種數(shù)據(jù)。(2) 提供多條件查詢功能,方便用戶查詢指定歌曲、歌手的信息。(3) 提供快捷的播放功能,及時(shí)更新數(shù)據(jù)庫內(nèi)的數(shù)據(jù)。(4) 提供人性化的界面,能夠?yàn)橛脩籼峁┛焖俚牟樵儭?/p>
25、根據(jù)以上分析,一個(gè)標(biāo)準(zhǔn)的點(diǎn)歌管理系統(tǒng)應(yīng)該包括增加歌曲、刪除歌曲、增加歌手、刪除歌手、歌曲查詢、歌手查詢、拼音查詢、歌曲數(shù)查詢、單曲循環(huán)、全部循環(huán)等功能。 3.2 系統(tǒng)組成設(shè)計(jì)根據(jù)系統(tǒng)分析本系統(tǒng)主要共有5個(gè)查詢界面,主界面,打印結(jié)賬界面,登錄界面。(1) 歌手查詢歌手查詢模塊主要是用戶根據(jù)歌手的名稱來查詢歌庫內(nèi)歌曲。查詢時(shí),用戶可在文本框內(nèi)輸入想要查找的歌手,在該界面中的列表控件內(nèi)會(huì)列出此時(shí)數(shù)據(jù)庫內(nèi)的所有相關(guān)歌曲,雙擊選擇歌曲并添加到播放列表中。(2) 歌名查詢歌名查詢模塊主要是用戶根據(jù)歌曲的名稱來查詢歌庫內(nèi)歌曲。查詢時(shí),用戶可在文本框內(nèi)輸入想要查找的歌曲名稱,在該界面中的列表控件內(nèi)會(huì)列出此時(shí)數(shù)
26、據(jù)庫內(nèi)的所有相關(guān)歌曲,雙擊選擇歌曲并添加到播放列表中。(3) 歌曲名字?jǐn)?shù)查詢歌曲名字?jǐn)?shù)查詢模塊主要是用戶根據(jù)歌名數(shù)字查詢歌庫內(nèi)歌曲。查詢時(shí),用戶可在文本框內(nèi)輸入想要查找的數(shù)字,在列表框內(nèi)系統(tǒng)會(huì)列出此時(shí)數(shù)據(jù)庫內(nèi)所有相關(guān)歌曲,雙擊選擇歌曲并添加到播放列表中。(4) 歌手拼音查詢歌手拼音查詢模塊主要是用戶根據(jù)歌手的名稱來查詢歌庫內(nèi)歌曲。查詢時(shí),用戶可在文本框內(nèi)輸入拼音,獲取數(shù)據(jù)庫內(nèi)相關(guān)歌曲信息,雙擊選擇歌曲并添加到播放列表中。(5) 歌曲類型查詢?cè)撃K主要是通過下拉列表框選擇數(shù)據(jù)庫內(nèi)的歌曲,用戶點(diǎn)擊下拉箭頭時(shí),系統(tǒng)會(huì)自動(dòng)綁定此時(shí)數(shù)據(jù)內(nèi)己有的歌曲類型,用戶只要選擇,就會(huì)在列表框內(nèi)查找出此時(shí)歌庫內(nèi)相關(guān)歌
27、曲,雙擊選擇歌曲并添加到播放列表中。(6) 主界面該窗體用于管理員登錄與普通用戶點(diǎn)歌。管理員登錄時(shí),需點(diǎn)擊界面上方的登錄按鈕,正確操作后才可進(jìn)入管理員界面。普通用戶可以直接在該界面進(jìn)行點(diǎn)歌操作。(7) 登錄界面該窗體主要用于區(qū)別用戶類型,方便管理員操作數(shù)據(jù)庫數(shù)據(jù)。(8) 打印界面該窗體主要用于用戶結(jié)賬,選擇房間號(hào),系統(tǒng)自動(dòng)綁定相關(guān)信息,直接結(jié)賬或打印預(yù)覽。3.3 SQL Server 2005語言與數(shù)據(jù)庫的連接3.3.1 系統(tǒng)配置的實(shí)現(xiàn)系統(tǒng)設(shè)有配置文件DataOperate.ini,數(shù)據(jù)庫文件內(nèi)放置著系統(tǒng)連接時(shí)登錄名、密碼、數(shù)據(jù)庫名及可執(zhí)行文件名,從數(shù)據(jù)庫登陸的配置文件中讀取值并賦給全局變量。
28、讀取數(shù)據(jù)庫文件代碼如下:public static bool readDBInfo() try String strIniPath = System.Windows.Forms.Application.StartupPath + DataOperate.ini; if (File.Exists(strIniPath) ClsOperateIni myIniFile = new ClsOperateIni(strIniPath); ClsOverallVar.SetPattern(int.Parse(myIniFile.IniReadValue(DATA, Pattern); ClsOveral
29、lVar.SetServerName(myIniFile.IniReadValue(DATA, Server); ClsOverallVar.SetServerId(myIniFile.IniReadValue(DATA, Id); ClsOverallVar.SetServerPwd(myIniFile.IniReadValue(DATA, Pwd); ClsOverallVar.SetDBName(myIniFile.IniReadValue(DATA, DBName); return true; else return false; catch return false; 3.3.2 數(shù)
30、據(jù)庫交互的實(shí)現(xiàn) C#連接數(shù)據(jù)庫實(shí)現(xiàn): public static SqlConnection GetConnection() String strSource; if (ClsOverallVar.GetPattern() = 0) strSource = Server=.SQLEXPRESS;integrated security=SSPI;Initial Catalog= + ClsOverallVar.GetDBName() + ; else strSource = database= + ClsOverallVar.GetDBName() + ;Server= + ClsOverall
31、Var.GetServerName() + ;uid= + ClsOverallVar.GetServerId() + ; pwd= + ClsOverallVar.GetServerPwd() + ; SqlConnection myConn = new SqlConnection(strSource); myConn.Open(); myConn.Close(); return myConn; C#連接SQLServer數(shù)據(jù)庫需要導(dǎo)入額外的命名空間,所以有了最前面的兩條using命令,這是必不可少的! usingSystem.Data; usingSystem.Data.SqlClient
32、;strSource這個(gè)變量里存放的是連接數(shù)據(jù)庫所需要的連接字符串,他指定了要使用的數(shù)據(jù)提供者和要使用的數(shù)據(jù)源。GetServerName()、 GetServerId()、GetServerPwd()都是直接從ini文件中讀取的,這里的GetPattern()值有兩個(gè),”0”和”1”,其中0表示本地登錄,1表示遠(yuǎn)程登錄。使用本地登錄還是遠(yuǎn)程登錄只需在系統(tǒng)可執(zhí)行文件夾下找到DataOperate.ini配置文件,修改里面的相關(guān)文件即可實(shí)現(xiàn)相應(yīng)的數(shù)據(jù)庫的連接。部分代碼如下: ClsDataContact.readDBInfo(); 若為本地連接,則此處的“initial catalog=”+cl
33、soverallvar.getdbname()+”:使用的數(shù)據(jù)源則為“Music”這個(gè)數(shù)據(jù)庫。在這里,建立連接對(duì)象用的構(gòu)造函數(shù)為:SqlConnection。由于系統(tǒng)頻繁的調(diào)用數(shù)據(jù)庫,而對(duì)數(shù)據(jù)的操作分為查找數(shù)據(jù)和更新數(shù)據(jù)操作兩種,更新數(shù)據(jù)時(shí)不需要返回值,所以系統(tǒng)利用DBOperation類封裝了對(duì)數(shù)據(jù)庫操作的方法,以提供統(tǒng)一的數(shù)據(jù)庫操作接口8。利用DBOperation類GetDataTableBySql方法可以進(jìn)行查找數(shù)據(jù)函數(shù)返回一個(gè)DataTable表,DoSqlString方法可以執(zhí)行一個(gè)SQL語句,進(jìn)行插入、刪除、修改操作。4 數(shù)據(jù)庫設(shè)計(jì) 本系統(tǒng)數(shù)據(jù)庫包括管理員表、歌曲信息表、歌手信息
34、表、包間類型表、折率表、開戶點(diǎn)歌表及用戶播放列表。(1) 管理員表(admin)管理員表主要包括管理員名稱及密碼。表結(jié)構(gòu)如表4-1所示。表4-1 管理員表字段名稱含義數(shù)據(jù)類型可否為空Admin用戶名稱Varchar(50)NOadminpwd起始日期varchar(50)NO(2) 歌曲信息表(musiclist)歌曲信息表主要包括歌曲名稱、歌曲內(nèi)碼、歌手名、歌曲名字?jǐn)?shù)、歌曲類別、歌曲類型、歌曲存儲(chǔ)路徑。表結(jié)構(gòu)如表4-2所示。表4-2 歌曲信息表字段名稱含義數(shù)據(jù)類型可否為空Gsname歌手名稱varchar(50)NOGqname歌曲名稱varchar(50)NOGqnum歌曲數(shù)varchar
35、(50)NOGqtype歌曲類別varchar(50)NOFormat歌曲類型varchar(50)NOPath歌曲路徑varchar(200)NOGqlogo歌曲內(nèi)碼intNO(3) 歌手信息表(singer)歌手信息表主要是存放歌手個(gè)人信息,便于用戶采用不同類型的查詢。表結(jié)構(gòu)如表4-3所示。表4-3 歌手信息表字段名稱含義數(shù)據(jù)類型可否為空Sinnam歌手名稱varchar(50)NOSinsex歌手性別varchar(50)NOSpinyin歌手拼音varchar(50)NOSinarea歌手地區(qū)varchar(50)NOSlogo歌曲內(nèi)碼IntNO(4) 包間類型表(room)包間類型表
36、主要是存放包間價(jià)格、時(shí)間、包間類型,包間類碼。表結(jié)構(gòu)如表4-4所示。表4-4 包間類型表字段名稱含義數(shù)據(jù)類型可否為空roomtype包間類型varchar(50)YESPrice包間價(jià)格varchar(50)YESTime時(shí)間varchar(50)YESroomlogo包間類碼varchar(50)NO(5) 折率表(abate)打折率表主要是存放管理員設(shè)置的會(huì)員率、會(huì)員類型、會(huì)員類碼。表結(jié)構(gòu)如表4-5所示。表4-5折率表字段名稱含義數(shù)據(jù)類型可否為空cardtype會(huì)員級(jí)別varchar(50)YESAbate打折率varchar(50)YESViplogo會(huì)員內(nèi)碼varchar(50)NO(
37、6) 開戶點(diǎn)歌表(money)開戶點(diǎn)歌表主要用于存放用戶消費(fèi)時(shí)選擇的包間類型、用戶的會(huì)員等級(jí)、充值、開戶時(shí)間及房間號(hào)。表結(jié)構(gòu)如表4-6所示。表4-6開戶點(diǎn)歌表字段名稱含義數(shù)據(jù)類型可否為空roomnum房間號(hào)nvarchar(50)YESroomtype包間類型nvarchar(50)YEScardtype會(huì)員等級(jí)nvarchar(50)YESMoney充值金額FloatYESuserlogo用戶內(nèi)碼IntNOUncost消費(fèi)金額nvarchar(50)YESbegintime開始時(shí)間DatetimeYES(7) 用戶播放列表(likemusic)用戶播放列表主要方便用戶存放自己喜歡的歌曲,其中
38、包括歌曲名、歌手名、歌曲類型、歌曲名稱數(shù)及歌曲路徑。表結(jié)構(gòu)如表4-7所示。表4-7用戶播放列表字段名稱含義數(shù)據(jù)類型可否為空gsname歌手名稱varchar(50)NOgqname歌曲名稱varchar(50)NOGqnum歌曲數(shù)varchar(50)NOGqtype歌曲類別varchar(50)NOPath歌曲路徑varchar(200)NOGqlogo歌曲內(nèi)碼IntNO(8) 歌曲類型表(type)表4-8歌曲類型表字段名稱含義數(shù)據(jù)類型可否為空Lxlogo類型內(nèi)碼Int NOLxname類型名稱nvarchar(50)YES5 系統(tǒng)詳細(xì)設(shè)計(jì)5.1 點(diǎn)歌系統(tǒng)主界面設(shè)計(jì)5.1.1 界面設(shè)計(jì)點(diǎn)歌
39、系統(tǒng)主窗體是用來播放數(shù)據(jù)庫內(nèi)歌曲。主要可以實(shí)現(xiàn)用戶對(duì)列表框內(nèi)的歌曲進(jìn)行下一首、上一首、增加音量、減小音量、快進(jìn)、快退、全屏功能。管理員登錄時(shí)的數(shù)據(jù)庫操作及開戶點(diǎn)歌功能??梢圆シ诺囊魳犯袷接衜p3,wmv,wma格式,雙擊列表框內(nèi)的歌曲進(jìn)行歌曲的播放。根據(jù)點(diǎn)歌系統(tǒng)主界面所要實(shí)現(xiàn)的功能,需要在界面上添加如下控件:windows media player,skinEngine,timer,toolstrip,button(按鈕)控件。上一首按鈕,就是為了實(shí)現(xiàn)上一首歌曲的播放;下一首按鈕為了實(shí)現(xiàn)下一首歌曲的播放;增加音量按鈕,就是為實(shí)現(xiàn)音量的增加;減小音量按鈕,就是為了實(shí)現(xiàn)音量的增加,快進(jìn)按鈕是為了實(shí)
40、現(xiàn)快進(jìn)播放功能;快退按鈕是為了實(shí)現(xiàn)快退功能;skinEngine是為了使界面運(yùn)行時(shí)更美觀。toolstrip控件是為了區(qū)別普通用戶與管理員的登錄。全屏按鈕,就是為了實(shí)現(xiàn)屏幕的全屏播放,按歌曲查詢按鈕用來實(shí)現(xiàn)用戶能夠根據(jù)歌曲名稱查詢歌庫內(nèi)的歌曲,并雙擊選擇歌曲添加到用戶播放列表。其它控件可類似。各主要控件的屬性如表5-1所示。表5-1點(diǎn)歌系統(tǒng)主窗體主要控件屬性控件屬性屬性值點(diǎn)歌系統(tǒng)(Form1)NameForm1Text點(diǎn)歌系統(tǒng)Windows media playerNamemyplayerURLnullButton1Text上一首Button2Text下一首Button3Text增加音量But
41、ton4Text減小音量Button5Text快進(jìn)Button6Text快退 0) myplayer.currentMedia=myplayer .newMedia (listView1 .SelectedItems 0.SubItems 3.Text ); string fname = this.listView1.SelectedItems0.SubItems3.Text; myplayer.URL = fname; this.button9.Text = 暫停; timer1.Enabled = true; (2) 當(dāng)用戶當(dāng)擊上一首按鈕時(shí),系統(tǒng)將先判斷當(dāng)前選擇行是不是第一行,如果為第一行
42、則手動(dòng)設(shè)置列表框中的最后一行下標(biāo)為當(dāng)前選中行,并設(shè)置其可見狀態(tài),可以讓用戶知道當(dāng)前選中的歌曲,最后實(shí)現(xiàn)上一首歌曲的播放,代碼如下:private void button1_Click(System.Object sender, System.EventArgs e)/上一首 int a = this.listView1.Items.Count - 1; try if(this.listView1.SelectedItems.Count0&this.listView1.Items.Count 0) if (listView1.SelectedItems0.Index 1 & this.listV
43、iew1 .SelectedItems 0.Index 0) index = listView1.SelectedItems0.Index;myplayer.URL=listView1.ItemslistView1.SelectedItems0.Index-1.SubItems3.Text; listView1.Itemsindex.Selected = false; listView1.Itemsindex - 1.Selected = true; listView1.Focus(); else listView1.Items 0.Selected = false; listView1.It
44、emsa .Selected = true; listView1.Focus(); myplayer.URL=this.listView1.Itemsa.SubItems3.Text; else MessageBox.Show(列表中沒有歌曲!); catch (3) 當(dāng)用戶當(dāng)擊下一首按鈕時(shí),系統(tǒng)將先判斷當(dāng)前選擇的行是不是最后一行,如果為最后一行則手動(dòng)設(shè)置列表框中的第一行為當(dāng)前選中行,并設(shè)置其可見狀態(tài),可以讓用戶知道當(dāng)前選中的歌曲,然后再實(shí)現(xiàn)下一首歌曲的播放,代碼如下:int index = 0; private void button2_Click(System.Object sender,
45、 System.EventArgs e) try if (this.listView1.SelectedItems.Count 0 & this.listView1.Items.Count 0) if(listView1.SelectedItems0.Index 1) index = listView1.SelectedItems0.Index; myplayer.URL = listView1.Itemsindex + 1.SubItems3.Text; listView1.Itemsindex.Selected = false; listView1.Itemsindex + 1.Selec
46、ted = true; listView1.Focus(); else listView1.SelectedItems0.Selected = false; listView1.Items0.Selected = true; listView1.Focus(); myplayer.URL = this.listView1.Items0.SubItems3.Text; else MessageBox.Show(列表中沒有歌曲!); catch (4) 當(dāng)用戶當(dāng)擊增加音量按鈕時(shí),系統(tǒng)會(huì)調(diào)用播放器控件的增加音量事件,使播放器增加音量,部分代碼如下:keybd_event(175, 0, 0, 0);
47、/增加音量(5) 當(dāng)用戶單擊減小音量按鈕時(shí),系統(tǒng)會(huì)調(diào)用播放器控件的減小音量事件,使播放器降低音量,部分代碼如下:keybd_event(174, 0, 0, 0);(6) 當(dāng)用戶單擊快進(jìn)按鈕時(shí),系統(tǒng)調(diào)用播放器控件的fastForward()方法,使播放器實(shí)現(xiàn)快進(jìn)的功能,部分代碼如下:myplayer.Ctlcontrols.fastForward();/快進(jìn)(7) 當(dāng)用戶單擊快退按鈕時(shí),系統(tǒng)調(diào)用windows media player 控件的fashReverse()方法,使播放器實(shí)現(xiàn)快退的功能,部分代碼如下:myplayer.Ctlcontrols.fastReverse();(8) 當(dāng)用戶
48、單擊停止按鈕時(shí),系統(tǒng)調(diào)用播放器控件的stop()方法,并且停止時(shí)間控件的運(yùn)行,使其可用狀態(tài)設(shè)為false,手動(dòng)拖動(dòng)條值設(shè)為0,使播放器實(shí)現(xiàn)停止播放的功能,部分代碼如下:timer1.Enabled = false;myplayer.Ctlcontrols.stop();trackBar1.Value = 0;button9.Text = 播放;(9) 用戶單擊按歌曲類別查詢時(shí),將彈出歌曲類別查詢窗體。本系統(tǒng)設(shè)計(jì)了一個(gè)歌曲類別查詢界面,以區(qū)別于各種不同的查詢,方便操作。界面查詢時(shí),用戶只需要從數(shù)據(jù)庫中選擇己有的歌曲類別查詢就可以看到當(dāng)前數(shù)據(jù)庫表中己有的歌曲信息,而不需用戶手動(dòng)填寫歌曲類別。部分代
49、碼如下:Form frm = new FrmSongType();frm.ShowDialog();return;(10) 當(dāng)用戶單擊按歌手查詢時(shí),系統(tǒng)將彈出歌手查詢窗體。本系統(tǒng)同時(shí)設(shè)計(jì)了歌手查詢界面,以區(qū)別于各種不同查詢,方便操作。界面查詢時(shí),用戶需要在文本框內(nèi)輸入想要查詢的歌手名稱,為了實(shí)現(xiàn)高效率查詢,在設(shè)計(jì)查詢語句時(shí),采用的是模糊查詢,這樣,如果用戶只記得歌手名稱中某一個(gè)字,也可以查到相應(yīng)的數(shù)據(jù)。部分代碼如下:Form frm = new FrmName ();frm.ShowDialog();return;(11) 當(dāng)用戶單擊按拼音查詢時(shí),系統(tǒng)將彈出拼音查詢窗體。本系統(tǒng)同時(shí)設(shè)計(jì)了歌手拼音查詢界面,以區(qū)別于各種不同查詢,方便操作。界面查詢時(shí),用戶需要在文本框內(nèi)輸入想要查詢的歌手的拼音,為了實(shí)現(xiàn)高效率查詢,在設(shè)計(jì)查詢語句時(shí),采用的是模糊查詢,不區(qū)分大小寫,盡管系統(tǒng)在自動(dòng)生成時(shí),歌手拼音的首字母是大寫的,但是查詢的時(shí)候不影響功能的使用。這樣設(shè)計(jì),只為了可以盡可能快地查到數(shù)據(jù)庫中相關(guān)數(shù)據(jù)。部分代碼如下:Form frm = new Frmpinyin();frm.ShowDialog();return;(12) 當(dāng)用戶單擊按歌曲名稱查詢時(shí),系統(tǒng)彈出歌曲名稱查詢窗體。本系統(tǒng)同時(shí)設(shè)計(jì)了歌曲名稱查詢界面,以區(qū)別于各種不同查詢,方便操作。界面查詢時(shí),用戶需要在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度企業(yè)財(cái)務(wù)重組與破產(chǎn)清算服務(wù)合同3篇
- 2025年度智慧家居系統(tǒng)搭建與智能家居服務(wù)合同4篇
- 二零二五年度工業(yè)用地出租合同書
- 2025年度門診醫(yī)生競(jìng)業(yè)限制與醫(yī)療技術(shù)保密協(xié)議
- 二零二五版財(cái)產(chǎn)分割離婚協(xié)議含離婚后財(cái)產(chǎn)增值監(jiān)控機(jī)制2篇
- 2025年度新型木結(jié)構(gòu)建筑木工安裝專業(yè)合同書4篇
- 二零二五年度商用美的中央空調(diào)銷售與綜合維護(hù)服務(wù)合同4篇
- 二零二五年度交通事故債務(wù)財(cái)產(chǎn)分割與債務(wù)賠償協(xié)議3篇
- 2025年個(gè)人意外傷害保險(xiǎn)代繳服務(wù)合同樣本4篇
- 二零二五年度房地產(chǎn)企業(yè)股權(quán)托管及運(yùn)營合同
- 2024年人教版小學(xué)三年級(jí)信息技術(shù)(下冊(cè))期末試卷附答案
- TB 10012-2019 鐵路工程地質(zhì)勘察規(guī)范
- 新蘇教版三年級(jí)下冊(cè)科學(xué)全冊(cè)知識(shí)點(diǎn)(背誦用)
- 鄉(xiāng)鎮(zhèn)風(fēng)控維穩(wěn)應(yīng)急預(yù)案演練
- 腦梗死合并癲癇病人的護(hù)理查房
- 蘇教版四年級(jí)上冊(cè)脫式計(jì)算300題及答案
- 犯罪現(xiàn)場(chǎng)保護(hù)培訓(xùn)課件
- 扣款通知單 采購部
- 電除顫操作流程圖
- 湖北教育出版社三年級(jí)下冊(cè)信息技術(shù)教案
- 設(shè)計(jì)基礎(chǔ)全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論