c#通讯录管理系统.docx
《c#通讯录管理系统.docx》由会员分享,可在线阅读,更多相关《c#通讯录管理系统.docx(31页珍藏版)》请在冰豆网上搜索。
c#通讯录管理系统
郑州科技学院
C#课程设计
课程设计名称:
卡拉OK点歌管理系统
专业班级:
10级计科2班
学生姓名:
王冰艳
学号:
201015064
指导教师:
王玉萍
摘要
迅速发展的计算机科学技术应用越来越广泛,已经渗透到了人类社会生产和生活的各个领域。
数据库技术是计算机科学技术的一个重要分支,是现代化管理的重要手段,是研究数据共享的一门科学。
近年来,人们利用数据库技术对海量的数据进行处理,然后结合其他技术开发除了各种软件,为人类生活提供了便利。
娱乐是人的一生中不可或缺的部分。
随着现如今经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。
同事,随着生活节奏的加快,每个人都处于忙碌繁乱的社会的那个当中,不论是在家庭,工作场所,或是学校中,无时无刻充满着生活和学习上的压力。
工作之余,找到一种能够换季压力,释放疲劳的娱乐方式,已成为大家共同的愿望。
因此娱乐业在服务行业中占有越来越重要的地位。
然而,受到工作条件和时间的限制,越来越多的人们选择了去KTV唱唱歌,跳跳舞或者在自己家中自娱自乐KTV点歌系统也因此有了广阔的发展前景。
随着KTV行业的迅猛发展,点歌系统在KTV里的重要性越来越大,特别是在面向普通消费者的量版式KTV,投资方在选系统的时候无不练就一双金睛火眼,千挑万选,而且更是在配套设备上重金投入,确保为消费者营造出一个更好的消费环境。
KTV点歌系统被广泛应用于KTV、酒店、酒吧等娱乐场所中。
1.引言
时代的快速发展,经济的增长让人类不仅仅追求于物质方面的满足,精神方面现在也逐渐的进入人们的世界。
伴随着迅速发展的计算机科学技术应用的广泛,已经渗透到了人类社会生产和生活的各个领域。
数据库技术是计算机科学技术的一个重要分支,是现代化管理的重要手段,是研究数据共享的一门科学。
近年来,人们利用数据库技术对海量的数据进行处理,然后结合其他技术开发除了各种软件,为人类生活提供了便利。
1.1问题的提出
随着现如今经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。
同事,随着生活节奏的加快,每个人都处于忙碌繁乱的社会的那个当中,不论是在家庭,工作场所,或是学校中,无时无刻充满着生活和学习上的压力。
工作之余,找到一种能够换季压力,释放疲劳的娱乐方式,已成为大家共同的愿望。
因此娱乐业在服务行业中占有越来越重要的地位。
然而,受到工作条件和时间的限制,越来越多的人们选择了去KTV唱唱歌,跳跳舞或者在自己家中自娱自乐KTV点歌系统也因此有了广阔的发展前景。
并且,现在顾客的期望值越来越高,顾客需要更好的服务(产品及个性化服务)。
而目前各企业之间的竞争已逐渐从产品的竞争转变为服务的竞争,因此中小企业要发展就必须需要进一步优化业务流程以提高企业竞争能力。
因此,加强卡拉OK系统管理是KTV发展的必然,通过计算机来大量完成本来由工作人员手工完成的工作,真正达到合理和充分利用现有资源,减轻工作压力,提高精神方面的追求,满足人们全面的需要。
1.2课题的研究目的
研究该课题是为了通过对“卡拉OK点歌管理系统”的设计与实现,熟悉这类的信息管理系统的开发原理及流程。
在设计过程,能够深入地理解面向对象设计方法的优越性,获得这些方面的相关经验。
对一个即将毕业的计算机科学与技术专业本科生来说,又想在软件行业领域里有所发展,研究并应用面向对象设计方法是百益无一害的,可以使其走向社会后能够快速地适应行业需求。
这正是本次设计的根本目的所在。
1.3课题的研究意义
KTV点歌系统主要用于KTV内选歌的各种方式,例如有数字点歌、拼音点歌、明星点歌、歌曲点歌选择方式,便于在点歌时对歌曲的掌握,以及能迅速选择到自己喜欢的音乐,同时减少了传统的一个一个的按顺序去查找。
节省了时间,使其让更多的时间用在享受上,而不是查找上,提高了查找歌曲的效率。
因此也会有更多的人选择只能化的KTV去消费,直接提高了KTV的收益。
因此KTV点歌系统是企业化、智能化、科学化和正规化不可缺少的管理软件。
本系统的优势及特点
本系统采用Microsoft.NET基础的平台,采用设计模式以及工作流技术的解决方案来进行设计和开发其特点及优势在于:
1.采用的Microsoft.NET平台是目前开发企业级分布式软件应用的最的应用结构之一,它支持简化的、基于组件的开发模式。
2.采用的是分类管理,根据音乐的不同特点,存储音乐,对查找有很好的管理,使得处理起来更加简洁。
3.此系统属于小型KTV点歌系统,为用户提供了一个方便快捷的音乐管理和播放平台。
4.免于用户处在歌海中找歌,犹如大海捞针,为用户省下了宝贵的时间。
2.概要设计
2.1设计目的
根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理信息系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库管理信息系统的目的。
2.2设计内容
题目可根据自己熟悉的某方面的系统进行填充,例如图书进销存系统、电脑设备进销存系统、药品进销存系统等等,下面以卡拉OK点歌系统为例完成功能:
1)用户信息、歌曲信息
2)明星信息、歌曲查询
以上功能可根据自己对不同歌曲主要的管理需求进行调整,可以增加或减少相应功能。
3.系统分析
3.1需求分析
随着生活节奏的加快,每个人都处于忙碌繁乱的社会的那个当中,不论是在家庭,工作场所,或是学校中,无时无刻充满着生活和学习上的压力。
工作之余,找到一种能够换季压力,释放疲劳的娱乐方式,已成为大家共同的愿望。
因此娱乐业在服务行业中占有越来越重要的地位。
然而,受到工作条件和时间的限制,越来越多的人们选择了去KTV唱唱歌,跳跳舞或者在自己家中自娱自乐KTV点歌系统也因此有了广阔的发展前景。
3.2可行性分析
开发本系统要从它的经济和技术角度全面考虑,要在利用最少的经济条件把系统的功能实现。
1.经济可行性
随着人们生活水平的不断提高,工作压力越来越大,根据这个形式,就需要一些娱乐设施来减轻人们的生活负担,同时还能丰富业余生活。
开发点歌系统是一个很好的方法,它以较低的成本达到人们满意的效果。
本软件的成本费用:
目前,在市场上购买一台普通PC机大约需要3000-4000元,此系统开发工作人员的三个月工资大约要10000元,做系统调研及各种资料费等各种费用大约需要5000元。
电费等其他各种费用大约需要1000元。
自动点歌系统是我根据现在人们生活的实际情况,在考虑到系统的可行性:
目标和方案可行性,技术可行性,经济方面的可行性等。
因素的基础上进行开发的。
它针对管理中的实际情况,能够解决一些实际问题,对各种歌曲信息进行管理,条理非常清晰,用户便于操作。
而且克服了购买现成软件存在的专用性较差的问题。
当然,它也存在一些不足之处,需要不断的完善。
2.技术可行性开发语言
该系统前台我使用Visual Studio 2008作为开发工具,后台数据库使用Access,该软件的开发是在XP操作系统下进行,利用Visual Studio 2008工具进行开发,不需要任何大型的系统软件和应用软件来支持。
4.系统设计
4.1系统运行环境
系统开发平台:
MicrosoftVisualStudio2008
系统开发语言:
C#
数据库管理软件:
Acess
运行平台:
Win7
运行环境:
Microsoft.NETFrameworkSDKv2.0
4.2系统设计
C#KTV点歌管理系统功能结构图
4.3概念结构设计
用户信息实体E-R图:
歌曲信息实体E-R图:
4.4窗体设计
登录窗体
点歌系统登录窗体
点歌条件窗体
明星信息窗体
歌曲信息界面窗体
添加歌曲窗体
歌曲类型信息窗体
添加歌曲类型信息窗体
用户管理窗体
添加用户管理信息窗体窗体顶端
5.主要功能模块设计
5.1卡拉OK点歌系统基本信息窗体
1.通过对点歌信息的几种方式进行点歌操作,数字点歌,拼音点歌,明星点歌,歌名点歌相关代码如下:
privatevoidtabPage1_Click(objectsender,EventArgse)
{
}
//数字点歌
privatevoidbntNumber_Click(objectsender,EventArgse)
{
frmNumberfrm1=newfrmNumber
(1);
frm1.Owner=this;
frm1.ShowDialog();
}
//拼音点歌
privatevoidbntPing_Click(objectsender,EventArgse)
{
frmNumberfrm2=newfrmNumber
(2);
frm2.Owner=this;
frm2.ShowDialog();
}
//明星点歌
privatevoidbntAutor_Click(objectsender,EventArgse)
{
frmNumberfrm3=newfrmNumber(3);
frm3.Owner=this;
frm3.ShowDialog();
}
//歌名点歌
privatevoidbntName_Click(objectsender,EventArgse)
{
frmNumberfrm4=newfrmNumber(4);
frm4.Owner=this;
frm4.ShowDialog();
}
2.通过选择点歌的方式,可以知道歌曲的信息,查询可根据很多方面的信息而查到所向知道的歌曲的信息,所一就需要输入查询条件,根据查询条件而知道所向知道的信息,客户通过自己想要的方式查到歌曲的信息,相关的代码如下:
publicintintFalg=0;//控件点歌条件
privatevoidfrmNumber_Load(objectsender,EventArgse)
{
if(intFalg==1)//数字
{
this.Text="数字点歌";
}
if(intFalg==2)//拼音
{
this.Text="拼音点歌";
}
if(intFalg==3)//明星
{
this.Text="明星点歌";
}
if(intFalg==4)//歌名
{
this.Text="歌名点歌";
}
txtName.Focus();
}
//确定调用查询结果
tbMusicnfoMenthodtbMusice=newtbMusicnfoMenthod();//实例方法类
privatevoidbntOK_Click(objectsender,EventArgse)
{
if(txtName.Text=="")
{
MessageBox.Show("输入正确的查询条件!
");
txtName.Focus();
return;
}
frmDaiGedaige=(frmDaiGe)this.Owner;//实例窗体对象
if(intFalg==1)//数字
{
//调用方法查找结果,填冲控件
if(tbMusice.tbFill(daige.lvPlay,txtName.Text.Trim(),1)!
=0)
{
intFalg=0;
this.Close();
}
else
{
intFalg=1;
MessageBox.Show("没有查到结果,请输入其它条件");
txtName.Text="";
txtName.Focus();
}
}
if(intFalg==2)//拼音
{
if(tbMusice.tbFill(daige.lvPlay,txtName.Text.Trim(),2)!
=0)
{
intFalg=0;
this.Close();
}
else
{
intFalg=2;
MessageBox.Show("没有结查,请输入其它条件");
txtName.Text="";
txtName.Focus();
}
}
if(intFalg==3)//明星
{
if(tbMusice.tbFill(daige.lvPlay,txtName.Text.Trim(),3)!
=0)
{
intFalg=0;
this.Close();
}
else
{
intFalg=3;
MessageBox.Show("没有结查,请输入其它条件");
txtName.Text="";
txtName.Focus();
}
}
if(intFalg==4)//歌名
{
if(tbMusice.tbFill(daige.lvPlay,txtName.Text.Trim(),4)!
=0)
{
intFalg=0;
this.Close();
}
else
{
intFalg=4;
MessageBox.Show("没有结查,请输入其它条件\n可以断续输入查询条件或退出","查询提示");
txtName.Text="";
txtName.Focus();
}
}
}
3.如果用户查询到歌曲的信息之后,想做一些的修改删除,添加之类的修改,如果添加歌曲信息的话,则要录入新歌曲的详细信息,如修改的歌曲信息的话可根据某方面的信息进行相关的修该,如删除歌曲信息的话,则要对歌曲的信息进行全部的删除,并相应的保存到数据库里面,方便下次用户对歌曲的信息进行相关的操作,具体修改,删除,添加的操作代码如下:
#region添加
publicinttbMusicnfoAdd(tb_musicinfotb_aut)
{
intintResult=0;
try
{
getConnectiongetCon=newgetConnection();
oledCon=getCon.OledCon();
oledCon.Open();
stringstrAdd="insertintotb_musicinfovalues(";
strAdd+="'"+tb_aut.strMusic_code+"','"+tb_aut.strMusicC_name+"',";
strAdd+="'"+tb_aut.strMusic_author+"','"+tb_aut.strMusic_Kind+"',";
strAdd+="'"+tb_aut.strMusic_chinse+"','"+tb_aut.strMusic_filepath+"',";
strAdd+="'"+tb_aut.strMusic_Ping+"','"+tb_aut.daMusic_date+"',";
strAdd+="'"+tb_aut.intMusic_falg+"')";
oledcmd=newOleDbCommand(strAdd,oledCon);
intResult=oledcmd.ExecuteNonQuery();
returnintResult;
}
catch(Exceptionee)
{
MessageBox.Show(ee.Message.ToString());
returnintResult;
}
}
#endregion
#region修改
publicinttbMusicnfoUpdate(tb_musicinfotb_aut)
{
intintResult=0;
try
{
getConnectiongetCon=newgetConnection();
oledCon=getCon.OledCon();
oledCon.Open();
stringstrAdd="updatetb_musicinfoset";
strAdd+="MusicC_name='"+tb_aut.strMusicC_name+"',";
strAdd+="Music_author='"+tb_aut.strMusic_author+"',Music_Kind='"+tb_aut.strMusic_Kind+"',";
strAdd+="Music_chinse='"+tb_aut.strMusic_chinse+"',Music_filepath='"+tb_aut.strMusic_filepath+"',";
strAdd+="Music_Ping='"+tb_aut.strMusic_Ping+"',Music_date='"+tb_aut.daMusic_date+"',";
strAdd+="Music_falg='"+tb_aut.intMusic_falg+"'whereMusic_code='"+tb_aut.strMusic_code+"'";
oledcmd=newOleDbCommand(strAdd,oledCon);
intResult=oledcmd.ExecuteNonQuery();
returnintResult;
}
catch(Exceptionee)
{
MessageBox.Show(ee.Message.ToString());
returnintResult;
}
}
#endregion
#region删除
publicinttbMusicnfoDelete(stringtb_aut)
{
intintResult=0;
try
{
getConnectiongetCon=newgetConnection();
oledCon=getCon.OledCon();
oledCon.Open();
stringstrAdd="delete*fromtb_musicinfowhere";
strAdd+="Music_code='"+tb_aut+"'";
oledcmd=newOleDbCommand(strAdd,oledCon);
intResult=oledcmd.ExecuteNonQuery();
returnintResult;
}
catch(Exceptionee)
{
MessageBox.Show(ee.Message.ToString());
returnintResult;
}
}
#endregion
#region编号
publicinttbMusicnfoID()
{
intintResult=0;
try
{
getConnectiongetCon=newgetConnection();
oledCon=getCon.OledCon();
oledCon.Open();
stringstrAdd="selectMax(Music_code)fromtb_musicinfo";
oledcmd=newOleDbCommand(strAdd,oledCon);
oleRed=oledcmd.ExecuteReader();
oleRed.Read();
if(oleRed.HasRows)
{
if(oleRed[0].ToString()=="")
{intResult=1;}
else
{
intResult=Convert.ToInt32(oleRed[0].ToString())+1;
}
}
returnintResult;
}
catch(Exceptionee)
{
MessageBox.Show(ee.Message.ToString());
returnintResult;
}
}
#endregion
#region查询
publicvoidtbMusicnfoFill(objectobj)
{
try
{
getConnectiongetCon=newgetConnection();
oledCon=getCon.OledCon();
oledCon.Open();
stringstrAdd="select*fromtb_musicinfo";
oledcmd=newOleDbCommand(strAdd,oledCon);
oleRed=oledcmd.ExecuteReader();
ListViewlv=(ListView)obj;
lv.Items.Clear();
while(oleRed.Read())
{
ListViewItemlv1=newListViewItem(oleRed[0].ToString());
lv1.SubItems.Add(oleRed[1].ToString());
lv1.SubItems.Add(oleRed[2].ToString());
lv1.SubItems.Add(oleRed[3].ToString());
lv1.SubItems.Add(oleRed[4].ToString());
lv1.SubItems.Add(oleRed[5].ToString());
lv.Items.Add(lv1);
}
oleRed.Close();
}
catch(Exceptionee)
{
MessageBox.Show(ee.Message.ToString());
}
}
#endregion
5.2明星信息窗体
1.对明星信息的添加,修改,删除,关闭等方面进行相关的操作,即信息初始化,代码如下:
privatevoidbntAut_Click(objectsender,EventArgse)
{
//添加明星
frmAutonfrmAuAdd=newfrmAuton(1,"");
frmAuAdd.Owner=this;
frmAuAdd.ShowDialog();
}
publicstringstrNam