理发店会员管理系统(共43页).doc
精选优质文档-倾情为你奉上河 北 联 合 大 学数据库课程设计说明书设计题目:理发店会员管理系统姓 名:霍晓亮学 号:1专 业:地理信息系统班 级:1班指导教师:黄丽王晓红王政矿业工程学院2014年 1 月 6 日专心-专注-专业 目录1. 概述11.1系统功能简介2 1.1.1 店内人员功能2 1.1.2 会员功能22. 需求分析2 2.1 店内对功能的要求3 2.2 会员对功能的要求33. 概念设计34. 行为设计75. 系统开发流程86. 系统使用说明及代码10 6.1系统开发环境10 6.2主要接口及代码10 6.2.1 登录界面及代码10 6.2.2主界面及代码12 6.2.3申请会员界面及代码17 6.2.4查询会员信息界面及代码20 6.2.5 会员充值与注销及代码22 6.2.6会员结账及代码28 6.2.7查询全部消费信息及导出数据代码337. 课程设计及心得398.参考文献401 概述 理发店会员管理系统 理发店会员管理系统是在当今社会服务业对于理发店管理的一套多功能的 系统。综合会员个人信息化的多种需求,推出许多应用功能,让理发店更好的进行会员管理|、员工管理、商品管理、会员消费管理,使理发店方便快捷的进行各项管理,是使理发店与会员进行信息交流和会员在理发店进行自我管理的良好工具。1.1系统功能简介(标题2,黑体,四号)理发店会员管理系统赋予了会员的查询、修改个人信息、修改个人密码功能,查询店内所售商品功能,查询消费信息功能,此系统的应用者主要是理发店的内部员工,员工可以向顾客提供申办、注销会员卡、查询会员信息等功能。店主也可以对店内员工进行添加、删除、修改、查询员工信息、给会员充值的功能,另外,此系统还实现了对会员与非会员的分别结账并将消费信息记录到数据库,还有对会员与非会员的消费情况的查询与统计。不仅如此,店内人员还可以添加商品、删除商品、查询商品库存。此外,本系统还有工具箱计算器、记事本、日历功能,方便快捷更实用。1.1.1 店内人员功能(标题3、楷体小四号字)一、 对会员的功能 申办会员卡 注销会员卡 查询、修改、删除会员信息 充值会员卡 会员(非会员)结账 会员(非会员)消费信息查询 消费表信息的导出和打印二、 对员工的功能 查询员工信息 查询、修改、删除员工信息 修改登录密码三、 对商品的功能 查询商品信息 添加、删除、修改商品信息1.1.2 会员功能 查询个人信息 修改个人密码 浏览店内商品2 需求分析需求分析是对整个系统的应用情况作全面、详细的调查,收集支持系统的设计目标的基础数据和对这些数据的要求,确定用户目标和用户需求,充分考虑系统可能的扩充和变动,使系统设计更符合未来的发展方向。需求分析是整个设计过程的基础、是最困难、最关键的一步。需求分析是整个数据库设计的起点和基础,需求分析的结果直接影响以后的设计,并影响到设计结果是否合理和实用。理发店会员管理系统面向的用户类别主要是店内员工,其次是会员。店主拥有的权限和功能是最多的,店主可以对店内的会员和职工进行增删改查等各项管理,对店内商品的管理,对会员与非会员的结账管理和入库,还可以对系统进行维护等操作。会员的需求是可以通过系统查询个人信息、修改个人信息、查询店内商品信息。2.1店内员工对功能的需求2.1.1 店内人员对会员的管理Ø 查询会员的基本信息Ø 查询会员的消费信息Ø 删除会员(注销会员卡)Ø 添加会员(申办会员卡)Ø 会员充值Ø 会员(非会员)结账Ø 会员(非会员)消费信息查询2.1.2店内人员对员工的管理Ø 查询员工的信息Ø 删除员工Ø 添加员工Ø 修改员工的个人信息(包括密码)Ø 数据库备份:对当前的信息进行备份,以防丢失。Ø 数据库还原:数据库遭到破坏后,可以用备份进行数据库还原。2.1.3店内人员对商品的管理Ø 查询商品的信息Ø 添加、删除、修改商品2.2会员对功能的需求Ø 查询个人信息Ø 修改登录密码Ø 浏览店内商品信息3概念设计需要绘制E-R图,绘图时图在上,图名在下,有表格时表名在上,表在下,表中文字比正文小一号概念结构设计是将需求分析得到的用户需求抽象为用户模型,即E-R图理发店会员管理系统实体的E-R图:商品名称商品Id会员余额登录密码会员办卡时间 商品单价会员Id商品info商品编号会员编号会员info商品库存购买会员姓名负责人编号会员类别职工Id服务会员Id会员编号消费职工姓名会员姓名职工信息家庭住址职工类型会员性别会员消费联系电话职工性别会员余额职工密码统计会员创建时间会员手机号码消费名称消费Id消费状态消费编号姓名消费信息服务技师消费评价消费金额消费时间会员信息表列名数据类型允许Null值主键会员Id int不允许Yes会员编号char(10)不允许会员姓名char(10)不允许会员状态 int不允许会员余额char(10)不允许申办时间datetime不允许密码char(10)不允许职工表列名数据类型允许Null值主键User_Idint不允许YesUser_Numchar(10)不允许User_Pwdchar(10)不允许User_Namechar(10)不允许User_Sexchar(10)不允许User_Mobilechar(10)不允许User_Typechar(10)不允许User_Addreschar(10)不允许user_statechar(10)不允许商品表列名数据类型允许Null值主键Sp_Idint不允许YesSp_b编号char(10)不允许Sp_名称char(10)不允许Sp_单价char(10)不允许Sp_库存char(10)不允许负责人编号char(10)不允许VIP消费表列名数据类型允许Null值主键VIP_Idint不允许YesVIP_Numchar(10)不允许VIP_Namechar(10)不允许VIP_Sexchar(10)不允许VIP_Mobilechar(10)不允许VIP_CreateTimedatetime不允许VIP_Moneymoney不允许Vip_typechar(10)不允许VIP_Stateint不允许消费信息表列名数据类型允许Null值主键XF_Idint不允许YesXF_Numchar(10)不允许XF_Namechar(10)不允许XF_ServerJSchar(10)不允许XF_Moneychar(10)不允许XF_Timedatetime不允许XF_Mydchar(10)不允许XF_Typeint不允许XF_Stateint不允许4行为设计本系统主要是店内人员对会员、员工、商品相关管理,需要完成的主要功能有:Ø 登录功能Ø 会员查询、修改、充值功能Ø 添加、删除、查询会员的功能Ø 添加、修改、删除、查询员工的功能Ø 数据库备份还原功能Ø 会员(非会员)结账功能Ø 消费信息的统计与记录功能绘制功能图如下:理发店会员管理系统会员功能内部功能退出系统登录消费管理查询商品信息修改个人密码查询个人信息系统管理结账管理查询消费信息商品管理员工管理会员管理5系统开发流程登录界面错误输入账号和密码判断用户类型成功成功会 员店内人员系统主接口会员主界面查询商品信息修改个人密码查询个人信息系统管理消费管理结账管理商品管理员工管理会员管理单会员消费查询全部会员消费查询数据库还原数据库备份非会员结账会员结账修改密码员工信息添加员工会员充值信息查询注销会员申办会员6系统使用说明及主要代码6.1、本系统开发环境:1)操作系统:windows72)数据库:SQL Sever 2005 3)编程工具:C#6.2、主要接口及代码:6.2.1登录界面及代码:代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 理发店会员管理系统 public partial class login : Form public login() InitializeComponent(); string str1 = Program.strcon; public static string kahao; private void button1_Click(object sender, EventArgs e) kahao = textBox1.Text; if (this.textBox2.Text = "" | this.textBox1.Text = "" | boBox1.Text = "请选择") MessageBox.Show("信息不能为空", "信息提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); else if (string)comboBox1.SelectedItem = "店内人员”) SqlConnection con = new SqlConnection(str1); con.Open(); SqlCommand com = new SqlCommand("select count(*) from 职工表 where User_Num ='" + this.textBox1.Text + "' and User_Pwd ='" + this.textBox2.Text + "'", con); int count = int.Parse(com.ExecuteScalar().ToString(); if (count > 0) con.Close(); this.Hide(); admin ad = new admin(); ad.Show(); else MessageBox.Show("请检查输入的信息" + boBox1.Text + "登录失败", "登录提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); this.textBox1.Text = "" this.textBox2.Text = "" boBox1.Text = "请选择" if (string)comboBox1.SelectedItem = "会员") SqlConnection con = new SqlConnection(str1); con.Open(); SqlCommand com = new SqlCommand("select count(*) from 会员info where 会员编号 ='" + this.textBox1.Text + "' and 密码 ='" + this.textBox2.Text + "'", con); int count = int.Parse(com.ExecuteScalar().ToString(); if (count > 0) con.Close(); this.Hide(); vipmain vip = new vipmain(); vip.Show(); else MessageBox.Show("请检查输入的信息" + boBox1.Text + "登录失败", "登录提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); this.textBox1.Text = "" this.textBox2.Text = "" boBox1.Text = "请选择" private void button2_Click(object sender, EventArgs e) this.Close(); 6.2.2 主界面及代码:代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;using 理发店会员管理系统.Mvip;using 理发店会员管理系统.Employ;namespace 理发店会员管理系统 public partial class admin : Form public admin() InitializeComponent(); private void 删除会员ToolStripMenuItem_Click(object sender, EventArgs e) 会员充值与注销 mainForm = new 会员充值与注销(); mainForm.Show(); private void 查询会员信息ToolStripMenuItem_Click(object sender, EventArgs e) VIPmes mainForm = new VIPmes(); mainForm.Show(); private void 会员充值ToolStripMenuItem_Click(object sender, EventArgs e) 会员充值与注销 mainForm = new 会员充值与注销(); mainForm.Show(); private void 添加会员ToolStripMenuItem_Click(object sender, EventArgs e) 添加会员 mainForm = new 添加会员(); mainForm.Show(); private void button1_Click(object sender, EventArgs e) 会员结账 mainForm = new 会员结账(); mainForm.Show(); private void button2_Click(object sender, EventArgs e) 结账_非会员_ mainForm = new 结账_非会员_(); mainForm.Show(); private void button3_Click(object sender, EventArgs e) if (DialogResult.OK = MessageBox.Show("您确定要退出系统吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) this.Dispose(); /要先释放掉所有的资源 Application.Exit(); /为避免先点击右上角的关闭按钮又取消后,将e.cancel=true保存,而不能退出,这是因为,Application.Exit()方法可以不引发FormClosing和FormClosed事件.所以这里需要先释放掉所有的资源。 private void toolStripLabel2_Click(object sender, EventArgs e) 会员消费查询 mainForm = new 会员消费查询(); mainForm.Show(); private void toolStripLabel3_Click(object sender, EventArgs e) 查询全部消费信息 mainForm = new 查询全部消费信息(); mainForm.Show(); private void toolStripLabel4_Click(object sender, EventArgs e) if (DialogResult.OK = MessageBox.Show("您确定要退出系统吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) this.Dispose(); /要先释放掉所有的资源 /Application.Exit(); /为避免先点击右上角的关闭按钮又取消后,将e.cancel=true保存,而不能退出,这是因为,Application.Exit()方法可以不引发FormClosing和FormClosed事件.所以这里需要先释放掉所有的资源。 login log = new login(); log.Show(); private void 添加员工ToolStripMenuItem_Click(object sender, EventArgs e) 添加员工 mainForm = new 添加员工 (); mainForm.Show(); private void admin_Load(object sender, EventArgs e) this.tlNames.Text = login.kahao.Trim(); private void 查询员工信息ToolStripMenuItem_Click(object sender, EventArgs e) 查询员工信息 mainForm = new 查询员工信息(); mainForm.Show(); private void toolStripMenuItem1_Click(object sender, EventArgs e) 商品管理 mainForm = new 商品管理 (); mainForm.Show(); private void 资料备份ToolStripMenuItem_Click(object sender, EventArgs e) 数据备份 mainForm = new 数据备份 (); mainForm.Show(); private void 计算器ToolStripMenuItem_Click(object sender, EventArgs e) System.Diagnostics.Process.Start("calc.exe"); private void 记事本ToolStripMenuItem_Click(object sender, EventArgs e) System.Diagnostics.Process.Start("notepad.exe"); private void 数据还原ToolStripMenuItem_Click(object sender, EventArgs e) 数据还原 mainForm = new 数据还原(); mainForm.Show(); private void 说明ToolStripMenuItem_Click(object sender, EventArgs e) 说明 mainForm = new 说明(); mainForm.Show(); private void 修改密码ToolStripMenuItem_Click(object sender, EventArgs e) 修改密码 mainForm = new 修改密码 (); mainForm.Show(); private void timer1_Tick(object sender, EventArgs e) toolStripLabel5.Text = DateTime.Now.ToString(); 6.2.3 申请会员界面及代码:代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 理发店会员管理系统.Mvip public partial class 添加会员 : Form DataClass.CommonClass CC = new DataClass.CommonClass(); public 添加会员() InitializeComponent(); private void button1_Click(object sender, EventArgs e) if (this.txtvipNum.Text = null | this.txtvipNum.Text = "" | this.txtvipName.Text = null | this.txtvipName.Text = "" | this.txtMobile.Text = null | this.txtMobile.Text = "" | this.txtMoney.Text = null | this.txtMoney.Text = "") MessageBox.Show("请先填写好完整信息"); return; try /判断会员卡号是否存在,如果存在则不添加,如果不存在,则添加 string sql = string.Format("select * from vip_custormer where vip_Num='0'", txtvipNum.Text); SqlDataReader read = CC.Getcom(sql); if (read.Read() MessageBox.Show("会员卡号已经存在!"); else string vipNum = this.txtvipNum.Text; string vipName = this.txtvipName.Text; int vipSex = this.cboSex.SelectedIndex; int vipType = this.cboType.SelectedIndex; string vipkey = this.txtkey.Text; string sex = "" if (vipSex = 0) sex = "男" else sex = "女" string vip_type = "" if (vipType = 0) vip_type = "贵宾卡" if (vipType = 1) vip_type = "金卡" if (vipType = 2) vip_type = "银卡" string mobile = this.txtMobile.Text; string createtime = DateTime.Now.ToString();