毕业设计 基于C#的KTV点歌管理系统毕设论文源码+论文+数据库+使用说明|寻找C站宝藏

Posted CSDN专家-小兔子编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了毕业设计 基于C#的KTV点歌管理系统毕设论文源码+论文+数据库+使用说明|寻找C站宝藏相关的知识,希望对你有一定的参考价值。

课题

基于C#的KTV点歌管理系统设计与实现(1万2千字)

 

目   录

1.引言

2. 开发技术简介

2.1 开发工具C#的介绍

2.2 数据库系统介绍

3. 需求分析

3.1 功能需求

3.2 设计目标

3.3 安全保密需求

3.4 开发与运行环境

3.5 可行性分析

3.5.1 技术可行性

3.5.2 经济可行性

3.5.3 操作可行性

3.5.4 法律可行性

4.系统设计

4.1 概要设计

4.2 功能模块

4.3 系统流程

4.3.1 数据流分析

4.3.2 业务流分析图

4.4 数据库设计

4.4.1 E-R图

4.4.2 数据表

5.系统实现

5.1 歌曲查询模块

5.1.1 概述

5.1.2 窗体设计

5.1.3 代码设计

5.2 歌星信息管理模块

5.2.2 概述

5.2.3 窗体设计

5.2.4 代码设计

5.3 歌曲信息管理模块

5.3.1 概述

5.3.2 窗体设计

5.3.3 代码设计

5.4 播放模块.

5.4.1 概述

5.4.2 窗体设计

5.4.3 代码设计

6.系统测试与性能分析

6.1 点播端测试

6.2 管理端测试

7. 结束语

参考文献

致  谢


此处省略几千字 https://blog.csdn.net/frank2102


 

功能需求

KTV点歌系统的主要功能需求:在管理端主要实现歌曲信息、歌星信息及管理员信息的管理,可对各项信息进行修改、增加、删除、查询等操作;在点播端主要实现歌曲及歌星的查询点播功能。

(1)歌曲信息、歌星信息及管理员信息管理功能:

  1. 歌星信息添加:包括编号、歌星姓名、地区、性别、拼音、头像图片等信息;
  2. 歌曲信息添加:包括编号、歌曲路径、歌曲名称、歌星、拼音、字数、歌曲类型等信息;
  3. 管理员信息添加:包括编号、管理员账号、密码等信息;
  4. 歌曲信息、歌星信息及管理员信息的删除:实现歌曲信息、歌星信息、管理员信息的删除功能;
  5. 歌曲信息、歌星信息及管理员信息的查询:实现相关信息按一定类别进行查询的功能;
  6. 歌星信息、歌曲信息及管理员信息的修改:实现相关信息的修改。

(2)歌曲查询功能:

  1.  按歌曲名称的字数查询:一字数、二字数、三字数、四字数、五字数、六字数、七字数、八字数、九字数、全部;
  2.  按语种查询:国语、粤语、英语、韩语、日语、朝鲜语、马来语、其它;
  3.  按歌星的名字查询;
  4.  按歌星性别查询;
  5.  按拼音字母查询;
  6.  按歌星所属地区查询;
  7.  按歌曲类别查询:流行音乐、古典音乐、影视金曲、世界名曲等;
  8.  按点播排行查询;
  9.  VIP用户历史点歌查询。

(3)歌曲播放功能:

     实现了歌曲播放、暂停、停止、全屏、前进、后退、切歌、优先播放及歌曲在点播列表中的上移与下移等功能。

 

设计目标

根据用户的需要和后台管理的需要,本系统实施后,应达到以下目标:

  • 降低人力资源成本。
  • 操作界面美观、友好、操作便捷、高效。
  • 通过导出至Excel功能,可以清晰的掌握用户点播歌曲的情况。
  • 通过Excel导入至数据库的功能,实现歌星与歌曲信息的批量导入。
  • 方便的数据查询:支持多条件查询、分类数据显示等。

 

功能模块

       KTV点歌系统有两大主要模块:点播端和管理端。点播端又分为:歌曲查询模块、播放模块;管理端分为歌曲信息管理模块、歌星信息管理模块和管理员信息管理模块。系统总体结构图如图4-1所示。  

      歌曲查询模块的主要功能是:包括按歌曲字数查询,如一字数、二字数、三字数、四字数、五字数、六字数、七字数、八字数、九字数等;按语种类型查询,如国语、粤语、英语、韩语、日语、马来语、朝鲜语、其它等;按歌星性别查询,如男歌星、女歌星、乐队等;按所属地区查询,如港台、欧美、内地、其他等;按拼音字母查询,即按歌曲的每个汉字的首字母查询;按歌曲点播排行查询,即按用户点播歌曲的次数排行;按歌曲类型查询,如流行歌曲、古典音乐、世界名曲、儿童歌曲、影视金曲、生日歌曲、经典老歌、其他歌曲等;按VIP用户点歌记录查询,即VIP用户所点播的歌曲将会被系统记录,方便下次点播。

      歌星信息管理模块的主要功能是:在此功能模块中,可对歌星信息中的歌星姓名、地区、性别、拼音、头像路径等进行查找、修改、添加、删除操作,还可将数据库中的歌曲信息导出至Excel表,也可将Excel数据导入到数据库。

      歌曲信息管理模块的主要功能是:在此模块中,可对歌曲信息中的歌曲拼音、歌曲类型、歌曲字数、歌曲语言、歌曲点播排行、歌曲路径等进行查找、添加、修改、删除操作,还可将数据库中的歌曲信息导出至Excel表,也可将Excel数据导入到数据库。

     播放模块的主要功能是:此模块中,实现了歌曲播放、暂停、停止、全屏、前进、后退、切歌、优先播放、歌曲在点播列表中位置的上移与下移等功能。

 

数据流分析

KTV点歌系统的数据流程:客户按各类查询方式进行歌曲查询,将查询到的歌曲依次播放;管理员对歌星信息、歌曲信息及管理员信息的可进行增加、查询、修改、删除等操作,数据流如图4-2所示。

 

业务流分析

      KTV点歌系统的业务流程:客户按各类型曲目查询,对查询到的歌曲可以进行点播;播放过程中,客户若想取消歌曲,选择“下一首歌”或者“切歌”即可,客户还可对歌曲播放的顺序进行调整。管理员添加歌星或歌曲信息时,只要在输入相应信息后,按添加按钮即可将信息存入数据库中,完成歌星或歌曲信息的添加;修改歌星或歌曲信息时,通过点击修改按钮,对相应信息进行修改,点击保存按钮即可将数据库中的信息修改掉,从而完成歌星或歌曲信息的修改;删除歌星和歌曲信息时,只要按删除按钮即可将这一信息数据库中删除。业务流如图4-3所示。

 

E-R图

 

系统实现(部分)

歌曲查询模块

       歌曲查询模块的主要功能:包括按歌曲字数查询,如一字数、二字数、三字数、四字数、五字数、六字数、七字数、八字数、九字数等;按语种类型查询,如国语、粤语、英语、韩语、日语、马来语、朝鲜语、其它等;按歌星性别查询,如男歌星、女歌星、乐队等;按歌星地区查询,如港台、欧美、内地、其他等;按拼音字母查询,即按歌曲的每个汉字的首字母查询;按歌曲排行查询;按歌曲类型查询,如流行歌曲、古典音乐、经典老歌、世界名曲、儿童歌曲、影视金曲、生日歌曲、其他歌曲等;按VIP点歌记录查询,当VIP用户登录后,点歌的记录会被自动保存,方便用户下次点播;按拼音字母查询,即按歌曲的每个汉字的首字母查询。歌曲查询模块功能如图5-1所示。

窗体设计

歌曲查询模块详细设计过程:界面设计是在WINFORM窗体上进行界面的设计,主要使用了下列控件:PictureBox,Button,TextBox,DataGridView等。窗体设计步骤如下:

(1)右键点击系统名称“KTV”找到“添加”选项,选择“Windows 窗体”,输入窗体名称“FrmXuanze”,点击“添加”。

(2)在出现的对话框中添加如下主要控件:

表:5-1 歌曲查询窗体主要组件属性

控件类型

控件ID

主要属性设置

用途

PictureBox

GeShou

Backcolor设置为Transparent

跳转到歌星选歌界面

PinYin

Backcolor设置为Transparent

跳转到拼音选歌界面

YuYan

Backcolor设置为Transparent

跳转到语言选歌界面

LeiBie

Backcolor设置为Transparent

跳转到类别选歌界面

ZiShu

Backcolor设置为Transparent

跳转到字数选歌界面

PaiHangBang

Backcolor设置为Transparent

跳转到排行榜选歌界面

Button

Btnfanhui

Text属性设置为“返回”

返回选歌窗体

Datagridview

Datagridview1

Anchor属性为Top, Bottom, Left, Right,SelectionMode属性为FullRowSelect,DataSource绑定数据源。Text属性设置为“歌曲选择”。

将用户的查询结果显示在Datagridview,方便用户点播。

TextBox

TxtPinYin

设置TextChanged事件

用户输入拼音,动态刷新Datagirdview文本值。

代码设计

相关的实现程序如下。

//将歌曲显示在歌曲列表的代码
public void showXuanGe(string ClassName)
        {
            DataSet ds = new DataSet();
            ds = KTVData.KTVDB.SelectClassName(ClassName);
            if (ds.Tables[0].Rows.Count < 1)
            {
                MessageBox.Show("此类别暂无任何歌曲,请重新选择!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return;
            }
            FrmXuanGe FrmXuanGe1 = new FrmXuanGe();
            FrmXuanGe1.ds = ds;
            FrmXuanGe1.Show();
            this.Close();
//点击歌手头像选歌的代码
      private void FrmAllSinger_Load(object sender, EventArgs e)
        {
            try
            {
                SqlConnection con = new SqlConnection(KTVData.ConfigClass.configValue);
                con.Open();
                SqlCommand cmd = new SqlCommand("SELECT RName,FacePath FROM GeShou", con);
                List<string[]> singerInfoList = new List<string[]>();
                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    string[] singerInfoArray = new string[2];
                    singerInfoArray[0] = reader[0].ToString();
                    singerInfoArray[1] = reader[1].ToString();
                    singerInfoList.Add(singerInfoArray);
                }
                reader.Close();
                con.Close();

                this.textBox1.Text = singerInfoList[falg + 0][0].ToString();
                this.pictureBox1.ImageLocation = singerInfoList[falg + 0][1].ToString();
                this.textBox2.Text = singerInfoList[falg + 1][0].ToString();
                this.pictureBox2.ImageLocation = singerInfoList[falg + 1][1].ToString();
                this.textBox3.Text = singerInfoList[falg + 2][0].ToString();
                this.pictureBox3.ImageLocation = singerInfoList[falg + 2][1].ToString();
                this.textBox4.Text = singerInfoList[falg + 3][0].ToString();
                this.pictureBox4.ImageLocation = singerInfoList[falg + 3][1].ToString();
                this.textBox5.Text = singerInfoList[falg + 4][0].ToString();
                this.pictureBox5.ImageLocation = singerInfoList[falg + 4][1].ToString();
                this.textBox6.Text = singerInfoList[falg + 5][0].ToString();
                this.pictureBox6.ImageLocation = singerInfoList[falg + 5][1].ToString();
            }
            catch (ArgumentOutOfRangeException)
            {
                falg = 0;
            }
        }

 

歌星信息管理模块

      歌星信息管理模块又细分出了六个功能:歌星信息的添加、歌星信息的修改、歌星信息的删除、歌星信息的查询、歌星信息的导出及歌星信息的导入。

      歌星信息的添加功能:输入歌星姓名、地区、性别、拼音、头像路径后,按添加按钮即可将所输入的信息存入数据库中,完成歌星信息的添加功能。

      歌星信息的查询、删除、修改、导入、导出用了同一个窗口,当点击查询按扭,窗口显示为查询,可以按一定的方式进行查询,如歌星姓名、性别、地区等。当点击删除,窗口显示为删除,也可以按一定的方式进行查询后再进行删除。当点击修改按钮时,弹出添加歌星的窗口,用户可将修改后的信息保存。当点击导出,实现将DataGridView中歌星信息导出到Excel表格。当点击导入,实现将Excel中的歌星信息导入到数据库。歌星信息管理模块如图5-2所示。

代码设计

具体的代码如下所示:

//将Excel数据导入到数据库
public static  DataTable  ExcelToDataTable(string strExcelFileName, string strSheetName) 
        {
            string strconn = "Provider = Microsoft.Jet.OLEDB.4.0;"+"Extended Properties=Excel 8.0;"+"Data Source =" +strExcelFileName+";";
            string strExcel = string.Format("select * from[{0}$]",strSheetName);
            DataSet ds = new DataSet();
            OleDbConnection conn = new OleDbConnection(strconn);
            conn.Open();
            OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strconn);
            adapter.Fill(ds, strSheetName);
            conn.Close();     
            return ds.Tables [strSheetName];
         }
      public void ExcelToSql()
        {
            openFileDialog1 = new OpenFileDialog();
            openFileDialog1.Filter = "Excel文件|*.xls";
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                DataTable dt =ExcelToDataTable(openFileDialog1.FileName, "Sheet1");
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    int pd = 0;
                     KTVData.KTVDB.GeShouName  = dt.Rows[i][0].ToString();
                     KTVData.KTVDB.Sex = dt.Rows[i][1].ToString();
                     KTVData.KTVDB.DiQu = dt.Rows[i][2].ToString();
                     KTVData .KTVDB.FacePath = dt.Rows[i][3].ToString();
                     KTVData .KTVDB.SingerPinYinCode= dt.Rows[i][4].ToString();
                     for (int k = 0; k < dataGridView1.Rows.Count; k++)
                     {
                         string sssss = dataGridView1.Rows[k].Cells[1].Value.ToString();
                         if (dt.Rows[i][0].ToString() == dataGridView1.Rows[k].Cells[1].Value.ToString())
                         {
                             pd = 1;                            
                         }                         
                     }
                     if (pd == 1)
                     {
                         if (MessageBox.Show("歌星:" + dt.Rows[i][0].ToString() + " 已存在!是否添加!", "系统提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK)
                         {
                             InserDB(KTVData.KTVDB.GeShouName, KTVData.KTVDB.Sex, KTVData.KTVDB.DiQu, KTVData.KTVDB.FacePath, KTVData.KTVDB.SingerPinYinCode);                             
                         }
                         pd = 0;
                     }
                     else
                     {                         
                         InserDB(KTVData.KTVDB.GeShouName, KTVData.KTVDB.Sex, KTVData.KTVDB.DiQu, KTVData.KTVDB.FacePath, KTVData.KTVDB.SingerPinYinCode);
                         
                     }
                }
            }
        }

此处省略几千字 https://blog.csdn.net/frank2102


资源下载

源程序+数据库下载:https://download.csdn.net/download/frank2102/19667223

完整论文下载:https://download.csdn.net/download/frank2102/19667164

以上是关于毕业设计 基于C#的KTV点歌管理系统毕设论文源码+论文+数据库+使用说明|寻找C站宝藏的主要内容,如果未能解决你的问题,请参考以下文章

Java实现KTV点歌系统[2023-05-21]

7天撸完KTV点歌系统,含后台管理系统(完整版)

KTV点歌系统

Java毕业设计+现成产品 —>基于java(springboot)汽车信息管理系统(数据库+源码+论文《精品毕设》)实现客户端汽车信息查看发布汽车信息评论收藏后台对用户管理汽车类型管理汽

KTV 点歌系统------ArrayList

求一份java毕业设计与论文