版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計(論文)媒體音樂播放器的設(shè)計與實現(xiàn)學(xué)生學(xué)號學(xué)生姓名學(xué)院名稱專業(yè)名稱指導(dǎo)教師年月日 摘要為了更好的豐富人們的業(yè)余文化生活,提高歌廳管理水平,為消費者提供更加舒適、便利的娛樂環(huán)境,筆者設(shè)計并實現(xiàn)了一個點歌管理系統(tǒng)。該系統(tǒng)以C#作為開發(fā)語言。該系統(tǒng)具有界面友好、操作方便、檢索迅速、存儲量大等特點。本文對系統(tǒng)的需求進行了分析,敘述了系統(tǒng)開發(fā)的目的和意義,闡述了系統(tǒng)的總體方案設(shè)計和數(shù)據(jù)庫設(shè)計,重點敘述了各個模塊的詳細設(shè)計方法與設(shè)計過程,并對系統(tǒng)實施的相關(guān)問題作了介紹。關(guān)鍵詞 點歌管理系統(tǒng);管理系統(tǒng);系統(tǒng)設(shè)計;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 目 錄1 緒論11.1 課題研究背景11.2 系統(tǒng)開發(fā)
5、的目的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簡介43 系統(tǒng)總體方案設(shè)計63.1 系統(tǒng)設(shè)計思想63.2 系統(tǒng)組成設(shè)計63.3 SQL Server 2005語言與數(shù)據(jù)庫的連接73.3.1 系統(tǒng)配置的實現(xiàn)73.3.2 數(shù)據(jù)庫交互的實現(xiàn)84 數(shù)據(jù)庫設(shè)計105 系統(tǒng)詳細設(shè)計125.1 點歌系統(tǒng)主界面設(shè)計125.1.1 界面設(shè)計125.1.2 代碼設(shè)計135.2 管理員設(shè)置設(shè)計185.2.1 界面設(shè)計195.2.2 代碼設(shè)計215.3 登錄設(shè)計245.3.1界面設(shè)計245.3.2
6、代碼設(shè)計255.4 查詢設(shè)計255.4.1 界面設(shè)計255.4.2 代碼設(shè)計295.5 小票打印設(shè)計295.5.1 界面設(shè)計295.5.2 代碼設(shè)計316 系統(tǒng)測試與使用方法346.1 系統(tǒng)測試方法346.1.1 測試目的346.1.2 測試方法346.1.3 測試內(nèi)容346.2 軟件維護376.2.1 軟件維護的影響因素376.2.2 軟件的可維護性386.2.3 提高軟件可維護性的方法386.3 系統(tǒng)使用方法38結(jié)論40致謝41參考文獻42附錄43附錄1 英文文獻翻譯431. 英文432. 中文47附錄2 源代碼521 緒論1.1 課題研究背景隨著人民生活水平的不斷提高,去KTV點歌深受廣
7、大消費者的喜愛。點歌系統(tǒng)是為KTV場所開發(fā)的視頻歌曲點唱軟件。一個好的點歌管理軟件必須要擁有一個方便、快捷、準(zhǔn)確的點歌功能。該點歌管理系統(tǒng)軟件具有界面友好、操作簡單等特點。開發(fā)的點歌系統(tǒng)具有以下功能:對點歌用戶,實現(xiàn)簡單的播放和選歌功能;另外,對于管理員用戶,能夠?qū)崿F(xiàn)對歌庫的管理操作,包括對歌曲及歌手的增加、刪除;可以實現(xiàn)用戶的結(jié)賬付費功能。1.2 系統(tǒng)開發(fā)的目的點歌管理系統(tǒng)主要是用來提高公司的管理水平,給消費者更舒適的娛樂環(huán)境,它可以幫助消費者更方便的查找自己喜歡的歌曲,更及時地查看歌庫所有歌曲。一款優(yōu)秀的點歌管理系統(tǒng),可以使消費者的心情更愉快,使管理者的效率更高。1.3 系統(tǒng)開發(fā)的意義隨著
8、經(jīng)濟的發(fā)展,社會的進步,計算機越來越深入到我們?nèi)粘5墓ぷ鲗W(xué)習(xí)及生活中,成為我們?nèi)粘I钪胁豢扇鄙俚妮o助工具。 隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。它已經(jīng)深入到日常工作和生活的方方面面,比如文字處理、信息管理、輔助設(shè)計、圖形圖像處理、教育培訓(xùn)以及游戲娛樂等。各行各業(yè)的人們無須經(jīng)過特別的訓(xùn)練就能夠使用電腦完成許許多多復(fù)雜的工作。1.4 系統(tǒng)開發(fā)的內(nèi)容隨著經(jīng)濟的發(fā)展,社會的進步,計算機越來越深入到我們?nèi)粘5墓ぷ鲗W(xué)習(xí)及生活中,成為我們?nèi)粘I钪胁豢扇鄙俚妮o助工具。 隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成熟,其強
9、大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。它已經(jīng)深入到日常工作和生活的方方面面,比如文字處理、信息管理、輔助設(shè)計、圖形圖像處理、教育培訓(xùn)以及游戲娛樂等。各行各業(yè)的人們無須經(jīng)過特別的訓(xùn)練就能夠使用電腦完成許許多多復(fù)雜的工作。然而,雖然現(xiàn)在世界上已經(jīng)充滿了多如牛毛的各種軟件,但它們依然不能滿足用戶的各種特殊需要,人們還不得不開發(fā)適合自己特殊需求的軟件。以前開發(fā)Windows應(yīng)用軟件是專業(yè)人員的工作,需要掌握許多專業(yè)知識和經(jīng)過特殊的培訓(xùn)才能勝任?,F(xiàn)在我們使用C#也能夠開發(fā)出功能強大、適合自己特殊需求的應(yīng)用程序了。點歌管理系統(tǒng)是一個管理系統(tǒng),它是以工作C#作為開發(fā)平
10、臺,以SQL Server 2005作為數(shù)據(jù)庫管理系統(tǒng),實現(xiàn)對后臺數(shù)據(jù)的存儲與管理。點歌管理系統(tǒng)主要用來實現(xiàn)歌曲播放、歌曲查詢、開戶點歌、管理員對歌曲的增加、刪除、對歌手的增加、刪除、打印小票等功能。2 相關(guān)技術(shù)分析2.1 C# 2.0技術(shù)C#語言是由兩位杰出的微軟工程師Anders Hejlsberg 和Scott Wiltamuth領(lǐng)導(dǎo)的小團隊開發(fā)的。當(dāng)2000年7月微軟發(fā)布C#的時候,它的面世只是另一個影響大得多的事件:NET平臺發(fā)布的一部分。去掉偽裝,NET是運行在現(xiàn)有操作系統(tǒng)之上的一個面向?qū)ο蟮牟僮飨到y(tǒng)。C#語言的簡單讓人倍感輕松只有大約100個關(guān)鍵字和12種內(nèi)置數(shù)據(jù)類型,但C#在實
11、現(xiàn)現(xiàn)代編程概念的表達能力上卻非常強大。C#作為站在C+和Java這樣的世俗戶上的現(xiàn)代評議自然涵蓋了結(jié)構(gòu)化、基于組件 、面向?qū)ο缶幊痰乃兄С帧H魏蚊嫦驅(qū)ο笤u議的核心在于對類的定義和使用的支持。類定義了新的類型,可以擴展語言,更好地對要解決的問題建模。C#中有聲明新的類及其方法和屬性的關(guān)鍵字,還含有實現(xiàn)面向?qū)ο缶幊?大支柱封裝、繼承和多態(tài)的關(guān)鍵字。在C#中,與類的聲明有關(guān)的一切都可以聲明本身中找到。C#的類定義并不需要獨立的頭文件或IDL(Interface Definition Language,接口定義語言)文件。而且,C#支持新的XML風(fēng)格的內(nèi)嵌文檔,大大簡化了應(yīng)用程序的在線和印刷品參考文
12、檔制作。C#還支持接口(Interface),一種與類就接口所指定的服務(wù)訂立協(xié)定(contract)的方式。在C#中,類只能從一個父類繼承,但可以實現(xiàn)多個接口。在實現(xiàn)接口時,C#類實現(xiàn)上也承諾了要提供接口規(guī)定的功能1。需要注意的是,C#支持如下特性:(1) 使用C+式的指針直接訪問內(nèi)存(2) 將上述這種操作標(biāo)記為不安全(unsafe)的關(guān)鍵字(3) 警告CLR垃圾回收器在指針?biāo)玫膶ο筢尫徘安灰獙ζ溥M行回收2.2 Microsoft SQL Server技術(shù)SQL Server 2005 通過在可伸縮性、數(shù)據(jù)集成、開發(fā)工具和強大的分析等方面的革新更好的確立了微軟在BI領(lǐng)域的領(lǐng)導(dǎo)地位。SQL
13、Server 2005 能夠把關(guān)鍵的信息及時的傳遞到組織內(nèi)員工的手中,從而實現(xiàn)了可伸縮的商業(yè)智能。從CEO 到信息工作者,員工可以快速的、容易的處理數(shù)據(jù),以更快更好的做出決策2。SQL Server 2005全面的集成、分析和報表功能使企業(yè)能夠提高他們已有應(yīng)用的價值,即便這些應(yīng)用是在不同的平臺上。SQL Server 2005有幾個主要特性,重點關(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引進了一套集成的管理工具
14、和管理應(yīng)用編程接口(APIS),以提供易用性、可管理性、及對大型SQL Server配置的支持。(3) 安全性增強SQL Server 2005旨在通過數(shù)據(jù)庫加密、更加安全的默認設(shè)置、加強的密碼政策和細化許可控制、及加強的安全模型等特性,為企業(yè)數(shù)據(jù)提供最高級別的安全性。(4) 可伸縮性SQL Server 2005可伸縮性的先進性包括表格分區(qū)、復(fù)制能力的增強和64位。(5) Common Language Run time(CLR)集成SQL Server 2005引入了使用MicrosoftNET語言來開發(fā)數(shù)據(jù)庫目標(biāo)的性能。(6) 深入的XML集成SQL Server 2005提供一種新的X
15、ML數(shù)據(jù)類型,使在SQL Server數(shù)據(jù)中存儲XML片段或文件成為可能4。數(shù)據(jù)庫管理有10個最重要的特點(1) 分析服務(wù)SQL SERVER 2005的分析服務(wù)邁入了實時分析的領(lǐng)域。從對可升級性性能的增強、到與微軟Office軟件的深度融合,SQL SERVER 2005將幫助您,將商業(yè)智能擴展到您業(yè)務(wù)的每一個層次。(2) 數(shù)據(jù)傳輸服務(wù)(DTS)DTS數(shù)據(jù)傳輸服務(wù)是一套繪圖工具和可編程的對象,可以用這些工具和對象,對從截然不同來源而來的數(shù)據(jù)進行摘錄、傳輸和加載(ETL),同時將其轉(zhuǎn)送到單獨或多個目的地5。SQL SERVER 2005將引進一個完整的、數(shù)據(jù)傳輸服務(wù)、重新設(shè)計方案,這一方案為用
16、戶提供了一個全面的摘錄、傳輸和加載平臺。(3) 數(shù)據(jù)挖掘我們將引進四個新的數(shù)據(jù)挖掘運算法,改進的工具和精靈,它們會使數(shù)據(jù)挖掘,對于任何規(guī)模的企業(yè)來說,都變得簡單起來。(4) 報表服務(wù)在SQL SERVER 2005中,報表服務(wù)將為在線分析處理(OLAP)環(huán)境提供自我服務(wù)、創(chuàng)建最終用戶特別報告、增強查詢方面的開發(fā)水平,并為豐富和便于維護企業(yè)匯報環(huán)境,就允許升級方面,提供增進的性能6。(5) 集群支持通過支持容錯技術(shù)移轉(zhuǎn)叢集、增強對多重執(zhí)行個體的支持、以及支持備份和恢復(fù)分析服務(wù)對象和數(shù)據(jù),分析服務(wù)改進了其可用性。(6) 主要運行指標(biāo)主要運行指標(biāo)(KPIS)為企業(yè)提供了新的功能,使其可以定義圖表化的
17、、可定制化的商業(yè)衡量標(biāo)準(zhǔn),以幫助公司制定和跟蹤主要的業(yè)務(wù)基準(zhǔn)。(7) 可伸縮性和性能并行分割處理,創(chuàng)建遠程關(guān)系在線分析處理(ROLAP)或混合在線分析處理(HOLAP)分割,分布式分割單元,持續(xù)計算,和預(yù)制緩存等特性,極大地提升了SQL Server 2005中分析服務(wù)的可伸縮性和性能。(8) 單擊單元當(dāng)在一個數(shù)據(jù)倉庫中創(chuàng)建一個單元時,單元向?qū)ㄒ粋€可以單擊單元檢測和建議的操作。(9) 預(yù)制緩存預(yù)制緩存將MOOLAP等級查詢運行與實時數(shù)據(jù)分析合并到一起,排除了維護在線分析處理存儲的需要。顯而易見,預(yù)制緩存將數(shù)據(jù)的一個更新備份進行同步操作,并對其進行維護,而這些數(shù)據(jù)是專門為調(diào)整查詢而組織的、
18、它們將最終用戶從超載的相關(guān)數(shù)據(jù)庫分離了出來。(10) 與Microsoft Office System集成在報表服務(wù)中,由報表服務(wù)器提供的報表能夠在Microsoft SharePoint門戶服務(wù)器和Microsoft Office System應(yīng)用軟件的環(huán)境中運行,Office System應(yīng)用軟件其中包括Microsoft Word和Microsoft Excel7。您可以使用SharePoint功能,訂閱報表、建立新版本的報表,以及分發(fā)報表。還能夠在Word或Excel軟件中打開報表,觀看超文本連接標(biāo)示語言(HTML)版本的報表。2.3 MCI簡介 MCI(Multimedia Cont
19、rol Interface)是Windows系統(tǒng)定義的多媒體接口標(biāo)準(zhǔn),MCI接口包括了CDAudio(激光唱機)、Scanner(圖像掃描儀)、VCR(磁帶錄像機)、Videodisc(激光視盤機)、DAT(數(shù)字化磁帶音頻播放機)、Digital Video(窗口中的數(shù)字視頻)、Overlay(窗口中的模擬視頻疊加設(shè)備)、MMMovie(多媒體影片演播器)、Sequencer(MID音序設(shè)備)、WaveAudio(波形音頻設(shè)備)和Other(未定義的MCI設(shè)備)等多媒體的主要產(chǎn)品。MCI的最大優(yōu)點是應(yīng)用系統(tǒng)與設(shè)備的無關(guān)性,對于標(biāo)準(zhǔn)多媒體設(shè)備,安裝相應(yīng)的Windows的MCI Driver,Wi
20、ndows即可對該設(shè)備進行操作訪問;對于非標(biāo)準(zhǔn)的多媒體設(shè)備,只要有廠家提供的MCI Driver也一樣可以操作。由于MCI的設(shè)備無關(guān)性,程序員在多媒體應(yīng)用系統(tǒng)的開發(fā)中,無需了解每種產(chǎn)品細節(jié),就能開發(fā)出通用的多媒體應(yīng)用系統(tǒng)。那么在C#.NET中如何使用MCI呢?它是通過C#.NET控件提供的功能來實現(xiàn)的。MCI控件是C#.NET提供的一個技件,可以使用它來管理媒體控制接口(MCI)設(shè)備,編寫多媒體應(yīng)用程序。MCI是ActiveX控件,一般情況下,該控件不出現(xiàn)在工具箱里,可以按照如下步驟將它加入到工具箱中:在工具箱中單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇選擇項命令,彈出選擇工具箱項對話框,在COM組
21、件選項卡中選中Microsoft Multimedia Control前的復(fù)選框,單擊確定按鈕即可將控件加入到工具箱中。當(dāng)將MCI控件加入到工具箱中后,可以將該控件拖曳到窗體上。該控件由一組執(zhí)行MCI命令的按鈕組成,與通常使用的錄放機上的按鈕類似。例如,單擊播放按鈕的事件是AxMMContyrol1_PlayClick。MCI控件在設(shè)計或運行時可以是可見的或隱藏的,其按鈕功能也可以通過鼠標(biāo)Click事件重新定義。Windows API的多媒體和資源文件的高層控制MCI進行封裝,使讀者不必研究MCI的內(nèi)部函數(shù),輕松調(diào)用API類的函數(shù),就能實現(xiàn)播放視頻文件。Windows已經(jīng)提供了一個關(guān)于多媒體處
22、理的動態(tài)鏈接庫WINMM.DLL,并通過調(diào)用它所提供的API函數(shù),就可以使用MCI指令進行多媒體方面的操作了。當(dāng)需要使用MCI按鈕功能時,必須將該按鈕的屬性(Visible和Enabled)設(shè)為True;若不需要該按鈕時,必須設(shè)置Visible屬性為False;若使該按鈕功能當(dāng)前無效時,設(shè)置Enabled屬性為False。在Windows 2000或XP中,對各種多媒體設(shè)備提供了強有力的支持。MCI的全稱是Media Control Interface(多媒體控制接口),為各種多媒體設(shè)備,用MCI函數(shù)可以給上述的任何一種設(shè)備發(fā)出命令,告訴他們開始,結(jié)束,暫停,倒退,快進等,就像按動播放器面版上
23、的按鈕一樣。每一個設(shè)備的特殊命令依賴于設(shè)備本身的功能,例如可以讓波形音頻設(shè)備錄音等。實際上MCI是一個高級的函數(shù)調(diào)用接口,可以把它看作一個解釋器,通過它,就可以直接和外部音頻或視頻設(shè)備打交道了。3 系統(tǒng)總體方案設(shè)計3.1 系統(tǒng)設(shè)計思想點歌管理系統(tǒng)主要是用來管理數(shù)據(jù)庫內(nèi)的歌曲,并讓消費者在可視界面下運行軟件。所以,該系統(tǒng)需要實現(xiàn)以下功能。(1) 管理員能實現(xiàn)歌曲的添加、刪除;歌手的添加、刪除、歌手信息的修改。(2) 管理員設(shè)置房間的價格、會員卡的折扣等。(3) 消費者能實現(xiàn)根據(jù)歌手地區(qū)、性別、歌手的拼音、歌曲名字數(shù)、歌曲類別查詢。(4) 消費者可以查看或編輯播放列表,也可以清空播放列表。 其結(jié)構(gòu)
24、如圖3-1所示。點歌管理系統(tǒng)管理員增加歌曲刪除歌曲增加歌手刪除歌手設(shè)置打折率消費者按歌名查詢按歌手查詢按歌曲數(shù)查詢按歌手拼音查詢編輯播放列表按歌曲類型查詢設(shè)置包間價格打印小票圖3-1功能結(jié)構(gòu)圖使用點歌管理系統(tǒng)是為了提高管理效率及方便消費者,所以該系統(tǒng)應(yīng)提供方便快捷的可視化界面,幫助用戶高效率的完成想要的操作。考慮這些因素,點歌管理系統(tǒng)應(yīng)達到以下目標(biāo):(1) 提供多條件查詢功能,方便用戶查詢歌庫內(nèi)的歌曲、歌手情況的各種數(shù)據(jù)。(2) 提供多條件查詢功能,方便用戶查詢指定歌曲、歌手的信息。(3) 提供快捷的播放功能,及時更新數(shù)據(jù)庫內(nèi)的數(shù)據(jù)。(4) 提供人性化的界面,能夠為用戶提供快速的查詢。根據(jù)以上
25、分析,一個標(biāo)準(zhǔn)的點歌管理系統(tǒng)應(yīng)該包括增加歌曲、刪除歌曲、增加歌手、刪除歌手、歌曲查詢、歌手查詢、拼音查詢、歌曲數(shù)查詢、單曲循環(huán)、全部循環(huán)等功能。 3.2 系統(tǒng)組成設(shè)計根據(jù)系統(tǒng)分析本系統(tǒng)主要共有5個查詢界面,主界面,打印結(jié)賬界面,登錄界面。(1) 歌手查詢歌手查詢模塊主要是用戶根據(jù)歌手的名稱來查詢歌庫內(nèi)歌曲。查詢時,用戶可在文本框內(nèi)輸入想要查找的歌手,在該界面中的列表控件內(nèi)會列出此時數(shù)據(jù)庫內(nèi)的所有相關(guān)歌曲,雙擊選擇歌曲并添加到播放列表中。(2) 歌名查詢歌名查詢模塊主要是用戶根據(jù)歌曲的名稱來查詢歌庫內(nèi)歌曲。查詢時,用戶可在文本框內(nèi)輸入想要查找的歌曲名稱,在該界面中的列表控件內(nèi)會列出此時數(shù)據(jù)庫內(nèi)的
26、所有相關(guān)歌曲,雙擊選擇歌曲并添加到播放列表中。(3) 歌曲名字數(shù)查詢歌曲名字數(shù)查詢模塊主要是用戶根據(jù)歌名數(shù)字查詢歌庫內(nèi)歌曲。查詢時,用戶可在文本框內(nèi)輸入想要查找的數(shù)字,在列表框內(nèi)系統(tǒng)會列出此時數(shù)據(jù)庫內(nèi)所有相關(guān)歌曲,雙擊選擇歌曲并添加到播放列表中。(4) 歌手拼音查詢歌手拼音查詢模塊主要是用戶根據(jù)歌手的名稱來查詢歌庫內(nèi)歌曲。查詢時,用戶可在文本框內(nèi)輸入拼音,獲取數(shù)據(jù)庫內(nèi)相關(guān)歌曲信息,雙擊選擇歌曲并添加到播放列表中。(5) 歌曲類型查詢該模塊主要是通過下拉列表框選擇數(shù)據(jù)庫內(nèi)的歌曲,用戶點擊下拉箭頭時,系統(tǒng)會自動綁定此時數(shù)據(jù)內(nèi)己有的歌曲類型,用戶只要選擇,就會在列表框內(nèi)查找出此時歌庫內(nèi)相關(guān)歌曲,雙擊
27、選擇歌曲并添加到播放列表中。(6) 主界面該窗體用于管理員登錄與普通用戶點歌。管理員登錄時,需點擊界面上方的登錄按鈕,正確操作后才可進入管理員界面。普通用戶可以直接在該界面進行點歌操作。(7) 登錄界面該窗體主要用于區(qū)別用戶類型,方便管理員操作數(shù)據(jù)庫數(shù)據(jù)。(8) 打印界面該窗體主要用于用戶結(jié)賬,選擇房間號,系統(tǒng)自動綁定相關(guān)信息,直接結(jié)賬或打印預(yù)覽。3.3 SQL Server 2005語言與數(shù)據(jù)庫的連接3.3.1 系統(tǒng)配置的實現(xiàn)系統(tǒng)設(shè)有配置文件DataOperate.ini,數(shù)據(jù)庫文件內(nèi)放置著系統(tǒng)連接時登錄名、密碼、數(shù)據(jù)庫名及可執(zhí)行文件名,從數(shù)據(jù)庫登陸的配置文件中讀取值并賦給全局變量。讀取數(shù)據(jù)
28、庫文件代碼如下: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); ClsOverallVar
29、.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ù)據(jù)庫交互
30、的實現(xiàn) C#連接數(shù)據(jù)庫實現(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= + ClsOverallVar.
31、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;str
32、Source這個變量里存放的是連接數(shù)據(jù)庫所需要的連接字符串,他指定了要使用的數(shù)據(jù)提供者和要使用的數(shù)據(jù)源。GetServerName()、 GetServerId()、GetServerPwd()都是直接從ini文件中讀取的,這里的GetPattern()值有兩個,”0”和”1”,其中0表示本地登錄,1表示遠程登錄。使用本地登錄還是遠程登錄只需在系統(tǒng)可執(zhí)行文件夾下找到DataOperate.ini配置文件,修改里面的相關(guān)文件即可實現(xiàn)相應(yīng)的數(shù)據(jù)庫的連接。部分代碼如下: ClsDataContact.readDBInfo(); 若為本地連接,則此處的“initial catalog=”+clsove
33、rallvar.getdbname()+”:使用的數(shù)據(jù)源則為“Music”這個數(shù)據(jù)庫。在這里,建立連接對象用的構(gòu)造函數(shù)為:SqlConnection。由于系統(tǒng)頻繁的調(diào)用數(shù)據(jù)庫,而對數(shù)據(jù)的操作分為查找數(shù)據(jù)和更新數(shù)據(jù)操作兩種,更新數(shù)據(jù)時不需要返回值,所以系統(tǒng)利用DBOperation類封裝了對數(shù)據(jù)庫操作的方法,以提供統(tǒng)一的數(shù)據(jù)庫操作接口8。利用DBOperation類GetDataTableBySql方法可以進行查找數(shù)據(jù)函數(shù)返回一個DataTable表,DoSqlString方法可以執(zhí)行一個SQL語句,進行插入、刪除、修改操作。4 數(shù)據(jù)庫設(shè)計 本系統(tǒng)數(shù)據(jù)庫包括管理員表、歌曲信息表、歌手信息表、包間
34、類型表、折率表、開戶點歌表及用戶播放列表。(1) 管理員表(admin)管理員表主要包括管理員名稱及密碼。表結(jié)構(gòu)如表4-1所示。表4-1 管理員表字段名稱含義數(shù)據(jù)類型可否為空Admin用戶名稱Varchar(50)NOadminpwd起始日期varchar(50)NO(2) 歌曲信息表(musiclist)歌曲信息表主要包括歌曲名稱、歌曲內(nèi)碼、歌手名、歌曲名字數(shù)、歌曲類別、歌曲類型、歌曲存儲路徑。表結(jié)構(gòu)如表4-2所示。表4-2 歌曲信息表字段名稱含義數(shù)據(jù)類型可否為空Gsname歌手名稱varchar(50)NOGqname歌曲名稱varchar(50)NOGqnum歌曲數(shù)varchar(50)
35、NOGqtype歌曲類別varchar(50)NOFormat歌曲類型varchar(50)NOPath歌曲路徑varchar(200)NOGqlogo歌曲內(nèi)碼intNO(3) 歌手信息表(singer)歌手信息表主要是存放歌手個人信息,便于用戶采用不同類型的查詢。表結(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é)構(gòu)如表4-4所示。表4-4 包間類型表字段名稱含義數(shù)據(jù)類型可否為空roomtype包間類型varchar(50)YESPrice包間價格varchar(50)YESTime時間varchar(50)YESroomlogo包間類碼varchar(50)NO(5) 折率表(abate)打折率表主要是存放管理員設(shè)置的會員率、會員類型、會員類碼。表結(jié)構(gòu)如表4-5所示。表4-5折率表字段名稱含義數(shù)據(jù)類型可否為空cardtype會員級別varchar(50)YESAbate打折率varchar(50)YESViplogo會員內(nèi)碼varchar(50)NO(6) 開
37、戶點歌表(money)開戶點歌表主要用于存放用戶消費時選擇的包間類型、用戶的會員等級、充值、開戶時間及房間號。表結(jié)構(gòu)如表4-6所示。表4-6開戶點歌表字段名稱含義數(shù)據(jù)類型可否為空roomnum房間號nvarchar(50)YESroomtype包間類型nvarchar(50)YEScardtype會員等級nvarchar(50)YESMoney充值金額FloatYESuserlogo用戶內(nèi)碼IntNOUncost消費金額nvarchar(50)YESbegintime開始時間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)詳細設(shè)計5.1 點歌系統(tǒng)主界面設(shè)計5.1.1 界面設(shè)計點歌系統(tǒng)主窗
39、體是用來播放數(shù)據(jù)庫內(nèi)歌曲。主要可以實現(xiàn)用戶對列表框內(nèi)的歌曲進行下一首、上一首、增加音量、減小音量、快進、快退、全屏功能。管理員登錄時的數(shù)據(jù)庫操作及開戶點歌功能??梢圆シ诺囊魳犯袷接衜p3,wmv,wma格式,雙擊列表框內(nèi)的歌曲進行歌曲的播放。根據(jù)點歌系統(tǒng)主界面所要實現(xiàn)的功能,需要在界面上添加如下控件:windows media player,skinEngine,timer,toolstrip,button(按鈕)控件。上一首按鈕,就是為了實現(xiàn)上一首歌曲的播放;下一首按鈕為了實現(xiàn)下一首歌曲的播放;增加音量按鈕,就是為實現(xiàn)音量的增加;減小音量按鈕,就是為了實現(xiàn)音量的增加,快進按鈕是為了實現(xiàn)快進播
40、放功能;快退按鈕是為了實現(xiàn)快退功能;skinEngine是為了使界面運行時更美觀。toolstrip控件是為了區(qū)別普通用戶與管理員的登錄。全屏按鈕,就是為了實現(xiàn)屏幕的全屏播放,按歌曲查詢按鈕用來實現(xiàn)用戶能夠根據(jù)歌曲名稱查詢歌庫內(nèi)的歌曲,并雙擊選擇歌曲添加到用戶播放列表。其它控件可類似。各主要控件的屬性如表5-1所示。表5-1點歌系統(tǒng)主窗體主要控件屬性控件屬性屬性值點歌系統(tǒng)(Form1)NameForm1Text點歌系統(tǒng)Windows media playerNamemyplayerURLnullButton1Text上一首Button2Text下一首Button3Text增加音量Button4
41、Text減小音量Button5Text快進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)擊上一首按鈕時,系統(tǒng)將先判斷當(dāng)前選擇行是不是第一行,如果為第一行則手動設(shè)
42、置列表框中的最后一行下標(biāo)為當(dāng)前選中行,并設(shè)置其可見狀態(tài),可以讓用戶知道當(dāng)前選中的歌曲,最后實現(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.listView1
43、 .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.Itemsa
44、 .Selected = true; listView1.Focus(); myplayer.URL=this.listView1.Itemsa.SubItems3.Text; else MessageBox.Show(列表中沒有歌曲!); catch (3) 當(dāng)用戶當(dāng)擊下一首按鈕時,系統(tǒng)將先判斷當(dāng)前選擇的行是不是最后一行,如果為最后一行則手動設(shè)置列表框中的第一行為當(dāng)前選中行,并設(shè)置其可見狀態(tài),可以讓用戶知道當(dāng)前選中的歌曲,然后再實現(xiàn)下一首歌曲的播放,代碼如下:int index = 0; private void button2_Click(System.Object sender, Sys
45、tem.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.Selected
46、= 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)擊增加音量按鈕時,系統(tǒng)會調(diào)用播放器控件的增加音量事件,使播放器增加音量,部分代碼如下:keybd_event(175, 0, 0, 0);/增加音
47、量(5) 當(dāng)用戶單擊減小音量按鈕時,系統(tǒng)會調(diào)用播放器控件的減小音量事件,使播放器降低音量,部分代碼如下:keybd_event(174, 0, 0, 0);(6) 當(dāng)用戶單擊快進按鈕時,系統(tǒng)調(diào)用播放器控件的fastForward()方法,使播放器實現(xiàn)快進的功能,部分代碼如下:myplayer.Ctlcontrols.fastForward();/快進(7) 當(dāng)用戶單擊快退按鈕時,系統(tǒng)調(diào)用windows media player 控件的fashReverse()方法,使播放器實現(xiàn)快退的功能,部分代碼如下:myplayer.Ctlcontrols.fastReverse();(8) 當(dāng)用戶單擊停止
48、按鈕時,系統(tǒng)調(diào)用播放器控件的stop()方法,并且停止時間控件的運行,使其可用狀態(tài)設(shè)為false,手動拖動條值設(shè)為0,使播放器實現(xiàn)停止播放的功能,部分代碼如下:timer1.Enabled = false;myplayer.Ctlcontrols.stop();trackBar1.Value = 0;button9.Text = 播放;(9) 用戶單擊按歌曲類別查詢時,將彈出歌曲類別查詢窗體。本系統(tǒng)設(shè)計了一個歌曲類別查詢界面,以區(qū)別于各種不同的查詢,方便操作。界面查詢時,用戶只需要從數(shù)據(jù)庫中選擇己有的歌曲類別查詢就可以看到當(dāng)前數(shù)據(jù)庫表中己有的歌曲信息,而不需用戶手動填寫歌曲類別。部分代碼如下:
49、Form frm = new FrmSongType();frm.ShowDialog();return;(10) 當(dāng)用戶單擊按歌手查詢時,系統(tǒng)將彈出歌手查詢窗體。本系統(tǒng)同時設(shè)計了歌手查詢界面,以區(qū)別于各種不同查詢,方便操作。界面查詢時,用戶需要在文本框內(nèi)輸入想要查詢的歌手名稱,為了實現(xiàn)高效率查詢,在設(shè)計查詢語句時,采用的是模糊查詢,這樣,如果用戶只記得歌手名稱中某一個字,也可以查到相應(yīng)的數(shù)據(jù)。部分代碼如下:Form frm = new FrmName ();frm.ShowDialog();return;(11) 當(dāng)用戶單擊按拼音查詢時,系統(tǒng)將彈出拼音查詢窗體。本系統(tǒng)同時設(shè)計了歌手拼音查詢界面,以區(qū)別于各種不同查詢,方便操作。界面查詢時,用戶需要在文本框內(nèi)輸入想要查詢的歌手的拼音,為了實現(xiàn)高效率查詢,在設(shè)計查詢語句時,采用的是模糊查詢,不區(qū)分大小寫,盡管系統(tǒng)在自動生成時,歌手拼音的首字母是大寫的,但是查詢的時候不影響功能的使用。這樣設(shè)計,只為了可以盡可能快地查到數(shù)據(jù)庫中相關(guān)數(shù)據(jù)。部分代碼如下:Form frm = new Frmpinyin();frm.ShowDialog();return;(12) 當(dāng)用戶單擊按歌曲名稱查詢時,系統(tǒng)彈出歌曲名稱查詢窗體。本系統(tǒng)同時設(shè)計了歌曲名稱查詢界面,以區(qū)別于各種不同查詢,方便操作。界面查詢時,用戶需要在文本框內(nèi)輸入想要查詢的歌曲
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度民辦學(xué)校圖書資源采購與借閱服務(wù)合同范本3篇
- 二零二五年度無線通信塔架建設(shè)施工合同
- 2025年臍橙果肥國際市場拓展合作合同4篇
- 2025年度二手房買賣合同稅務(wù)籌劃范本
- 二零二五年度土地承包經(jīng)營權(quán)租賃管理服務(wù)合同
- 二零二五年度文化藝術(shù)交流活動組織合同
- 二零二五年度天然青貯飼料原料采購與倉儲管理合同
- 二零二五年度品牌代理授權(quán)合同(含保密條款)
- 二零二五年度水塘生態(tài)環(huán)境保護與修復(fù)工程合同
- 二零二五版鋁單板裝飾材料采購合同4篇
- 2024年社區(qū)警務(wù)規(guī)范考試題庫
- 2024年食用牛脂項目可行性研究報告
- 2024年全國各地中考試題分類匯編(一):現(xiàn)代文閱讀含答案
- 2024-2030年中國戶外音箱行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- GB/T 30306-2024家用和類似用途飲用水處理濾芯
- 家務(wù)分工與責(zé)任保證書
- 消防安全隱患等級
- 溫室氣體(二氧化碳和甲烷)走航監(jiān)測技術(shù)規(guī)范
- 華為員工股權(quán)激勵方案
- 部編版一年級語文下冊第一單元大單元教學(xué)設(shè)計
- 《保單檢視專題》課件
評論
0/150
提交評論