超市会员管理系统详细代码

上传人:第*** 文档编号:33619816 上传时间:2018-02-16 格式:DOC 页数:21 大小:400.50KB
返回 下载 相关 举报
超市会员管理系统详细代码_第1页
第1页 / 共21页
超市会员管理系统详细代码_第2页
第2页 / 共21页
超市会员管理系统详细代码_第3页
第3页 / 共21页
超市会员管理系统详细代码_第4页
第4页 / 共21页
超市会员管理系统详细代码_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《超市会员管理系统详细代码》由会员分享,可在线阅读,更多相关《超市会员管理系统详细代码(21页珍藏版)》请在金锄头文库上搜索。

1、数据库设计1 系统数据库分析数据库设计是建立数据库及其应用系统的技术,是系统开发和建设中的核心技术。具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效的存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库结构设计的好坏直接对应用系统的效率以及实现的效果产生影响。根据超市会员管理系统功能设计的需要,数据库结构设计如下所示:(1). 用户登录信息数据表(Login):(用户账号,密码,登录身份);(2). 会员基本信息数据表(Member):(用户账号,用户姓名,身份证号,联系方式,联系地址);(3). 职员基本信息数据表(Emplo

2、yee):(职员号,职员姓名,职员职位);(4). 会员积分信息数据表(Score):(会员账号,会员积分,会员等级,会员折扣);2 数据库概念结构设计根据上节的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为以后的逻辑结构设计打下基础,这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。各种实体具体的描述 E-R 图如下。1. 用户登录信息实体图主要描述了登录用户的基本情况,包括了用户的用户账号,密码,登录身份。如图 3-11 所示,用户登录信息实体 E-R 图。用户登录*用户账号 密码 登录身份图 3-12 用户登录实体的 E-R 图2. 会员基

3、本信息实体图主要描述会员的基本情况,包括了会员基本信息的用户账号,用户姓名,身份证号,联系方式,联系地址,得出如图 3-12 所示会员基本信息实体 E-R 图。会员基本信息*用户账号用户姓名身份证号联系方式联系地址图 3-13 会员基本信息实体的 E-R 图3. 职员基本信息实体图主要描述新生的基本情况,包括了职员基本信息的职员号,职员姓名,职员职位,得出如图 3-13 所示职员基本信息实体 E-R 图。职员基本信息*职员号 职员姓名 职员职位图 3-14 职员基本信息实体的 E-R 图4. 会员积分信息实体图主要描述会员积分的基本情况,包括了会员积分基本信息的会员账号,会员积分,会员等级,会

4、员折扣,得出如图 3-14 所示会员积分信息实体 E-R 图。会员积分信息*会员账号 会员积分 会员等级 会员折扣图 3-15 会员积分信息实体的 E-R 图实体之间的关系 E-R 图主要描述实体间的关系。会员基本信息*用户账号用户姓名身份证号联系方式联系地址获得会员积分信息*会员账号 会员积分 会员等级 会员折扣管理职员基本信息*职员号职员姓名职员职位111NN图 3-16 各实体之间的关系3.系统数据库的设计根据需求分析与概念结构设计,建立数据库系统支持的数据模型,即数据库的逻辑结构。本系统利用 Microsoft Access 2003 创建了名为 SuperMarket的数据库。本系统

5、主要建立了以下四张表:表 3.1 用户登录数据表字段名 数据类型字段大小是否主键DNO(登陆账号) 文本 6 是DCode(密码) 文本 12 否DUserSta(登录身份)文本 50 否表 3.2 会员基本信息数据表字段名 数据类型字段大小是否主键MNO(用户账号) 文本 6 是MName(用户姓名)文本 20 否MID(身份证号) 文本 18 否MTel(联系电话) 文本 50 否MAdd(联系地址) 文本 50 否表 3.3 职员基本信息数据表字段名 数据类型字段大小是否主键EID(职员号) 文本 6 是EName(职员姓名)文本 20 否EStatus(职员职位)文本 50 否表 3.

6、4 会员积分信息数据表字段名 数据类型字段大小是否主键MNO(会员账号) 文本 6 是MScore(用户积分)数字(double) 否MGrade(用户等 数字 否级) (long)MDiscount(用户折扣)数字(double) 否4. 表之间的关系表之间存在的关系如下:1在会员基本信息表(Member)中添加信息的同时,把信息添加到用户登录信息表(Login)中,同时将信息添加到积分信息表(Score)中。2在会员基本信息表(Member)中删除会员信息的同时,把用户登录信息表(Login)和用户积分信息(Score)中该会员信息删除。3在职员基本信息表(Member)中添加信息的同时,

7、将志愿的基本信息添加到用户登录信息表(Login)中。4在职员基本信息表(Member)中删除职员信息的同时,把用户登录信息表(Login)中该职员信息删除。详细设计与实现1. 系统首页图4-1 超市会员管理系统首页自定义工具栏按钮及鼠标提示信息的设计与实现:图4-2 主页面工具栏在对话框的 OnInitDialog 方法中常见工具栏窗口和图像列表窗口,关联图像列表,设置工具栏按钮文本,启动工具栏的 EnableToolTip 方法激活提示功能。鼠标提示信息的实现,处理 TTN_NEEDTEXT 消息的响应函数OnToolTipText() ,通过函数的参数获得工具栏按钮的 ID,从而根据 I

8、D 获取提示信息文本。1. 添加消息映射(最好写在 AFX_MSG_MAP 宏外,否则可能出现编译错误)ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW,0,0xFFFF,OnToolTipText)ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA,0,0xFFFF,OnToolTipText)2. 添加事件声明(最好写在 AFX_MSG 宏外,否则可能出现编译错误)afx_msg BOOL OnToolTipText(UINT nID, NMHDR* pNMHDR, LRESULT* pResult);2 登录页面系统运行后,首先展现给用户的是用户登录界面,用

9、户登录成功后进入到主页面,用户登录界面如下图所示:图4-3 用户登录界面用户登录有三种身份,管理员、普通职员、会员。管理员登录成功后,可以对系统各模块进行操作;普通职员登录成功后,除对职员的添加、删除外,均可实现操作;会员,则只能对自己的一些基本信息进行操作。登录界面由函数 void CLoginDlg:OnOK()实现处理,具体代码如下:/实现该功能的 SQL 语句sql=select * from Login where DNO=+Name+ and DCode=+ECode+ and DUserSta=+EStatus+; m_pRs-Open(_bstr_t)sql,theApp.co

10、nn.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);/登录成功与否、登录次数判断if ( m_pRs-GetRecordCount()adoEOF)CString temp;m_EList.InsertItem(1000,);for(int i=0;iGetFields()-GetItem(long)i)-Value;m_EList.SetItemText(row,i,temp);m_pRs-MoveNext();row+=1;4.3.2 会员密码修改此模块用于修改会员的登录密码。图 4-5 会员密码修改界面填入用户账号和

11、旧密码后,系统检查数据库中是否有该记录,如果存在该记录,则可填写新密码进行修改;若不存在,则系统给出提示信息。如下图:图 4-6 会员密码修改提示信息界面该模块单击事件由函数 void CECodeModifyDlg:OnOK()实现,具体代码如下:sql=Update Login set DCode=+NewCode+ where DNO=+Name+;trytheApp.conn-Execute(_bstr_t)sql,NULL,adCmdText);catch(_com_error &e)AfxMessageBox(e.Description();AfxMessageBox(修改成功);

12、4. 积分信息模块(1) 积分查询该功能实现界面如下:图 4-7 积分查询界面输入会员账号后,点击确定按钮,系统首先检查账号是否存在,若存在则输出该会员积分信息;若不存在,输出提示信息。实现原理如会员信息模块中的会员查询。实现函数为:void CJQueryDlg:OnOK()。在编辑框中的显示实现为:var = m_pRs-GetCollect(MScore);if(var.vt != VT_NULL)str1 = (LPCSTR)_bstr_t(var);GetDlgItem(IDC_EDIT_Jifen)-SetWindowText(str1); var = m_pRs-GetColle

13、ct(MGrade);if(var.vt !=VT_NULL)str2=(LPCSTR)_bstr_t(var);GetDlgItem(IDC_EDIT_Grade)-SetWindowText(str2);var = m_pRs-GetCollect(MDiscount);if(var.vt !=VT_NULL)str3=(LPCSTR)_bstr_t(var);GetDlgItem(IDC_EDIT_Discout)-SetWindowText(str3);(2) 积分兑换积分兑换功能的实现界面如下:图 4-8 积分兑换功能实现界面用户输入账号和密码后,点击兑换按钮,该按钮的实现中,首先检

14、查用户合法性。若用户已兑换过积分,则提示及兑换;若积分不够兑换等级,则提示积分不够;若兑换成功后,则显示用户等级和优惠折扣。该模块实现单击事件函数处理为:void CEXchangeDlg:OnOK(),具体实现如下:/修改数据库中积分sql=Update Score set MGrade=1,MDiscount=0.1 where MNO=+mzh+;trytheApp.conn-Execute(_bstr_t)sql,NULL,adCmdText);catch(_com_error &e)AfxMessageBox(e.Description();AfxMessageBox(兑换成功);(

15、3) 消费加分该模块功能将会员的消费金额换为消费积分,如下图:图 4-9 消费加分模块界面实现图输入用户账号和消费金额后,首先检查数据库中是否存在该记录,如果存在,则将该用户积分增加其消费金额数目,如不存在,系统弹出提示信息。模块单击事件处理由函数 void CXiaoFeiDlg:OnOK()实现,具体代码如下:sql=Update Score set MScore=MScore+JiE+ where MNO=+UserZH+;trytheApp.conn-Execute(_bstr_t)sql,NULL,adCmdText);catch(_com_error &e)AfxMessageBo

16、x(e.Description();AfxMessageBox(添加成功);(4) 优惠讯息该模块为静态功能。点击优惠讯息菜单即出现超市积分的优惠政策及兑换政策的对话框。5 基本信息管理模块1) .职员信息管理(1). 查询基本信息 该模块功能实现基本与会员基本信息查询相同,在此不再赘述。实现该功能的函数为:void CEmployeeDlg:OnOK();实现该功能的 SQL 语句为:sql=select * from Employee where EID=+EmpID+;(2). 修改职员信息该模块功能修改超市职员的基本信息。函数实现:void CMIMDlg:OnOK()。其实现如下:GetDlgItem(IDC_EDIT1_Em

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号