C#台球会员管理系统.docx
《C#台球会员管理系统.docx》由会员分享,可在线阅读,更多相关《C#台球会员管理系统.docx(21页珍藏版)》请在冰豆网上搜索。
C#台球会员管理系统
郑州科技学院
C#课程设计
院系信息工程学院
项目名称台球厅会员管理系统
班级10计科2班
学号*********
姓名张蕴举
指导老师王玉萍
完成日期2013年6月2号
会员管理系统开发与实现
郑州科技学院计算机科学与技术张蕴举(201015073)
指导老师:
***
摘要:
管理信息系统在现代社会已深入到各行各业,由于计算机技术的迅速发展和普及,信息管理系统MIS事实上已成为计算机管理信息系统,台球厅会员管理系统就是一个典型的管理信息系统,它可以让台球厅管理工作变的更轻松。
本C#课程设计的任务就是设计一个台球厅管理系统。
其开发过程主要包括前端应用程序的开发和后台数据库的建立和维护两个方面。
主要任务就是建立基本数据,后台程序主要负责的都是管理上的功能。
经过分析,本系统运用了MicrosoftSQLAccess2005为后台数据库,以Visualstudio.NET2010为前端开发工具,系统实现了系统管理、会员管理、消费管理等必需的功能,其操作简单,界面友好,运行比较稳定,适用于中、小型台球厅会员管理。
关键词:
台球厅会员管理系统;数据库管理系统;VisualStudio2010
第一章引言
1.1开发背景与现状
随着时代的发展,计算机技术越来越深入各行各业,为广大的用户提供了更为周到和便捷的服务。
目前各行各业广泛使用专用系统,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,设计开发好一个专用系统对一个机构(或部门)的发展十分重要。
近年来,随着用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术的广泛应用,向用户提供的服务将越来越丰富,越来越人性化。
对于台球厅而言,台球厅会员管理是必不可少的组成部分。
目前仍然存在有台球厅停留在台球厅管理人员手工记录会员数据的阶段,手工记录对于规模小的台球厅来说勉强可以接受;但对于会员信息量比较庞大,需要记录存档的数据比较多的台球厅来说,人工记录是相当麻烦的,而且当查找某条记录时,由于数据量庞大,只能依靠人工去一条一条地查找,这样不但麻烦而且浪费许多时间,工作效率比较低。
采用计算机来管理台球厅会员的信息,大大提高了查询的速度,节约了人力和物力资源,达到了预期的要求。
今天,计算机的价格已经十分低廉,性能却有了长足的进步。
它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:
首先,计算机可以代替人工进行许多繁杂的劳动;
其次,计算机可以节省许多资源;
第三,计算机可以大大的提高人们的工作效率;
第四,计算机可以使敏感文档更加安全,等等.
1.2开发设计的意义
为了实现提高台球厅工作人员的工作效率;充分利用资源;减少不必要的人力,物力和财力的支出;方便台球厅管理人员全面地掌握台球厅会员信息等的目的;为台球厅管理人员,开发设计专用系统--台球厅会员管理系统来进行管理台球厅会员信息,使会员信息实现标准化的管理和规范化的制度是十分必要的。
专用系统是一个信息管理系统MIS(ManagementInformationSystem)(以下就称信息管理系统),它将实现检索迅速和查找方便;信息的录入,修改和删除功能;以及对会员的积分操作和相关报表的查看功能。
1.3开发工具
1.3.1VisualStudio.NET2010简介
VisualStudio是微软公司出品的一款大型应用软件,从最初的VisualStudio97开始就成为编程的重要工具。
VisualStudio的开发经历了VisualStudio97,VisualStudio6.0,VisualStudio.NET(2002),VisualStudio.NET2003,VisualStudio2005.VisualStudio.NET,VisualStudio.NET2008,VisualStudio.NET2010是一套完整的开发工具,用于生成ASPWeb应用程序、XMLWebservices、桌面应用程序和移动应用程序。
VisualBasic.NET、VisualC++.NET、VisualC#.NET和VisualJ#.NET全都使用相同的集成开发环境(IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。
另外,这些语言利用了.NETFramework的功能,此框架提供对简化ASPWeb应用程序和XMLWebservices开发的关键技术的访问。
VisualStudio2008的集成开发环境中为开发人员提供了大量的实用工具以提高工作效率。
这些工具包括了自动编译、项目创建向导、创建部署工程等等。
VisualStudio2010还包括许多非常实用的功能.相比较于VisualStudio2005,VisualStudio2010不仅仅是在.NET版本的支持上发生了变化,其在许多方面都提供了改进乃至全新的功能。
VisualStudio2010的新增功能集中在以下几个方面:
●开发环境中的新增功能。
●代码编辑中的新增功能。
●项目、解决方案和项中的新增功能。
●生成、测试和部署中的新增功能。
●VisualStudio2010调试器的新增功能。
●VisualStudio2010中扩展性和自动化的新增功能。
●VisualStudio帮助中的新增功能。
1.3.2SQLsover2005简介
SQLServer是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。
SQLServer2005为IT专家和信息工作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。
通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力,SQLServer2005为不同规模的企业提供了一个完整的数据解决方案。
Microsoft仔细倾听了您的反馈,并对行业进行了认真研究,全世界的Microsoft研究团队共同努力,经过创造性思索才最终向您奉献出这一引入了上百种新增功能或改进功能的SQLServer2005。
这些功能将有助于您在以下三个主要方面提高业务:
1.企业数据管理
SQLServer2005针对行业和分析应用程序提供了一种更安全可靠和更高效的数据平台。
SQLServer的最新版本不仅是迄今为止SQLServer的最大发行版本,而且是最为可靠安全的版本。
2.开发人员生产效率
SQLServer2005提供了一种端对端的开发环境,其中涵盖了多种新技术,可帮助开发人员大幅度提高生产效率。
3.商业智能
SQLServer2005的综合分析、集成和数据迁移功能使各个企业无论采用何种基础平台都可以扩展其现有应用程序的价值。
构建于SQLServer2005的BI解决方案使所有员工可以及时获得关键信息,从而在更短的时间内制定更好的决策。
第二章系统分析
2.1可行性分析
一、经济的可行性
主要从对项目的经济上进行分析评价,一方面是支出的费用,包括设备购置费、管理和维护费用等等,另一个是取得的收益。
这是个小型的管理系统,从投入的人力,财力与物力来讲是非常之小的,只要一台电脑,就ok了。
所以这方面的因素基本可忽略。
二、技术上的可行性
技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户提出的要求(如计算机的容量、速度等)。
此外,还要考虑开发人员的水平,做为计算机科学与技术专业的学生,数据库设计方面还过得去。
C#语言是本学期所学的专业知识,所以语言编程方面不是大问题。
三、总结
通过以上两点的分析,编写或开发这个会员管理系统是可行的,只要这个系统能实现:
1、对会员数据的输入、修改、删除、浏览。
2、会员的消费情况。
3、有关设施的添加。
4、消费记录的浏览。
如果技术方面可行,浏览与查询方面的功能应该编写得强大一点,再好有条件组合的查询。
因为本系统比较的简单,所以就没实现这些复杂的功能。
2.2系统需求分析
第一部分:
调查用户需求
本系统的用户为台球厅管理员。
根据我们日常生活中的经验,结合对自己对会员管理系统的认识和从网上查到的相关的资料,得出用户的下列实际要求:
一、系统设置
比如系统登录,数据的备份、恢复。
这些由于没有硬性要求,所以就没有实现这些功能。
二、会员的管理
此部分我觉得应该有会员的录入、删除、修改等功能,最好还能有会员的积分管理,联系会员等等。
三、消费管理
会员消费,一般消费,消费记录等等。
四、设施管理
这个由于没有硬性要求,所以我只是简单的涉及了一点。
包括,台球桌添加,删除,等管理功能。
根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几模块:
第一模块:
会员管理部分
1、会员信息
1)添加会员
2)修改会员
3)删除会员
2、会员积分管理
第二模块:
消费管理
1、会员消费
2、一般消费
3、消费记录
第三模块:
设施管理
1、台球桌添加
2、台球桌删除
第四模块:
用户管理
1.用户密码修改
2.用户管理
2.3系统功能图
第三章详细设计
3.1数据库设计
考虑到将来数据的慢慢增加,Access数据库会不该用。
所以,我们决定使用SQLServer2005数据库。
3.1.1数据库表格设计
本系统的数据库名称为taiqui,下辖5个表格,分别为tb_user(用户信息),zhuo(设施信息),taiquiguanli(消费信息),huiyuan_guanli(会员信息)。
各个表格的详细信息如下:
表3.1tb_user表
字段名
类型
是否可为空
备注
Id
自动编号
否
编号
userName
文本
否
名字
userpsw
文本
否
密码
usersex
文本
否
性别
userphone
文本
是
电话
usercomboid
文本
否
身份
表3.2zhuo表
字段名
类型
是否可为空
备注
Zhuo_Id
自动编号
否
id
Zhuo_bianhoa
文本
否
桌编号
Zhuo_name
文本
否
桌名字
Zhuo_type
文本
否
桌状态
3.3taiqui_guanli表
字段名
类型
是否可为空
备注
taiqui_id
int
否
id
taiqui_zhuoh
文本
否
编号
taiqui_huiyu
文本
是
会员号
taiqui_xianj
文本
是
会员等级
taiqui_kaish
文本
是
开始
taiqui_jiesh
文本
是
结束
taiqui_youhu
文本
是
优惠率
taiqui_xiaof
文本
是
消费
3.4huiyuanguanli表
字段名
类型
是否可为空
备注
huiyuan_id
文本
否
会员编号
huiyuan_name
文本
否
会员名
huiyuan_sex
文本
否
会员性别
huiyuan_xianji
数字
否
会员现金
huiyuan_jifen
文本
否
会员积分
huiyuan_dengji
文本
否
会员等级
huiyuan_shenri
文本
是
会员生日
huiyuan_phone
日期/时间
是
会员电话
3.2模块设计
3.2.1管理员模块设计
对本系统的各个子模块进行了系统分析和数据库设计之后,本章将主要讨论该系统所实现的各部分功能:
(1)管理员登录界面
运行系统首先进入登录界面
(2)管理主界面
选择管理员进入管理员后台管理,会看到系统管理,会员管理,消费管理,帮助四个功能模块。
如图2:
3.2.1几个主要模块
1.会员管理
这个模块是对会员进行管理,主要有会员的添加、修改、删除,会员的积分管理,会员的联系(未实现)几个模块,
1)会员信息,包括会员的添加、修改、删除。
)用户添加,会员修改。
2.消费管理
消费管理主要有三个方面的功能,开桌,下桌。
3.设施管理
设施管理模块的功能是对台球桌进行添加和查询。
第四章编码、实现与测试
4.1数据库连接
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data;
usingSystem.Data.SqlClient;
namespacetaiqiu_huiyuan
{
classhelp
{
publicstaticstringusername;
publicstaticstringsqlconn="DataSource=DELL-PC\\SQL2005;InitialCatalog=taiqiu;IntegratedSecurity=True";
publicstaticSqlConnectionconn;
publicstaticstringsqlstr="";
publicSqlConnectiongetconn()
{
conn=newSqlConnection(sqlconn);
conn.Open();
returnconn;
}
publicvoidcon_close()
{
if(conn.State==ConnectionState.Open)
{
conn.Close();
conn.Dispose();
}
}
publicSqlDataReadergetcom(stringstr)
{
getconn();
SqlCommandcom=conn.CreateCommand();
com.CommandText=str;
SqlDataReaderread=com.ExecuteReader();
returnread;
}
publicvoidgetsqlcom(stringstr)//更ü新?
{
getconn();
SqlCommandsqlcom=newSqlCommand(str,conn);
sqlcom.ExecuteNonQuery();
sqlcom.Dispose();
con_close();
}
publicDataSetgetdataset(stringstr)
{
getconn();
SqlDataAdapteradp=newSqlDataAdapter(str,conn);
DataSetdataset=newDataSet();
adp.Fill(dataset);
con_close();
returndataset;
}
}
}
4.2系统实现
系统实现的部分代码如下:
(1)管理员登录代码
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringradiotext="";
if(radioButton1.Checked==true)
{
radiotext=radioButton1.Text;
}
if(radioButton2.Checked==true)
{
radiotext=radioButton2.Text;
}
hp.getconn();
stringsqlstr="select*fromtb_userwhereusername='"+textBox1.Text+"'anduserpsw='"+textBox2.Text+"'andusercomboid='"+radiotext+"'";
SqlDataReaderread=hp.getcom(sqlstr);
if(textBox1.Text=="")
{
MessageBox.Show("用户名不为空?
");
return;
}
help.username=textBox1.Text;
if(read.Read())
{
tainqiu_maintm=newtainqiu_main();
tm.Show();
this.Visible=false;
}
else
{
MessageBox.Show("用户名或密码错误!
");
}
}
添加会员部分代码
//添加会员
privatevoidbutton1_Click(objectsender,EventArgse)//添加
{
stringsqlstr1="select*fromtb_userwhereusername='"+textBox1.Text+"'";
if(radioButton1.Checked==true)
{
sex=radioButton1.Text;
}
if(radioButton2.Checked==true)
{
sex=radioButton2.Text;
}
SqlDataReaderread=hp.getcom(sqlstr1);
if(textBox1.Text==""||textBox2.Text==""||comboBox1.Text=="")
{
MessageBox.Show("用户名,密码,身份不能为空!
");
return;
}
if(read.Read()==false)
{
if(MessageBox.Show("确定添加用户"+textBox1.Text+"吗?
","提示?
",MessageBoxButtons.YesNo)==DialogResult.Yes)
{
stringsqlstr="insertintotb_user(username,userpsw,usersex,userphone,usercomboid)values('"+textBox1.Text+"','"+textBox2.Text+"','"+sex+"','"+textBox3.Text+"','"+comboBox1.Text+"')";
hp.getsqlcom(sqlstr);
MessageBox.Show("添加成功?
");
if(setadd!
=null)
{
setadd();
}
}
textBox1.Text="";
textBox2.Text="";
textBox3.Text="";
}
else
{
MessageBox.Show("该用户已经存在,在输入新的的用户");
}
}
会员消费部分代码
privatevoidbutton1_Click(objectsender,EventArgse)//开桌
{
textBox5.Text=DateTime.Now.ToString();
stringtype="开a桌哩?
;
stringsqlstr2="select*fromtaiqui_guanliwheretaiqui_huiyuanhao='"+comboBox2.Text+"'";
stringsqlstr3="select*fromtaiqui_guanliwheretaiqui_zhuohao='"+comboBox1.Text+"'";
stringsqlstr4="select*fromzhuowherezhuo_bianhao='"+comboBox1.Text+"'";
SqlDataReaderrader2=hp.getcom(sqlstr2);
SqlDataReaderrader3=hp.getcom(sqlstr3);
SqlDataReaderrader4=hp.getcom(sqlstr4);
if(comboBox2.Text=="")
{
MessageBox.Show("会员号不能为空?
");
return;
}
if(rader4.Read()==false)
{
MessageBox.Show("桌+comboBox1.Text.Trim()+"不存在,请查明输入");
return;
}
if(rader2.Read())
{
MessageBox.Show("会员号"+comboBox2.Text.Trim()+"正在使用,请用别的号");
return;
}
if(rader3.Read())
{
MessageBox.Show("桌+comboBox1.Text.Trim()+"已经开桌,请选别的桌子");
}
else
{
stringsqlstr1="select*fromzhuowherezhuo_bianhao='"+comboBox1.Text+"'";
SqlDataReaderread=hp.getcom(sqlstr1);
if(read.Read())
{
if(MessageBox.Show("确定为顾客"+comboBox2.Text.Trim()+"开"+comboBox1.Text.Trim()+"桌吗?
","提示",MessageBoxButtons.YesNo)==DialogResult.Yes)
{
stringsqlstr="insertintotaiqui_guanli(taiqui_zhuohao,taiqui_huiyuanhao,taiqui_huiyuandengji,taiqui_huiyuanxianjin,taiqui_kaishi,taiqui_youhuilu)values('"+comboBox1.Text+"','"+comboBox2.Text+"','"+textBox