网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > 课程设计 > 正文

小型自选商场综合管理系统

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
小型自选商场综合管理系统(ER图+VC++Sql Server+源代码)摘要    在这个经济迅速发展的时代,商场销售的商品种类繁多、业务量大,单凭手工记帐已不能适合企业快速发展的需求。因此,小型自选商场综合管理系统应运而生,解决的传统方式工作量大、效率底的问题。    本系统采用面向对象编程,为用户提供一个可视化的操作界面;应用数据库存储销售的相关信息,实现了小型自选商场的进销存管理、员工管理。Abstract    In this era of rapid economic development, Shopping malls selling a wide range of goods and big business, Hand alone can not account for the rapid development of enterprise needs.So, Small-on-demand shopping malls integrated management system came into being, the problems of traditional way to resolve the workload and low efficiency has been resolved.    The system uses object-oriented programming, Provides users with a visual operation interface; Sales of database storage of relevant information to achieve a small-on-demand shopping malls Invoicing management and staff management.
 
目录(contents)摘要 1第一章 开发环境介绍 41.1开发工具与环境 41.2 运行环境 41.3 Visual C++6.0介绍 41.4 SQL Server2000介绍 5第二章 需求分析 52.1系统概述 52.2 系统功能 62.3 系统设计 8第三章 数据库设计 103.1 数据库逻辑结构设计 103.2 数据库物理结构设计 12第四章 功能模块设计 164.1主窗体、系统登陆窗体程序设计 164.1.1概述 174.1.2主窗口设计 174.1.4数据库连接设计 194.1.5登陆对话框设计 234.2基础信息管理模块设计 264.2.1基础信息管理概述 264.2.2 程序设计 284.2.3 程序运行界面 294.3销售\入库管理模块设计 304.3.1销售\入库管理概述 304.3.2业务流程 314.3.3 设计完成的类图 314.3.4 程序运行界面 324.4信息查询模块设计 334.4.1信息查询概述 334.4.2设计步骤 334.4.3 程序运行界面 344.5系统管理模块设计 344.5.1系统管理概述 344.5.2 设计步骤 354.5.3 程序运行界面 37第五章 调试 38总结 38参考文献170
 
小型自选商场综合管理系统第一章 开发环境介绍1.1开发工具与环境(1)Sql Server 2000(2)Visual C++ 6.0(3)PhotoShop 10.0(4)Windows XP sp21.2 运行环境硬件要求: CPU: Intel 或兼容的 Pentium、Pentium Pro 或 Pentium II 处理器的计算机上运作。处理器必须以最低 166 MHz 的速度运行 内存:最低 64 MB,推荐使用 128 MB 硬盘:数据库组件95到270MB,通常需要250MB;Analysis Services 最低50MB,通常需要130MB;English Query 80MB;仅Desktop Engine 44 MB 显示设备: 显示器具有VGA分辨能力.图形工具要求显示器使用 800x600或更高的分辨率。软件要求: 操作系统: * Windows 2000 * Microsoft Windows NT 4.0 版 Service Pack 5 或更高版本 * Windows Millennium Edition * Windows 98 * Windows 95(仅客户端连接选项)1.3 Visual C++6.0介绍Visual C++是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C++1.0后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。Visual C++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。1.4 SQL Server2000介绍SQL Server 2000,是Microsoft 公司推出的SQL Server 数据库管理系统的新版本。该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优点。可跨越从运行Microsoft Windows xp 的膝上型电脑,到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。第二章 需求分析2.1系统概述 小型商品销售综合管理系统是专门针对商场、超市的综合业务而开发的综合管理系统。该软件集进、销、存为一体,同时实现了商品信息、员工信息、客户信息以及供应商信息的管理;实现了对销售信息的查询、对入库信息的查询、对员工销售业绩的查询。本软件的前台采用面向对象的编程语言Visual C++ 6.0开发,后台采用SQL Server 2000数据库。2.2 系统功能系统功能图: 基本信息:基本信息管理主要由员工信息管理、客户信息管理、商品信息管理、供应商信息管理4部分组成。 员工信息管理主要完成员工编号、员工姓名、员工性别、员工职务、员工工资、员工备注信息的设置。员工基础信息的建立,可以达到如下目标:(1)记录员工的详细信息(2)可按不同字段、不同条件查询员工信息,同时支持模糊查找。 客户信息管理主要完成客户编号、客户名称、邮编、地址、电话、联系人、联系人、电话、备注的设置。客户基础信息的建立,可以达到如下目标:(1)记录客户的联系方式和联系人。(2)完成客户基础信息的设定,以备其他模块随时调用。(3)按不同字段、不同条件查询客户的基础信息,同时支持模糊查找。 商品信息管理主要完成商品_编号]、商品_名称、产地、规格、单位、商标、进价、批发价、零售价、保质期、供应商、备注的设置。商品基础信息的建立,可以达到如下目标:(1)为每种商品制定多个销售价格,对不同客户使用不同价格。(2)通过保质期有效管理商品的存储。(3)按不同字段、不同条件查询商品基础信息,同时支持模糊查找。 销售管理:销售管理由销售登记、销售信息查询组成。 销售登记主要完成商品销售工作。达到一下目标:(1)自动生成17位数的销售登记票号。(2)完成商品批量销售工作,付款方式可采取现金与支票,并可挂帐。(3)销售采用表单式录入,可一次录入多种商品。单击单元格,弹出自动提示窗口,完成销售信息的快速录入。按【Enter】键,该商品信息将自动录入表格,只需输入销售数量(系统自动计算商品金额),按【Enter】键即可销售下一种商品。(4)自动计算商品销售金额。(5)删除当前显示的商品信息。 销售查询通过条件查询商品的销售信息。主要达到一下目标:(1)按不同字段、不同条件查询药品的销售信息,支持模糊查找。(2)支持在查询结果种做进一步的细致查询操作。(3)以页框和列表两种方式显示查询结果。 进货管理:进货管理由入库登记、入库信息查询组成。 入库登记完成商品的入库操作。主要达到一下目标:(1)自动生成17位数的入库登记票号。(2)完成商品的批量入库工作,付款方式可采取现金与支票,并可挂帐。(3)商品入库采用表单式录入,可一次录入多种商品。(4)自动计算商品入库金额。 入库信息查询按条件查询商品的入库信息。(1)按不同字段、不同条件查询商品的入库信息,同时支持模糊查找。(2)支持在查询结果中进行查询操作。(3)以页框和列表两种方式显示查询结果。 信息查询:信息查询由员工销售信息查询、库存信息查询组成。 员工销售信息查询完成员工月销售情况的查询。 库存信息查询完成各仓库商品存储情况的查询。 系统管理:系统管理由仓库信息管理、修改用户密码、用户登陆设置3部分组成。 仓库信息管理达到一下目标:(1)显示出所有仓库名称及其管理员编号和姓名。(2)增加仓库及其管理员。(3)修改仓库的管理员。(4)删除仓库信息。 修改用户密码完成当前用户密码的修改。 用户登陆设置完成登陆用户的添加与删除操作。2.3 系统设计小型自选商场综合管理系统面向用户及操作员与系统业务功能对应关系入下图:
 
小型自选商场综合管理系统系统设计目标: 建立规范的业务管理模式,是业务人员从繁忙的手工开票登工作中解脱出来,提高工作效率,减少人为差错。 提供快速、准确的处理企业商品进、销、存业务模式。 系统界面友好美观,操作简单易行,查询灵活方便,数据存储安全可靠。设置小型自选商场综合管理系统结构图如下:数据字典:重要数据及其简要描述如下表:数据项名称 说明商品编号 惟一标识一种商品,形式如:SP00001员工编号 惟一标识一位员工,形式如:YG00001客户编号 惟一标识一个客户,形式如:KH00001供应商编号 惟一标识一个供应商,形式如:GYS00001销售票号 以此记录一次销售登记。形式如:2007-12-31xsd0001入库票号 以此记录一次入库登记。形式如:2007-12-31rkd0001毛利 销售某种商品获得的利润操作员 系统登陆者经手人 对某次业务或交易实际上直接操作者仓库名称 惟一标识某个仓库警戒上限 商品数量的最高限警戒下限 商品数量的最低限品种数 销售、入库时交易的商品种数结算方式 进行交易时所采取的结算方式是否结清 记录某笔交易是否已结清帐数据存储名称 说明商品信息表 记录商品的基本信息员工表 记录员工的基本信息客户表 记录客户的基本信息供应商表 记录供应商的基本信息仓库表 记录仓库的基本信息库存表 记录库存信息销售登记表 记录销售时的商品及数量信息销售票号表 记录销售时的客户、经手人、操作员、日期等信息入库登记表 记录入库时的商品及数量信息入库票号表 记录入库时的供应商、经手人、操作员、日期等信息计算方式表 用于存储结算方式登陆表 用户存储登陆信息第三章 数据库设计3.1 数据库逻辑结构设计商品信息表实体E-R图:员工表实体E-R图:客户表实体E-R图:
供应商表实体E-R图:仓库表实体E-R图:库存表实体E-R图:销售登记实体E-R图:销售票号实体E-R图:
入库登记实体E-R图:入库票号实体E-R图:3.2 数据库物理结构设计本系统数据库名为Shopping.数据库"Shopping"中共包含28个表.其中作为临时表的由16个,作为数据存储表的有12个.临时表: lsygxs0,lsygxs1,lskcquery0,lskcquery1,lsspinfo0,lsspinfo1,lsrkquery0,lsrkquery1,lsxsquery0,lsxsquery1,lsyg0,lsyg1,lsgys0,lsgys1,lskh0,lskh1;数据存储表:商品信息,员工,客户,供应商,仓库,库存,销售登记,销售票号,入库登记,入库票号,计算方式,登陆;
销售相关E-R图:入库相关E-R图:(1)商品信息表商品信息表用于存储商品相关信息.字段名称 数据类型 字段大小 可否为空 说明商品_编号 varchar 50 Not Null 商品编号商品_名称 Varchar 50 Not Null 商品名称产地 Varchar 50 Null 商品产地规格 Varchar 50 Null 商品规格单位 Varchar 50 Null 商品单位商标 Varchar 50 Null 商品商标进价 Float 8 Null 进价批发价 Float 8 Null 批发价零售价 Float 8 Null 零售价保质期 Varchar 50 Null 保质期供应商 Varchar 50 Null 供应商备注 Varchar 50 Null 备注(2)员工表:员工表用于存储员工的相关信息.
 
小型自选商场综合管理系统(ER图+VC++Sql Server+源代码)字段名称 数据类型 字段大小 可否为空 说明员工_编号 Varchar 50 Not null 编号员工_姓名 Varchar 50 Not null 姓名员工_性别 Varchar 50 Not null 性别员工_职务 Varchar 50 Not null 职务员工_工资 Float 8 Null 工资员工_备注 Varchar 50 Null 备注(3)客户表:客户表用于存储客户的相关信息.字段名称 数据类型 字段大小 可否为空 说明客户_编号 Varchar 50 Not null 编号客户_名称 Varchar 50 Not null 名称邮编 Char 6 Null 邮编地址 Varchar 50 Null 地址电话 Varchar 50 Null 电话联系人 Varchar 50 Null 联系人联系人电话 Varchar 50 Null 联系人电话备注 Varvhar 50 Null 备注(4)供应商表:供应商表用于储存供应商相关信息.字段名称 数据类型 字段大小 可否为空 说明供应商_编号 Varchar 50 Not null 编号供应商_名称 Varchar 50 Not null 名称邮编 Char 6 Null 邮编地址 Varchar 50 Null 地址电话 Varchar 50 Null 电话联系人 Varchar 50 Null 联系人联系人电话 Varchar 50 Null 联系人电话备注 Varvhar 50 Null 备注(5)仓库表:仓库表用于存储有关仓库信息.字段名称 数据类型 字段大小 可否为空 说明仓库_名称 Varchar 50 Null 仓库名称员工_编号 Varchar 50 Null 仓库管理员(6)库存表:库存表用于存储商品的库存信息.字段名称 数据类型 字段大小 可否为空 说明商品_编号 Varchar 50 Null 商品编号仓库_名称 Varchar 50 Null 存储的仓库库存_数量 Int 4 Null 库存量库存_上限 Int 4 Null 最大库存量库存_下限 Int 4 Null 最小库存量(7)销售登记表:销售登记表用于记录销售时的商品及数量信息.字段名称 数据类型 字段大小 可否为空 说明销售_票号 Varchar 50 Not null 销售票号商品_编号 Varchar 50 Not null 商品编号仓库_名称 Varchar 50 Not null 仓库名称数量 Int 4 Null 销售数量单价 Float 8 Null 销售单价金额 Float 8 Null 总金额毛利 Float 8 Null 利润(8)销售票号表:销售票号表用于记录销售时的客户、经手人、操作员、日期等信息.字段名称 数据类型 字段大小 可否为空 说明销售_票号 Varchar 50 Not null 销售票号客户_编号 Varchar 50 Not null 客户编号品种数 Int 4 Null 品种数应付 Float 8 Null 应付实付 Float 8 Null 实付未付 Float 8 Null 未付是否结清 Bit 1 Null 是否结清日期 Datetime 8 Null 销售日期操作员 Varchar 50 Null 系统登陆者经手人 Varchar 50 Null 业务处理者结算方式 Varchar 50 Null 结算方式(9)入库登记表:入库登记表用于记录入库时的商品及数量信息.字段名称 数据类型 字段大小 可否为空 说明入库_票号 Varchar 50 Not null  入库编号商品_编号 Varchar 50 Not null 商品编号仓库_名称 Varchar 50 Not null 仓库名称数量 Int 4 Null 商品数量单价 Float 8 Null 单价金额 Float 8 Null 总金额(10)入库票号表:入库票号表用于记录入库时的供应商、经手人、操作员、日期等信息.字段名称 数据类型 字段大小 可否为空 说明入库_票号 Varchar 50 Not null 入库票号供应商_编号 Varchar 50 Not null 供应商编号品种数 Int 4 Null 品种数应付 Float 8 Null 应付实付 Float 8 Null 实付未付 Float 8 Null 未付是否结清 Bit 1 Null 是否结清日期 Datetime 8 Null 销售日期操作员 Varchar 50 Null 系统登陆者经手人 Varchar 50 Null 业务处理者结算方式 Varchar 50 Null 结算方式(11)结算方式表:结算方式表用于存储结算方式.字段名称 数据类型 字段大小 可否为空 说明结算方式 Varchar 50 Not null 结算方式(12)登陆表:登陆表用于用户存储登陆信息.字段名称 数据类型 字段大小 可否为空 说明员工_编号 Varchar 50 Not null 员工编号登陆_密码 Varchar 50 Null 登陆密码第四章 功能模块设计4.1主窗体、系统登陆窗体程序设计
4.1.1概述本章主要完成程序框架的生成,系统登陆程序设计的内容.包括窗体程序、系统登陆程序两部分. 主窗体程序主窗体程序时本软件的交互控制中心,主要实现个功能模块的调用. 系统登陆程序对进入系统的用户进行安全性检查,防止非法用户进入系统.只有合法用户在输入正确的管理员姓名和密码后,方可进入系统.4.1.2主窗口设计4.1.2.1 设计思路(1)利用AppWizard生成程序框架.(2)利用资源编辑生成相关资源.(3)利用类生成状态栏.4.1.2.2 主窗体设计 创建主窗体: (1)启动Visual C++ 6.0,选择【File】/【New..】菜单项。从弹出的新建 对话框中选择【Project】标签,在左边的列表中选择“MFC App  Wizard(exe)”,在右边的工程编辑框中写工程名为“Shopping”,在位 置编辑框中选择工程的路径。其他缺省不变,单击【Next】进入下一 个设置界面。 (2)在接下来的对话框【MFC AppWizard - Step1】中,选择应用程序 类型为“Dialog based”,其他缺省,单击【Next】进入下一个设置界 面。 (3)在【MFC AppWizard - Step2】中采用缺省设置,单击【Next】进 入下一个设置界面。 (4)在【MFC AppWizard - Step3】中采用缺省设置,单击【Next】进 入下一个设置界面。 (5)在【MFC AppWizard - Step4】中采用缺省设置,在这里按【Finish】。
 
小型自选商场综合管理系统 创建程序菜单:(1)在工作区窗口(Workspace窗口)右键单击【Shopping resources】选项,在弹出菜单中选择【Insert…】选项,将弹出【Insert Resource】对话框。在该对话框中选择【Menu】选项,然后单击【New】按钮,生成一个菜单资源。(2)在菜单资源中添加菜单选项信息,如下图:  设置背景:(1)在资源对话框商放一个Picture控件。(2)加入一个需要的Bitmap资源,设置为IDB_BITMAP_BACK。(3)设置Picture控件属性类型为Bitmap,图像为IDB_BITMAP_BACK。 状态栏:为使应用程序操作界面更加友好,可以使用状态条显示程序当前的状态信息或提示信息。在VC中提供了CstatusBarCtrl类显示状态栏。在本程序中利用状态条显示操作者、日期、时间等信息。分析功能:显示操作员名字、制作者、及时间。其中制作者是常量字符串,可以将其加为字符串资源;操作员名字,是登陆的用户名,将其放在应用程序类中,这样,就可以在程序的任何地方都可以访问了;时间,需要设置OnTimer时间来处理当时间改变时,刷新显示。其部分创建代码,BOOL CShoppingDlg::OnInitDialog()中加入如下代码: CTime t=CTime::GetCurrentTime(); CString s=t.Format("%H:%M:%S");   CShoppingApp* app=(CShoppingApp*)::AfxGetApp(); s="当前系统时间:"+s; CString str;
 CRect rect; this->GetClientRect(&rect);
 m_StatusBarCtrl.Create(WS_CHILD|WS_VISIBLE|CCS_BOTTOM,rect,this,ID_STATUS_BAR_CTRL);  int indicators[3]; indicators[0]=rect.Width()*3/7; indicators[1]=rect.Width()*5/7; indicators[2]=rect.Width(); m_StatusBarCtrl.SetParts(3,indicators);
 str.LoadString(IDS_AUTHOR);
 m_StatusBarCtrl.SetText(str,0,SBT_POPOUT); m_StatusBarCtrl.SetText("当前操作员:"+app->m_sUserName,1,SBT_POPOUT); m_StatusBarCtrl.SetText(s,2,SBT_POPOUT);
 this->SetTimer(12,1000,NULL);显示效果: 主窗体界面如下: 4.1.4数据库连接设计4.1.4.1 实现目标为了方便数据库连接的统一控制和方便对异常的捕捉,需要将ADO封装到类中。在头文件StdAfx.h中加入下列代码引入ADO对象。#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")4.1.4.2 设计思路本类将封装以下内容:(1)无返回记录运行SQL语句。(2)有返回记录运行SQL语句。(3)开始事务,提交事务。(4)初始化ADO对象。(5)连结数据库。(6)断开数据库连接。为了始终只有 一个ADO对象连结数据库,只定义一个连结(Connection)对象。将其声明为静态的,与其相关的操作也设成静态的,由于要频繁的访问数据库,所以,需要一个记录(Recordset)对象作为成员变量。在工程中添加RunSql.h和RunSql.cpp文件。头文件声明如下:class LRunSql{public: LRunSql(); ~LRunSql(); bool RunSQL(CString sql); bool CheckSQLResult(CString sql);public: static _ConnectionPtr m_database;
 static bool RollbackTrans(); static bool CommitTrans(); static bool BeginTrans(); static bool Close(); static bool InitConnectPtr(); static bool ConnectDataBase();
 _RecordsetPtr m_recordset;};函数定义如下:LRunSql::LRunSql(){
 m_recordset.CreateInstance(__uuidof(Recordset)); }bool LRunSql::RunSQL(CString sql){ _bstr_t sql_=sql; try {  m_recordset=m_database->Execute(sql_,NULL,adCmdText); } catch(_com_error& e) {  ErrorsPtr pErrors=m_database->GetErrors();  if (pErrors->GetCount()==0)  {   //-------------------------------------------------------------------   // 错误信息提示   //AfxMessageBox(e.ErrorMessage());   afxDump<GetCount();i++)   {    _bstr_t desc=pErrors->GetItem((long)i)->GetDescription();    //-------------------------------------------------------------------------    //  错误信息提示    AfxMessageBox(desc);    afxDump<<(char*)desc;   }  }  return false;   } return true; }bool LRunSql::CheckSQLResult(CString sql){ if(!this->RunSQL(sql))   return false; else {  if(!this->m_recordset->adoEOF)   return true;lwfree.cnbool LRunSql::ConnectDataBase(){ try {  m_database->Open(L"Shopping","","",-1); } catch(...) {  MessageBox(NULL,"连结数据库错误!","系统提示",MB_OK|MB_ICONSTOP);  ::ShellExecute(NULL,"open","AutoConfig.exe",NULL,NULL,SW_HIDE);  return false;  }   return true;}bool LRunSql::InitConnectPtr()
 
小型自选商场综合管理系统{ if(FAILED(m_database.CreateInstance(__uuidof(Connection))))  return false; if(ConnectDataBase()==false) {  ::Sleep(1000);   if(ConnectDataBase()==false)  {   MessageBox(NULL,"系统试图自动为您配置ODBC,但由于一些原因没有完成,请手工配置!","系统提示",MB_OK|MB_ICONSTOP);   return false;  } } return true;}bool LRunSql::Close(){ return (!FAILED(m_database->Close()));}bool LRunSql::BeginTrans(){ return (!FAILED(m_database->BeginTrans())); }
bool LRunSql::CommitTrans(){ return (!FAILED(m_database->CommitTrans()));}bool LRunSql::RollbackTrans(){ return (!FAILED(m_database->RollbackTrans()));}4.1.5登陆对话框设计4.1.5.1 实现目标程序启动后,首先进入系统登陆程序验证用户密码。系统登陆程序主要实现如下功能。 输入密码的控件采用文本框。密码如果输入正确,进入系统,否则将提示错误,并返回密码输入框。 记录错误次数,录入密码错误3次将自动退出系统。
系统登陆程序运行结果如下图: 4.1.5.2 设计思路(1)判断用户密码是否与数据库密码相符,若相符,进入系统。(2)增加变量m_iLogOnCount,记录错误次数。4.1.5.3 程序开发步骤(1)增加对话框资源,设计窗体资源符号为IDD_LOGIN_DIALOG。在对话框中添加相关的资源。(2)系统登陆程序要在显示主窗体之前显示,在BOOL CshoppingApp::InitInstance()中加入如下代码: if(!AfxOleInit())//这就是初始化COM库 {  AfxMessageBox("OLE初始化出错!");  return FALSE; }lwfree.cn   pdlg->DoModal();  //显示主窗口   delete pdlg;   pdlg=NULL; }
 LRunSql::Close();  //断开数据库连(3)当用户单击【确定】时,进行密码判断和次数判断。处理【确定】按钮的消息响应函数如下:void CDlgLogin::OnOK() lwfree.cn  ,sUserName,sInputPassWord,sUserID; LRunSql m_runsql; CString sql; _variant_t value; CString sError; // 更新数据变量 this->m_editPassWord.GetWindowText(sInputPassWord); this->m_editUserName.GetWindowText(sUserName); CShoppingApp* App=(CShoppingApp*)AfxGetApp(); sql.Format("select 员工_编号 from 员工 where 员工_姓名='%s'",  sUserName); if(m_runsql.CheckSQLResult(sql)) {    value=m_runsql.m_recordset->GetCollect("员工_编号");  if(value.vt!=VT_NULL)   sUserID=(char*)(_bstr_t)value;  sql.Format("select 登陆_密码 from 登陆 where 员工_编号='%s'", sUserID);  if(m_runsql.CheckSQLResult(sql))  {
 
小型自选商场综合管理系统(ER图+VC++Sql Server+源代码)value=m_runsql.m_recordset->GetCollect("登陆_密码");   if(value.vt!=VT_NULL)    sUserPassWord=(char*)(_bstr_t)value;   if(sUserPassWord==sInputPassWord)   {    App->m_sUserName=sUserName;    bLogOn=TRUE;   }   else   {    sError="请重新输入密码。\n注意大小写!","密码错误";    this->m_editPassWord.SetFocus();   }  }  else  {   sError="请确认用户名大小写是否正确!","无此用户";   this->m_editUserName.SetFocus();  } } else {  sError="请确认用户名大小写是否正确!","无此用户";  this->m_editUserName.SetFocus(); } if(bLogOn)   EndDialog(IDOK); else  {   m_iLogOnCount++;  if(m_iLogOnCount>=3)   this->EndDialog(0);  else   MessageBox(sError); }}4.2基础信息管理模块设计4.2.1基础信息管理概述4.2.1.1功能分析基础信息管理包括员工信息管理、客户信息管理、商品信息管理、供应商信息管理4个子模块。 员工信息管理模块主要管理员工信息。只有录入了员工信息,才能有效地对员工工作状况进行管理;才能有权利登陆。 商品管理模块主要管理商品信息。只有录入了商品信息,才能在销售和入库时进行操作。 客户信息管理模块主要管理客户信息。只有录入了客户信息,才能进行商品销售。 供应商管理模块主要管理供应商信息,只有录入了供应商,才能进行入库操作。4.2.1.2 业务流程4.2.1.3开发流程设计完成的类图开发流程如下:4.2.2 程序设计(1)员工信息查询管理:新建对话框资源IDD_YGCX_DIALOG,添加DataYG类和TabYG类,添加代码实现相关操作。(2)商品信息查询管理:新建对话框资源IDD_SPCX_DIALOG,添加DataSP类和TabSP类,添加代码实现相关操作。(3)客户信息查询管理:新建对话框资源IDD_KHCX_DIALOG,添加DataKH类和TabKH类,添加代码实现相关操作。(4)供应商信息查询管理:新建对话框资源IDD_KCINFO_DIALOG,添加DataGYS类和TabGYS类,添加代码实现相关操作。4.2.3 程序运行界面(1)员工信息查询管理: (2)商品信息查询管理:(3)客户信息查询管理: 4.3销售\入库管理模块设计4.3.1销售\入库管理概述销售管理主要完成商品销售信息的管理,包括销售登记、销售查询2个子模块。 销售登记模块:
 
小型自选商场综合管理系统(ER图+VC++Sql Server+源代码)进行商品销售登记。 销售查询:可设置多种查询条件查询商品的销售信息。入库管理主要完成商品入库信息的管理,包括入库登记、入库查询2个子模块。 入库登记模块:进行商品入库登记。 入库查询:可设置多种查询条件查询商品的入库信息。
4.3.2业务流程销售\入库管理模块业务流程如下图:4.3.3 设计完成的类图
4.3.4 程序运行界面(1)销售登记 (2)入库查询 4.4信息查询模块设计4.4.1信息查询概述信息查询主要包括员工销售信息查询、库存信息查询2个子模块。 员工销售信息查询实现按月查询员工的销售记录。 库存信息查询实现各商品库存信息的查询。4.4.2设计步骤(1)新建两对话框资源:员工查询对话框IDD_YGXSCX_DIALOG和村村信息查询对话框IDD_KCINFO_DIALOG。(2)添加的新类为:TabYGXS、TabKC、DataYGXS、DataKC。(3)添加部分代码如下:初始化员工销售信息查询对话框void CShoppingDlg::OnYgcx() { // TODO: Add your command handler code here CDlgYGCX dlg; dlg.DoModal();}初始化库存信息查询对话框void CShoppingDlg::OnKcinfo() { // TODO: Add your command handler code here CDlgKCINFO dlg; dlg.DoModal();}
 
4.4.3 程序运行界面员工销售信息查询界面 库存信息查询界面 4.5系统管理模块设计4.5.1系统管理概述系统管理包括仓库信息管理、修改用户密码、用户登陆设置3个模块。 仓库信息管理:可以修改、添加、删除仓库信息。 修改用户密码:可以修改当前登陆者密码。 用户登陆设置:可以删除、添加登陆者。4.5.2 设计步骤4.5.2.1仓库信息管理设计(1)添加对话框资源: IDD_CKGL_DIALOG和IDD_THECK_DIALOG(2)IDD_CKGL_DIALOG用于显示仓库的有关信息及可执行的操作,IDD_THECK_DIALOG用于添加仓库信息。(3)编辑相关代码。(4)在主窗口程序中添加消息响应代码:void CShoppingDlg::OnKcinfo() { // TODO: Add your command handler code here CDlgKCINFO dlg; dlg.DoModal();}4.5.2.2修改用户密码设计(1)添加对话框资源: IDD_XGMM_DIALOG。在对话框中添加相应的资源。(2)添加点击确定时执行的代码:void CDlgXGMM::OnOK() { CString sMM1, sMM2; m_editMM1.GetWindowText(sMM1); m_editMM2.GetWindowText(sMM2); if(sMM1!=sMM2)lwfree.cn   _variant_t value;   CString sql,sUserID;   CShoppingApp * app=(CShoppingApp*)AfxGetApp();   sql.Format("select 员工_编号 from 员工 where 员工_姓名='%s'",    app->m_sUserName);   m_runsql.CheckSQLResult(sql);   value=m_runsql.m_recordset->GetCollect("员工_编号");   if(value.vt!=VT_NULL)    sUserID=(char*)(_bstr_t)value;   m_runsql.m_recordset=NULL;   sql.Format("update 登陆 set 登陆_密码 ='%s' where 员工
 
小型自选商场综合管理系统_编号='%s'",    sMM2,sUserID);   m_runsql.RunSQL(sql);  }  catch(_com_error& e)  {   AfxMessageBox(e.ErrorMessage());   return ;   }   MessageBox("成功修改密码!","商品管理系统"); } CDialog::OnOK();}(3)在主窗口程序中添加消息响应代码void CShoppingDlg::OnXiugaiMima() { // TODO: Add your command handler code here CDlgXGMM dlg; dlg.DoModal();}4.5.2.3 用户登陆设置(1)添加对话框资源: IDD_ADDUSERS_DIALOG(2)在对话框资源中添加所需的各控件资源。(3)编辑代码。4.5.3 程序运行界面(1)仓库信息管理 (2)新增用户 第五章 调试(1)数据库建立完成,程序编写完成后,在控制面板中配置ODBC,添加一用户数据源,取名为Shopping。(2)运行程序,在登陆对话框中输入用户名和密码。进入主窗口。(3)测试基础信息模块,包括员工信息查询管理、客户信息查询管理、商品信息查询管理、供应商信息查询管理。(4)测试销售模块,包括销售登记、销售查询。(5)测试入库模块,包块入库登记、入库查询。(6)测试系统管理模块,包括仓库信息管理、修改用户密码、用户登陆设置。在调试的过程中,遇到了不少的问题,通过和同学讨论、交换意见以及查阅书籍,结合程序,经过不断的调试和修改,终于达到了预期的目标。总结 通过这次课程设计,使我对数据库的知识有了进一步的掌握。同时,也学习了MFC的编程方法,了解了MFC编程的原理。 通过编写小型自选商场综合管理系统,使我对面向对象编程中用到的类有了更加深刻的理解。使我更加熟悉了类的继承,派生等概念和用法。同时,也使我对MFC编程中用到的一些类有了了解。通过编程,使我逐步掌握了各控件的使用方法。在对数据库进行访问的操作中,通过查找书本商的知识,我使用ADO访问数据库,从而使我初步的掌握了数据库编程的方法。 经过这次课程设计,使我对MFC有了新的认识,对数据库有了更深入的认识,为以后进一步的学习奠定了基础。参考文献1.SQL Server使用手册2.王珊,萨师煊。数据库系统概论(第4版),高等教育出版社3.Visual C++ 6.0管理信息系统完整项目实例剖析
  • 下一篇资讯: 十六大中英文对照
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师