还剩49页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
沈阳师范大学学士学位论文本科毕业论文(设计)(2007届本科毕业生)题 目仓库管理系统的设计与实现学生姓名赵方飞学生学号05129188学院名称科信软件学院专业名称计算机科学与技术指导教师陈红梅郑丽君二零零七年五月【摘要】随着现代工业的发展,计算机信息管理系统越来越受到企业重视本文主要分析了库存管理系统的一些基本功能和组成情况,包括系统的需求分析、系统结构,功能模块划分以及数据库模式分析等,重点对应用程序的实际开发实现作了介绍达到了数据的一致性和安全性,且应用程序功能完备,符合了库存管理系统作为典型的信息管理系统MIS的要求同时简单介绍了VisualC++编程环境和SQL数据库管理系统的功能特点,库存管理系统是企业物流管理中不可或缺的一部分使用计算机对产品仓库信息进行管理,具有着人工管理无法比拟的优点,它检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,可减少更多的人力物力,这些都能够极大地提高货品库存的管理效率,也是企业库存管理科学化、正规化,与世界接轨的重要条件因此,开发一个仓库管理系统是很有必要的,具有其特有的技术意义和管理意义【关键词】仓库管理;信息管理;数据库;VC++;产品管理StorageManagementSystemdesignandrealization【Abstract】Withthedevelopmentofmodernindustrytheinformationmanagementsystemofthecomputerispaidmoreandmoreattentionbyenterprises.Thisarticlemainlyanalyzessomebasicfunctionsandconstitutionofthestoragemanagementsystemincludingthesystematicdemandstructurethefunctionmoduledivisionandthedatabasemodeanalysisetc.Especiallyintroducestheactualdevelopmentoftheapplicationprogramforemphasis.ThissystemguaranteedtheconsistencyandsecurityofthedataandtheapplicationprogramfunctionsarecompleteandmeetingtherequirementofthestoragemanagementsystemastherequestforthetypicalinformationmanagementsystemMIS.MeanwhileitbrieflyintroducedthefunctioncharacteristicsofVisualC++programmingenvironmentandSQLdatabasemanagementsystem.Storagemanagementsystemisanimportantpartthatshouldnotbeneglectedincorporationmanagement.Usingacomputertocontrolinformationofthewarehousewhichhasadvantagesthatartificialmanagementthatcan’tcatchupwith.ItisquicklyinspectionaleasytosearchthecredibilityishighanddepositcapacityishighconfidentialitygoodLifespanlongandthecostislowECTandcanalsoreducemoremanpowerandmaterialresource.Allofthesemanagementscaninfinitelyraisethemanagementefficiencyofgoodsstockandalsoisascientificandregularturnandbeinlinewithworldofimportantconditionofthestoragemanagement.Thereforedevelopingastoragemanagementsystemisnecessary.Ithasspecialtechniqueandmanagesmeaning.【Keywords】StorageManagementSystem;InformationManagement;Database;VC++;ProductionManagement目录TOC\o1-2\h\uHYPERLINK\l_Toc16372引言1HYPERLINK\l_Toc6123第一章绪论2HYPERLINK\l_Toc
44381.1管理信息系统的概述2HYPERLINK\l_Toc
14881.2仓库管理系统2HYPERLINK\l_Toc129第二章数据库理论基础及应用系统开发工具6HYPERLINK\l_Toc
239832.1SQL语言介绍6HYPERLINK\l_Toc
282002.2应用系统开发工具7HYPERLINK\l_Toc
115802.3数据表的设计9HYPERLINK\l_Toc5812第三章仓库管理系统需求分析及总体设计15HYPERLINK\l_Toc
113243.1系统需求分析15HYPERLINK\l_Toc
158483.2系统功能描述16HYPERLINK\l_Toc
267843.3系统功能模型18HYPERLINK\l_Toc
20013.4系统设计的E-R图18HYPERLINK\l_Toc
306313.5系统流程分析20HYPERLINK\l_Toc
219113.6系统用例图20HYPERLINK\l_Toc12895第四章详细设计22HYPERLINK\l_Toc
316024.1主界面设计22HYPERLINK\l_Toc
308234.2基本信息管理模块22HYPERLINK\l_Toc2423第五章备份和还原数据库29HYPERLINK\l_Toc
164925.1规划数据库的备份和还原29HYPERLINK\l_Toc
58225.2数据库的备份29HYPERLINK\l_Toc
221615.3还原数据库31HYPERLINK\l_Toc25677结论33HYPERLINK\l_Toc12784致谢34HYPERLINK\l_Toc12147参考文献35HYPERLINK\l_Toc25297附录Ⅰ数据库建表语句36HYPERLINK\l_Toc26486附录Ⅱ仓库管理系统部分程序代码41引言当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息处理系统的环境计算机最大的好处在于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性尤其对复杂的信息管理,计算机能够充分发挥它的优越性计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提仓库管理系统是一个企事业单位不可缺少的一部分它的内容对于企业的决策者和管理者来说都是至关重要的,因此,仓库管理系统应该能够为用户提供充足的信息和快捷的查询手段,但一直以来人们使用传统的人工方式管理仓库,这种管理方式存在着许多缺点,诸如效率低,保密性差等,而且时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难作为计算机应用的一部分,使用计算机对产品仓库信息进行管理,具有着人工管理无法比拟的优点,它检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,可减少更多的人力物力,这些都能够极大地提高货品仓库的管理效率,也是企业仓库管理科学化、正规化,与世界接轨的重要条件因此,开发一个仓库管理系统是很有必要的,具有其特有的技术意义和管理意义第一章绪论
1.1管理信息系统的概述管理信息系统(简称MIS)是在管理科学、系统科学、计算机科学等的基础上发展起来的综合性边缘科学在21世纪信息高速发展的时代中,管理信息系统具有很重要的作用,它的预测和辅助决策的功能,即利用现代管理的决策和支持管理信息系统是一个由人、机(计算机)组成的能进行管理信息的收集、传递、存储、加工、维护和使用的系统它能观测企业或组织的各种运动情况,利用过去的数据预测未来;从全局出发辅助决策;利用信息控制企业或组织行为,帮助其实现长远的规划目标简言之,管理信息系统是一个以计算机为工具,具有数据处理、预测、控制和辅助决策功能的信息系统管理信息系统是一个人机系统,同时它又是一个一体化集成系统管理信息系统是信息系统的一个子系统,它以计算机技术、通讯技术和软件技术为技术基础,同时将现代管理理论、现代管理方法及各级管理人员融为一体,最终为某个组织整体的管理与决策服务,是由人和计算机组成的能进行管理信息的收集、传递、存储、加工、维护和使用的系统管理信息系统的基本结构可以概括为四大部件,即信息源、信息处理器、信息用户和信息管理者因此,一个成功的管理信息系统应该具有可靠的硬件、实用的软件、强有力的现代化管理水平具体讲,管理信息系统的三大支柱是计算机网络、数据库和现代化的管理,这三打支柱称为管理信息系统的扩展部件
1.2仓库管理系统企业的仓库管理往往是很复杂的,烦琐的由于所掌握的物资种类众多,入库、出库等操作的方法各有差异,各类统计计划报表繁多,因此仓库管理需要系统、规范的管理手段传统的仓库管理存在诸多弊病因为进行信息管理的方式主要是基于文本、表格等纸介质的手工处理,一般的存储情况是记录在账本上的仓库的工作人员和管理员也只是当时记得比较清楚,时间一长,如果再要进行查询,就得在众多的资料中翻阅查找了,这样造成费时、费力,如要对很长时间以前的货品进行更改就更加困难了对于货品的出入库情况的统计和核实采用对账本的人工检查,对管理者的管理权限等不受约束,任何人都可查看,还容易引起资料外泄另外,数据信息处理工作量大,容易出错,由于数据繁多,容易丢失,且不易查找因此物资管理必须实现计算机化,而且必须根据企业的具体情况制定相应的方案根据当前的企业管理体制,一般仓库管理系统,总是根据所掌握的物资类别,相应分成几个科室来进行物资的计划,订货,核销托收,验收入库,根据企业各个部门的需要来发放物资设备,并随时按期进行库存盘点,根据企业领导和自身管理的需要按月、季度或年来进行统计分析,产生相应报表面对庞大的产品信息量,如何有效地管理仓库产品,对这些企业来说是非常重要的,仓库管理的重点是销售信息能否及时反馈,从而确保企业运行效益而仓库管理又涉及入库、出库的产品、经办人员及客户等方方面面的因素,如何管理这些信息数据,是一项复杂的系统工程,充分考验着仓库管理员的工作能力,工作量的繁重是可想而知的使用仓库管理系统,既可以对信息进行规范管理、科学统计和快速查询,减少管理方面的工作量,同时又能调动广大员工的工作积极性,提高企业的生产效率仓库作为一总货品资源的集散地,货品的种类繁多,包含很多的信息数据的管理据调查得知,以前仓库进行信息管理的方式主要是基于文本、表格等纸介质的手工处理,对于货品的出入库情况的统计和核实等往往采用对账本的人工检查,对管理者的管理权限等不受约束,任何人都可查看,这样容易引起资料外泄另外,数据信息处理工作量大,容易出错,由于数据繁多,容易丢失,且不易查找总的来说,缺乏系统、规范的信息管理手段而且,一般的存储情况是记录在账本上的,仓库的工作人员和管理员也只是当时记得比较清楚,时间一长,如果再要进行查询,就得在众多的资料中翻阅查找了,这样造成费时、费力,如要对很长时间以前的货品进行更改就更加困难了因此,很有必要建立一个仓库管理系统,使货品管理工作规范化,系统化,程序化提高信息处理的速度和准确性
1.
2.1国内外现状与发展趋势现在国内外对此类系统的开发与研究也是很有实用性的,基本上能满足各企业的自身特点,来进行仓库方面的管理,同时,改类系统又都在不断地深入与发展,来适用更多的企业,一般都能运用于各个企业的仓库管理,但是都没有针对大众的广泛应用,只能运用某个企业或单位,这一点还有待于今后的进一步开发与实践今后此类软件将会向条码仓库管理系统发展,现阶段,伴随物流及管理信息化、网络化的发展,应用条码技术进行仓库管理、实现仓库作业自动化,将是一个必然的发展趋势,也是需要迫切解决的一个现实问题随着信息化技术的不断提高和应用的日渐普及,更多的商品拥有自己的条码,而且,使用条码化工作代替传统作业模式,减少了手工输入,这样不但提高了作业效率,还能确保资料正确,并减少因人为失误所造成的损失
1、技术应用于仓库管理是实现仓库管理自动化的有效途径仓库品种多,数量大因此,要实现收发作业的快速、准确、高效,仓储管理自动化势在必行而实现管理自动化的“瓶颈”则是产品信息的采集、输入传统手工作业方式,在信息采集量加大的情形下,半因信息不能及时的反馈,给收发作业造成一定的困难利用仓库管理系统,使用仓库信息管理系统进行作业,不仅可提高效率,降低作业强度,也将大大提高产品收发作业准确率,进而实现仓库管理的全面自动化
2、技术应用于仓库管理对提高仓库作业效率有重要作用使用仓库管理信息系统,用于产品收、发、保管等全过程控制管理,不仅可改变信息采集的传统手工作业方式,降低作业强度,还可避免由此造成的各种差错,提高作业效率和科学管库水平入库时,通常保管员根据产品上所反映出的册序号、出厂期、生产厂家、单价、封存(保管)期等信息,进行实物点验,同时信息录入到管理信息系统;出库时,保管员根据航材发付单内容,完成信息录入;清库盘点时,保管员可进行数质量等内容核对,并将采集的信息录入管理系统中进行自动盘点,生成清库对帐单等,完成清库盘点作业
3、仓库管理是完善产品保障信息网络的重要手段储存产品信息是产品保障信息网络的重要组成部分,是做好产品供应保障工作的基础产品保障信息网是实现物资储运全过程可视化的前提目前,有些仓库内部局域网已经建成并投入使用,并与业务主管部门实现了信息沟通,仓库保障信息网在日常航材保障工作中实现了信息沟通,仓库保障信息网在日常产品保障工作中的作用日趋明显同时,在软件系统的研发过程中,将会融入一种EPR的企业管理思想大量的研究与实践已经充分表明,ERP作为一种现代企业管理的思想和方法,将其大力地推广应用就是有效的促使我国企业管理朝着更加科学化、合理化和规范化方向发展的一种具体方法和途径另外,仓库管理的信息化和可视化,每个企业将会拥有两个仓库,一个是装满货物的仓库,还有一个就是管理系统里的数据库,对上万种货物分别编码,使其成为计算机可识别的语言,形象地说,货架上的号码就是货物的地址,从而避免了货物的分拣和提取时的翻箱倒柜式的查找
1.
2.2仓库管理系统研究背景与意义随着我国经济的飞速发展,各种类型规模的公司企业迅速崛起,许多从事生产和经营管理的企业都有自己生产和销售的产品,而这些产品都需要储存在仓库中,对于每个企业来说,随着企业规模的不断扩大,产品数量的急剧增加,所生产产品的种类也会不断地更新与发展,有关产品的各种信息量也会成倍增长面对庞大的产品信息量,如何有效地管理仓库产品,对这些企业来说是非常重要的,仓库管理的重点是销售信息能否及时反馈,从而确保企业运行效益而仓库管理又涉及入库、出库的产品、经办人员及客户等方方面面的因素,如何管理这些信息数据,是一项复杂的系统工程,充分考验着仓库管理员的工作能力,工作量的繁重是可想而知的,所以这就需要由仓库管理系统来提高仓库管理工作的效率,这对信息的规范管理、科学统计和快速查询,减少管理方面的工作量,同时对于调动广大员工的工作积极性,提高企业的生产效率,都具有十分重要的现实意义第二章数据库理论基础及应用系统开发工具
2.1SQL语言介绍
2.
1.1SQL基础SQLStructuredQueryLanguage,结构查询语言是一个功能强大的数据库语言SQL通常使用于数据库的通讯ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据使用SQL的常见关系数据库管理系统有Oracle、Sybase、MicrosoftSQLServer、Access、Ingres等等虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统但是,标准的SQL命令,比如Select、Insert、Update、Delete、Create和Drop常常被用于完成绝大多数数据库的操作
[1]SQL语言的突出优点就是它的非过程化、统一,而且还是所有关系数据库的公共语言SQL语言一次处理一个记录,对数据提供自动导航,它允许用户在高层的数据结构上工作,而部队单个记录进行操作,可操作记录集,所有SQL语句接受集合作为输入,返回集合作为输出SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入同时,它不要求用户指定对数据的存放方法,这种特性使用户更易集中精力于要得到的结果;所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引作为统一的语言,SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户
[2]
2.
1.2SQL语句SQL语句概括起来可以分为数据操作语言,数据定义语言和数据控制语言几大组,它们用于对数据库数据的查询,修改和更新,是一种完备的数据处理语言主要用到的数据操作语言主要是SELECT:用于数据检索;INSERT:用于增加数据到数据库;UPDATE:用于从数据库中修改现存的数据;DELETE:用于从数据库中删除数据
[3]
2.2应用系统开发工具
2.
2.1VisualC++简介及实现原理MicrosoftVisualC++作为MicrosoftVisualStudio的重要组成部分包含了迄今为止功能最为强大的基于Windows的应用框架在同类产品中处于领先地位利用它所继承的一系列强大功能,用户就能够开发出实用高效的应用程序Visual,其英文含义是“可视的”,这里是指在用VisualC++进行开发的过程中对应用程序界面(GUI)的开发,一般是使用开发工具所提供的现成的组件,利用所见即所得的方式完成程序界面的设计(亦通常所说的可视化编程),因此大大减轻可程序设计人员的劳动强度,同时也提高了开发效率VisualC++的最大的特色是对面向对象技术的支持,它利用类把大部分与用户界面设计有关的WindowsAPI函数封装起来,通过MFC(MicrosoftFoundationClass)类库的方式提供给开发人员使用,极大的提高了软件重要性
[4]另外,VisualC++内带的AppWizard可以帮助MFC类库的用户自动生成一个运行程序框架,即一个空的不能做任何事的应用程序,而用户只需要对该应用程序框架进行扩充和添加代码就可以得到一个结构优良的应用程序VisualC++提供的ClassWizard可以使用户方便而有效地使用和管理MFC类库,它允许用户对AppWizard应用程序产生的类进行加工、编辑甚至扩充
[5]VisualC++作为一个功能强大的软件开发工具,它对应用程序开发的支持是多方面的,它可以为以下程序开发提供支持●利用MFC的32位Windows应用程序;●使用C语言SDK编写的Windows程序;●编写控制台程序;●编写ActiveX控件;●编写动态连接库(DLLS);●开发数据库应用程序;●开发Internet应用程序;●开发多媒体应用程序简而言之,VisualC++的优点是●与操作系统配合紧密、不存在与操作系统不兼容的问题;●功能强大,用途广泛,不仅可以编写普通的应用程序,还能很好的进行系统软件及软件及通信软件的开发;●操作简便,熟练以后,开发效率将成倍提高
2.
2.2数据访问组件在使用VisualC++开发数据库应用程序的时候,会经常使用数据库访问控件这些控件包括● Data控件;● ADOData控件;● DataList控件/DataCombo控件;● DataGrid控件;● MSChart控件下面将分别对这些控件的主要功能及使用方法进行介绍
[6]
2.
2.
2.1Data控件Data控件是VisualC++中最基本的数据库操作控件它使用Recordset对象提供对存储在数据库中数据的访问Data控件允许从一个记录移动到另一个记录,并显示和操纵来自被连接控件的记录的数据许多其他的数据库操作控件都需要Data控件或类似的数据源控件(比如ADOData控件)Data控件可以执行大部分数据库访问操作,但是它并不能显示数据库中数据的内容Data控件通常需要与其他控件结合使用这些与Data控件结合使用的控件,可以称之为“数据觉察控件”因为程序员无需编写任何代码,就可以在这些控件中显示当前记录的数据当Data控件中当前记录发生变化时,数据觉察控件的内容也会随之发生变化当与Data控件相连接时,DataList、DataCombo、DataGrid和MSHFlexGrid控件都能管理记录集合所有这些控件都允许一次显示或操作几个记录内部的Picture、Label、TextBox、CheckBox、Image、OLE、ListBox和ComboBox控件也是数据觉察的,能和由Data控件管理的Recordset对象的某个字段相连接
2.
2.
2.2ADOData控件ADOData控件与内部Data控件以及RemoteData控件(RDC)相似用户可以使用ADOData控件快速地创建一个到数据库的连接
2.
2.
2.3DataList控件/DataCombo控件DataList控件是一个数据绑定列表框,它可以自动地由一个附加数据源中的一个字段充填,并且可选择地更新另一个数据源中一个相关表的一个字段DataCombo控件的功能与DataList控件完全相同,只不过DataCombo控件是一个组合框
2.
2.
2.4DataGrid控件在许多情况下,需要使用表格形式来显示数据库中的数据这时就要借助于DaatGrid控件用户可以设置DataGrid控件的DataSource属性为一个ADOData控件,从而将ADOData中的数据自动地填充到DataGrid表格中这个DataGrid控件实际上是一个固定的列集合,每一列的行数都是不确定的
2.
2.
2.5MSChart控件MSChart控件的功能是以图形方式显示数据的图表这会使枯燥的数据变得更加生动直观,增加了程序的实用价值MSChart控件支持一下特性
1、真三维表示;
2、支持所有主要的图表类型;
3、数据网络成员支持随机数据,数据数组
2.3数据表的设计
2.
3.1概念结构设计这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础各个实体的E-R图及其关系描述如下图2-
1、2-
2、2-3所示
2.
3.2创建数据库在设计数据库之前首先要创建一个数据库此数据库包含系统中所有用到的数据表创建数据库代码为REATEDATABASEStockGO图2-1客户信息管理E-R图图2-2仓库管理信息E-R图图2-3用户信息管理E-R图
2.
3.3数据库的逻辑结构设计数据库stock包含以下8个表客户信息表Client、仓库信息表Storehouse、用户信息表Users、产品类别表ProType、产品信息表Product、入库操作信息表StoreIn、出库操作信息表TakeOut和库存产品信息表ProInStore各个表的具体信息如下1.客户信息表Client客户信息表Client主要是用来保存客户信息,表Client结构如图表2-1所示表2-1客户信息表Client编号字段名称数据结构说明1Cidint客户编号2Cnamevarchar50客户名称3Ctypetinyint客户类型,1——供应商、2——购货商4Contactvarchar30联系人5Addressvarchar50通信地址6Postcodevarchar10邮政编码7Phonevarchar30联系电话8Faxvarchar30传真电话9Memovarchar100备注信息2.仓库信息表Storehouse仓库信息表Storehouse用来保存仓库信息,表Storehouse的结构如表2-2所示表2-2仓库信息表Storehouse编号字段名称数据结构说明1Sidint仓库编号2Snamevarchar50仓库名称3Memovarchar100仓库说明3.用户信息表Users用户信息表Users用来保存用户信息,表Users的结构如表2-3表示4.产品类别表ProType产品类别表ProType用来保存产品类别信息,表ProType的结构如表2-4表示表2-3用户信息表Users编号字段名称数据结构说明1UserNamevarchar40用户名2Pwdvarchar40密码3User_typetinyint用户类型(1——系统管理员用户2——普通用户)表2-4产品类别表ProType编号字段名称数据结构说明1TypeIdint产品类别编号2TypeNamevarchar50产品类别名称3UpperIdint上级产品
5.产品信息表Product产品信息表Product用来保存产品的基本信息,表Product的结构如表2-5表示表2-5产品信息表Product编号字段名称数据结构说明1Pidint产品编号2Pnamevarchar50产品名称3TypeIdint产品类型编号4Pstylevarchar50产品规格5Punitvarchar10计量单位6Ppricedecimal152参考价格7Plowint产品数量下限8Phighint产品数量上限9Validint有效期(以天为单位)10AlarmDaysint在到达有效期前几天发出警告6.入库操作信息表StoreIn入库操作信息表StoreIn用来保存入库操作的基本信息,表StoreIn的结构如表2-6表示表2-6入库操作信息表StoreIn编号字段名称数据结构说明1SiTypevarchar20入库操作类型,包括采购入库、生产入库、退货入库、退料入库等2Pidint入库产品编号3MakeDatechar10生产日期4Ppricedecimal152入库产品单价5Pnumint入库产品数量6Cidint客户编号7Sidint仓库编号8EmpNamevarchar50经办人9OptDatechar10入库日期7.出库操作信息表TakeOut出库操作信息表TakeOut用来保存出库操作的基本信息表TakeOut的结构如表2-7表示表2-7出库操作信息表TakeOut编号字段名称数据结构说明1Typevarchar20出库操作类型,包括销售出库、退货出、用料出库等2Pidint出库产品编号3Ppricedecimal152出库产品单价4Pnumint出库产品数量5Cidint客户编号6Sidint仓库编号7EmpNamevarchar50经办人8OptDatechar20出库日期8.库存产品信息表ProInStore库存产品信息表ProInStore用来保存库存产品的基本信息,表ProInStore的结构如表2-8表示表2-8库存产品信息表ProInStore编号字段名称数据结构说明1Typevarchar20产品存储编号2Pidint产品编号3Ppricedecimal152产品入库单价4PnumInt产品数量5MakeDatechar10生产日期6SidInt仓库编号第三章仓库管理系统需求分析及总体设计
3.1系统需求分析本套应用程序名称为“仓库管理系统”,主要用于仓库货品信息的管理,系统包括仓库管理、入库、出库、一些统计查询和报表等几部分组成仓库管理系统需满足仓库管理员及工作人员的需求,他们具有登陆应用系统的权限,所以需要对工作人员的登陆本模块进行更多的考虑,设计不同用户的操作权限和登陆方法对于一个仓库来说,最大的功能就是存储货品,所以仓库管理就是对货品信息,仓库信息,短线货品及超储货品的管理,用户可以根据实际情况对各种货品信息进行分类管理,包括添加,删除更新数据库等
[7]当然,仓库中货品入库也是常有的事,入库管理操作就是对于货品入库情况的管理,用户可以方便地输入一些货品的信息有了货品的入库,自然也就有货品的出库,这部分提供的功能与入库操作流程差不多,有所区别的只是对一些出库货品的管理,也很方便数据的输入仓库货品的信息量大,数据安全性和保密性要求高本系统实现对货品信息的管理和总体的统计等,仓库信息,供货单位和经办人员信息的查看及维护仓库管理人员可以浏览、查询、添加、删除等货品的基本信息以及统计等,并可以对一些基本的信息生成报表形式,并打印输出的功能
[8]报表是一个数据库中最重要的功能之一,有了报表才能清楚地知道货品的出入库情况,在数据报表功能中包括出库报表,仓库报表及经办人员报表等一些基本信息的打印,方便简洁
[9]本系统基本涵盖了仓库管理的主要需求,具有完善细致的功能、友好的用户界面、强大的数据处理功能和完备的安全机制;随心所欲的查询和所见即所得的打印功能,并全面支持分析和决策的功能●系统特色
1.设置系统用户登陆功能,即时对系统数据进行安全设置与保护
2.友好的用户界面,业务操作简单,进入系统即能使用
3.成熟先进的技术和系统构架,采用先进的数据库访问方式,数据更安全,性能更稳定
4.强大的数据处理能力和开放的数据接口,选用具有大型数据库安全机制的数据库系统,提供各种级别的数据保护和权限控制方式,确保数据的安全可靠
5.系统每种操作都可以通过菜单来进行操作快捷、方便易懂易会系统集输入、维护、查询、统计和各种处理为一体,信息导入导出方便共享
[10]
3.2系统功能描述本实例所描述的仓库管理系统主要包括以下功能
3.
2.1基本信息管理基本信息包括客户信息、仓库信息和用户信息客户可以分为供应商和购货商两种类型在产品入库时,需要提供供应商的信息;在产品出库和退货时,需要提供购货商的信息仓库信息包括仓库编号、仓库名称和仓库说明等信息用户信息包括用户名、密码、员工姓名等信息基本信息管理模块可以实现以下功能●添加、修改、删除和查看客户信息;●添加、修改、删除和查看仓库信息;●添加、修改、删除和查看用户信息
3.
2.2产品信息管理产品信息管理模块可以实现以下功能●添加产品类别;●修改产品类别;●删除产品类别;●查看产品类别;●添加产品信息;●修改产品信息;●删除产品信息;●查询产品信息;本系统中采用二级产品类别的方法,一级类别描述产品所属的大致类别,二级类别则在一级类别的基础上,对产品进行细致地划分
3.
2.3仓库操作管理仓库操作由仓库管理员执行就是把产品防如仓库或把产品从仓库中取出的操作,用专业术语来描述就是入库和出库仓库操作管理模块可以实现入库管理、出库管理和仓库盘点等功能入库可以分为采购入库、生产入库、退货入库、退料入库等情况●采购入库指将从供应商处采购的产品入库;●生产入库指将企业自己生产的产品入库;●退货入库指将售出的产品退货后,将退货产品入库;●退料入库指用于本企业生产原料出库后没有完全使用退回仓库入库操作需要纪律相关的产品信息、仓库信息、客户信息、经办人、涉及金额和入库时间等信息出库可以分为销售出库、退货出库、用料出库等情况●销售出库指把卖给购货商的产品出库;●退货出库指将本企业采购的原材料从仓库中提出退货;●用料出库指将本企业用于生产的原材料从仓库中提出到生产线出库操作需要记录相关的产品信息、仓库信息、客户信息、经办人、涉及金额和出库时间等信息仓库盘点是指催仓库产品进行整理,纠正不准确的仓库数据由于人为操作等原因,系统中仓库数据与实际数据之间可能会存在误差所以隔一段时间就需要对仓库进行盘点,从而保证仓库数据的准确性
3.
2.4仓库警示管理仓库警示管理是指对仓库中接近或超过临界值的产品进行报警在产品信息中,包含产品的合理数量范围和有效期限产品数量小于合理数量的下限称为短线;产品数量大于合理数量的上限称为超储产品出现短线、超储、接近或超过有效期限时都需要报警仓库警示管理模块可以实现以下功能产品信息、仓库信息、客户信息、经办人、涉及金额和入库时间等信息●仓库产品数量报警;●仓库管理失效报警
3.
2.5统计查询管理功能统计查询管理模块可以对仓库产品进行各种类型的统计和查询,从而使拥护能够全面的了解仓库情况仓库维护模块可以实现以下功能●产品出入库统计报表;●仓库产品流水线统计报表
3.3系统功能模型根据上一小节介绍的功能,可以设计出系统的总体功能模块,如图3-1所示图3-1仓库管理系统功能模块示意图
3.4系统设计的E-R图由P.P.S.Chen首创的实体-关系图,原来描述数据库中各种数据之间的关系的图形表示工具这种图能直观、明了的表达数据间的复杂关系,所以在结构化分析模型中,尤其对于某些包含复杂数据的应用
[11]图3-2系统E-R图
3.5系统流程分析所谓的系统流程就是用户在使用系统时的工作过程对于多类型用户的管理系统来说,每一类用户的工作流程都是不同的多用户系统的工作流程都是从用户登陆模块开始的,对于用户的身份进行验证身份认证可以分为以下两个过程
(1)确认用户是否是有效的系统用户;
(2)确定用户类型第一个过程是确定用户是否能进入系统,第二个过程是根据用户类型决定用户的操作权限,从而决定用户的工作界面本系统的流程分析如图3-3所示图3-3系统分析流程图
3.6系统用例图用例图通常由系统、用例、角色与关联组成,系统由一个矩形表示,上面标注了系统名称,内部可以包含一个或多个用例;每一个用例由一个椭圆形表示,其中标上用例的名称;角色用一个人行的符号表示;角色和用例之间或用例和用例之间的关联均用直线表示用例图表示了参与者和用例以及他们之间的关系,其实就是参与者与系统的一个交互
[12]本系统的用例如图3-4所示系统管理员数据库普通用户图3-4系统用例图第四章详细设计
4.1主界面设计主界面包括系统的主要功能包括基本信息管理、产品信息管理、库存操作管理、库存警示管理、统计查询管理和系统数据维护六个主要的功能主界面设置一个友好的界面,用户可以根据需要点击自己想使用的功能进入功能界面在进入主界面之前有一个用户登陆界面,用户键入用户名和密码,系统自行判定是否存在,然后进入主界面输入用户名,密码处理判断用户名和密码是否有效填入用户名和密码后点击【登录】按钮,系统将自动从数据库中判断是否存在相同的用户名和密码,如果有则进入系统,如果不存在则提示用户名和密码有错误信息输出登录成功,进入系统的主页面,不成功则显示错误信息页面系统登陆界面如图4-1所示图4-1系统登陆界面系统的主界面如图4-2所示
4.2基本信息管理模块基本信息包括客户信息、仓库信息和用户信息客户可以分为供应商和购货商两种类型在产品入库时,需要提供供应商的信息;在产品出库和退货时,需要提供购货商的信息仓库信息包括仓库编号、仓库名称和仓库说明等信息用户信息包括用户名、密码、员工姓名等信息基本信息管理模块可以实现以下功能●添加、修改、删除和查看客户信息;●添加、修改、删除和查看仓库信息;●添加、修改、删除和查看用户信息图4-2系统的主界面基本信息管理的功能树如图4-3所示图4-3基本信息管理功能
4.
2.1客户管理模块设计
1、客户信息输入输入客户名称、客户类型、联系人、通信地址、邮政编码、联系电话、传真电话、备注信息处理
(1)判断客户名称、客户类型、联系人、通信地址、邮政编码、联系电话、传真电话、备注信息是否为空,数据库中是否有重复的客户名称及填写的格式是否正确
(2)在这里系统管理员可以添加客户的信息,添加的信息有客户单位、客户类型、联系人、通信地址、邮政编码、联系电话、传真电话、备注信息所有客户信息被系统取得后都将添入客户信息表中
2、客户信息加载界面点击菜单“基本信息管理”、“客户信息管理”后,进入客户信息界面客户信息管理界面客户可以分为供应商和购货商两种类型客户信息管理界面如图4-4所示图4-4客户信息管理点击添加按钮,按要求输入客户名称、客户类型、联系人、通信地址、邮政编码、联系电话、传真电话、备注信息点击确定按钮在这里的操作相当于写入数据库的操作,确定以后,数据会被写进数据库表内,在上面的页面内,数据也会随时反映出来图4-5编辑客户信息
4.
2.2仓库管理模块设计
1、仓库信息输入输入仓库名称、仓库说明处理
(1)判断仓库名称、仓库说明是否为空,数据库中是否有重复的仓库名称及填写的格式是否正确
(2)在这里系统管理员可以添加仓库的信息,添加的信息有仓库名称、仓库说明所有仓库信息被系统取得后都将添入仓库信息表中
2、客户信息加载界面点击菜单“基本信息管理”、“仓库信息管理”后,进入仓库信息界面,仓库信息管理共分添加、修改、删除和返回四个按钮仓库信息管理界面如图4-6所示
3、添加仓库信息界面用户点击添加按钮进入编辑仓库信息界面,输入仓库名称和仓库信息点击确定完成添加仓库编辑管理界面如图4-7所示图4-6仓库管理界面图4-7编辑仓库信息
4.
2.3用户管理模块设计
1、用户信息输入输入用户名、密码、用户类型处理
(1)判断用户名、密码、用户类型是否为空,数据库中是否有重复的用户名及填写的格式是否正确
(2)在这里系统管理员可以添加用户的信息,添加的信息有用户名、密码、用户类型所有用户信息被系统取得后都将添入用户信息表中
2、客户信息加载界面点击菜单“基本信息管理”、“用户信息管理”后,进入用户信息界面图4-8用户管理界面
4.
2.4修改用户密码点击菜单“基本信息管理”、“修改用户密码”后,进入修改用户密码界面,修改用户密码界面共包括用户名、旧密码、新密码和确认新密码四项按要求填写点击确认完成修改密码修改只可以修改自己的帐户密码,如果新密码和确认新密码两项输入不一致,系统自动提示输入不一致,并且清空用户输入,要求用户重新输入修改用户密码界面如图4-9所示图4-9修改用户密码第五章备份和还原数据库备份和还原数据库可以保证数据的安全性,也可以保证数据的不丢失,保证系统的稳定性备份和还原数据库是所有数据库应用系统必备的功能备份和还原是数据库管理员维护数据库安全性和完整性的重要操作备份是还原受损数据库最容易,把意外损失降到最小的保障方法没有备份,所有的数据都可能丢失备份可以防止因表或数据库遭受破坏、介质失效或用户错误而造成的数据灾难还原数据库是在意外发生后,利用备份来还原数据库的造作
5.1规划数据库的备份和还原在规划数据库的备份和还原时,必须结合两者一起考虑一般说来,用户设计的操作方案将受到数据库运行的实际情况和可利用的数据库备份资源的限制但是,无论如何数据库的价值将是放在第一位考虑的因素,根据数据的价值,用户可以预测自己所能承受的数据损失,从而选择合适的还原方案,并根据还原方案设计出合理的备份方案一般说来,规划数据库备份应该按照先面的步骤进行1预测自己的数据库系统所可能遇到的数据库意外事故2针对不同的意外事故一一设计对应的还原方案3支队所有的还原方案设计可行的备份方案4在一定备份资源和时间限制内对设计的方案进行测试
5.2数据库的备份
5.
2.1备份概述备份就是制作数据库结构和数据的拷贝,这是保障数据库系统安全的基础性工作用户使用数据库是因为要利用数据库来管理和操作数据,数据对于用户来说是非常宝贵的资产数据是存放在计算机上的,但是即使是最可靠的硬件或软件,也会出现系统故障和产品故障所以,应该在意外发生之前做好充分的准备工作,以便在意外发生之后有相应的措施能快速地还原数据库的运行,并使丢失的数据量减到最小可能造成数据损失的因素很多,如●误执行了删除造作●破坏性病毒●自然灾害●硬件系统或软件系统故障●盗窃等
5.
2.2数据库备份设备类型数据库备份设备类型包括磁盘备份设备、磁带本分设备、命令管道设备备份磁盘备份设备磁盘备份设备一般是硬盘或其他磁盘类存储介质上的文件,一般按照普通的操作系统文件进行管理磁盘备份设备可以定义在数据库服务器的本地磁盘上,也可以定义在通过网络连接的远程磁盘上磁带设备备份磁带设备与磁盘设备的使用方式一样,但有两点区别磁带设备必须直接物理连接在运行SQLServer服务器的计算机上;磁带设备不支持远程设备备份命名管道设备命名管道设备为使用第三方的备份软件和设备提供了一个灵活、强大的通道当用户使用命名管道设备进行备份和还原的操作时,需要在BACKUP或RESTORE语句中给出客户端应用程序中使用的命名管道的名字
5.
2.3数据库的备份有的系统要求用户使用SQLServer2000的工具进行数据的备份和还原,这就要求用户熟悉SQLServer2000数据库的基本使用方法本系统利用另一种方法,在应用系统中实现数据的备份和还原在程序中备份数据库,要使用BACKUPDATABASE命令,格式如下BACKUPDATABASE数据库名TOdisk=备份文件名在类CADOConn中添加一个函数Backup,代码如下voidADOConn::Backup{//连接数据库OnInitADOConn;_bstr_tvSQL;vSQL=backupdatabaseStocktodisk=C:\\BackUp\\Stock.bak;ExecuteSQLvSQL;//关闭数据库ExitConnect;}在主界面中单击菜单项“备份数据库”,将执行OnBackup函数,代码如下voidCStockDlg::OnBackup{//TODO:AddyourcommandhandlercodehereADOConnm_AdoConn;m_AdoConn.Backup;MessageBox备份完成;}如果备份成功,系统将提示用户备份成功
5.3还原数据库当系统数据库出现数据事故时,就需要还原数据库中的数据,把损失降到最小这对企业和用户来说非常重要还原数据库可以最大限度的减少用户的经济损失和数据损失在程序中还原数据库,需要使用RESTOREDATABASE命令,格式如下RESTOREDATABASE数据库名FROMdisk=备份文件名在类CADOConn中添加一个函数Restore,代码如下voidADOConn::Restore{//@@@@创建到Master数据库的连接try{//创建Connection对象m_pConnection.CreateInstanceADODB.Connection;//设置连接字符串,必须是BSTR型或者_bstr_t类型_bstr_tstrConnect=Provider=SQLOLEDB;Server=ntserver;Database=master;uid=sa;pwd=sa;;m_pConnection-OpenstrConnectadModeUnknown;}//捕捉异常catch_com_errore{//显示错误信息AfxMessageBoxe.Description;}_bstr_tvSQL;vSQL=restoredatabaseStockfromdisk=C:\\BackUp\\Stock.bak;m_pConnection-ExecutevSQLNULLadCmdText;}在主界面中单击菜单项“还原数据库”,将执行OnBackup函数,代码如下voidCStockDlg::OnRestore{//TODO:AddyourcommandhandlercodehereADOConnm_AdoConn;m_AdoConn.Restore;MessageBox还原完成;}如果用户还原完成,系统将自动弹出对话框提示用户还原完成结论此次毕业设计是用VC++和SQL数据库完成的,通过此次毕业设计把几年来所学的知识做了一个系统的复习和总结,巩固了所学知识并提高了实际动手能力,同时也发现身上不足的之处,需要以后不断完善此次毕业设计为我以后工作和学习打下了坚实的基础,也大大的增强了我的自信心在设计阶段,通过对课题的深层分析与研究,使我对多门技术和知识有了一定的了解,比如管理信息系统(简称MIS)是在管理科学、系统科学、计算机科学等的基础上发展起来的综合性边缘科学还有VC++中Data控件、ADOData控件、DataList控件/DataCombo控件、DataGrid控件、MSChart控件的定义和作用还了解了安装SQL数据库的时候不能先安装Offices工具,因为它们中有的数据互相冲突,必须先安装SQL数据库后安装Offices工具通过这一段时间的学习,不但使我的知识有了很大的提高,也使我深切的感觉到团队的重要性,一个成功的软件项目不是一个人可以独立完成的,只有通力合作,个人发挥自己的优点,发挥团队精神,才能更出色的完成任务由于时间紧迫,个人水平有限,设计过程中不可避免的存在各种不足之处,比如联机文档比较少,用户界面不够美观,出错处理不够等多方面问题这些都有待进一步改善,敬请各位老师予以批评和指正致谢首先,我要感谢带我们毕业设计的陈红梅和郑丽君老师,感谢两位老师的悉心指导和辛勤的工作,她们认真负责的工作态度和一丝不苟的钻研精神深深地影响着我,也正是她们无私的付出才使我的毕业设计能够顺利的完成同时我还要感谢负责联系的孙笑薇老师,孙老师总是第一时间把学校的各项通知转达给我们,让我们能够随时的了解学校的要求帮助我顺利的完成毕业设计同时我也要感谢软件学院的各位老师,感谢这一年半来对我们的谆谆教导,教会我们许多知识和做人的道理感谢软件学院对我的栽培还要感谢同组的蔡佳和张伟,是他们陪我一起讨论问题,帮助我解决一个又一个的难点和困难,使我能够按时的完成毕业设计最后我要感谢我的父母,这么多年来对我的养育之恩,没有他们辛勤无私的付出,也就没有我今天的成绩所以我要说谢谢你们,谢谢所有关心我的老师同学和朋友参考文献
[1]周峰.SQLServer2005中文版关系数据库基础与实践教程[M].北京电子工业出版社
2006.
7.
[2]刘遵仁,于忠清.从零开始——SQLServer中文版基础培训教程[M].北京人民邮电出版社,
2002.
9.
[3]启明工作室.VisualC+++SQLServer数据库应用系统开发与实例[M].北京人民邮电出版社
2004.
7.
[4]夏云庆. VisualC++
6.0数据库高级编程[M].北京北京希望电子出版社,
2002.
1.
[5]郑莉,刘慧宁,孟威.C++程序设计教程[M].北京机械工业出版社
2001.
7.
[6]揣锦华.面向对象的程序设计与VC++实践[M].西安西安电子科大出版社
2005.
2.
[7]曹晨.基于UML的仓储管理系统的分析与设计[J],电子工程师http://
192.
168.
134.220/KNS50/Navi/Bridge.aspxLinkType=BaseLinkDBCode=cjfdTableName=cjfdbaseinfoField=BaseIDValue=DZGSNaviLink=%e7%94%b5%e5%ad%90%e5%b7%a5%e7%a8%8b%e5%b8%88\t_blank2006
(6)11-
14.
[8]顾绍元,李华庆.仓库管理信息系统的设计与实现[J],上海铁道大学学报1996
(4)5-
7.
[9]覃利秋.仓库管理系统及其开发[J],茂名学院学报2005
(3)7-
10.
[10]JeffreyRichter.ProgrammingApplicationsforMicrosoftWindows[M].CourseTechnologyPTR
2005.
8.
[11]DavidJ.KruglinskiInsideVisualC++4thEdition[M].CourseTechnologyPTR
2005.
[12]CharlesPetzold.ProgrammingWindowsFifthEdition[M].PrenticeHall.附录Ⅰ数据库建表语句
1、名称客户信息表Client标识Client数据来源前台页面取得建表语言如下USEStockGOCREATETABLEClientCidintPRIMARYKEYIDENTITYCnamevarchar50NOTNULLCtypetinyintContactvarchar30Addressvarchar50Postcodevarchar10Phonevarchar30Faxvarchar30Memovarchar100GO
2、名称仓库信息表Storehouse标识Storehouse数据来源前台页面取得建表语言如下USEStockGOCREATETABLEStorehouseSidintPRIMARYKEYIDENTITYSnamevarchar50NOTNULLMemovarchar100GO
3、名称用户信息表Users标识Users数据来源前台页面取得建表语言如下USEStockGOCREATETABLEUsersUserNamevarchar40PRIMARYKEYPwdvarchar40NOTNULLUser_TypetinyintNOTNULLGOINSERTINTOUsersValuesAdmin8888881GO
4、名称产品类别表ProType标识ProType数据来源前台页面取得建表语言如下USEStockGOCREATETABLEProTypeTypeIdintPRIMARYKEYIDENTITYTypeNamevarchar50NOTNULLUpperIdintGO
5.名称产品信息表Product标识Product数据来源前台页面取得建表语言如下USEStockGOCREATETABLEProductPidintPRIMARYKEYIDENTITYPnamevarchar50NOTNULLTypeIdintPstylevarchar50Punitvarchar10Ppricedecimal152PlowintPhighintValidintAlarmDaysintGO6.名称入库操作信息表StoreIn标识StoreIn数据来源前台页面取得建表语言如下USEStockGOCREATETABLEStoreInSiTypevarchar20PidintMakeDatechar10Ppricedecimal152PnumintCidintSidintEmpNamevarchar50OptDatechar10GO7.名称出库操作信息表TakeOut标识TakeOut数据来源前台页面取得建表语言如下USEStockGOCREATETABLETakeOutTtypevarchar20NOTNULLPidintPpricedecimal152PnumintCidintSidintEmpNamevarchar50OptDatechar20GO8.名称库存产品信息表ProInStore标识ProInStore数据来源前台页面取得建表语言如下USEStockGOCREATETABLEProInStoreSpIdintPRIMARYKEYIDENTITYPidintNOTNULLPpricedecimal152PnumintMakeDatechar10SidintGO附录Ⅱ仓库管理系统部分程序代码设计客户信息编辑对话框voidCClientEditDlg::OnOK{//将用户输入数据读取到成员变量中UpdateDataTRUE;//检查用户输入数据的有效性ifm_Cname=={MessageBox请输入客户单位;return;}ifm_Contact=={MessageBox请输入联系人;return;}//将成员变量赋值到clt对象,并保存到数据库CClientclt;clt.SetCnamem_Cname;//客户单位clt.SetCtypem_Ctype.GetCurSel+1;//客户类型clt.SetContactm_Contact;//联系人clt.SetAddressm_Address;//通信地址clt.SetPostcodem_Postcode;//邮政编码clt.SetPhonem_Phone;//联系电话clt.SetFaxm_Fax;//传真电话clt.SetMemom_Memo;//备注ifcCid==//插入数据ifclt.HaveNamem_Cname==1{MessageBoxm_Cname;MessageBox当前客户已经存在,请重新输入客户单位;return;}elseclt.sql_insert;else//更新数据ifm_Cname!=cCnameclt.HaveNamem_Cname==1{MessageBox当前客户已经存在,请重新输入客户单位;return;}elseclt.sql_updatecCid;//关闭对话框CDialog::OnOK;}设计客户信息管理对话框1.Refresh_Data函数voidCClientManDlg::Refresh_Data{UpdateDataTRUE;//将控件的值读取到成员变量中CStringcSource;CStringcCtype;//读取客户类型值cCtype.Format%dm_Ctype.GetCurSel+1;//设置SELECT语句,按客户单位排序cSource=SELECTCidCnameAS客户单位ContactAS联系人AddressAS通信地址;cSource+=PostcodeAS邮政编码PhoneAS联系电话FaxAS传真电话MemoAS备注;cSource+=FROMClientWHERECtype=+cCtype+ORDERBYCname;m_adodc.SetRecordSourcecSource;m_adodc.Refresh;//设置表格列宽度_variant_tvIndex;vIndex=long0;m_datagrid.GetColumns.GetItemvIndex.SetWidth0;}2.OnInitDialog函数BOOLCClientManDlg::OnInitDialog{CDialog::OnInitDialog;//TODO:Addextrainitializationherem_Ctype.SetCurSel0;//设置客户类型Refresh_Data;//刷新表格中的记录集returnTRUE;//returnTRUEunlessyousetthefocustoacontrol//EXCEPTION:OCXPropertyPagesshouldreturnFALSE}3.OnAddButton函数voidCClientManDlg::OnAddButton{//TODO:AddyourcontrolnotificationhandlercodehereUpdateDataTRUE;//打开编辑对话框CClientEditDlgdlg;dlg.cCid=;dlg.iCtype=m_Ctype.GetCurSel+1;ifdlg.DoModal==IDOKRefresh_Data;}4.OnModButton函数voidCCheckManDlg::OnModiButton{//TODO:Addyourcontrolnotificationhandlercodehereifm_adodc
6.GetRecordset.GetEof{MessageBox请选择盘点记录;return;}CCheckEditDlgdlg;dlg.cSpId=m_datagrid.GetItem0;//库存记录编号dlg.m_Sname=m_Storehouse.GetText;//仓库名称dlg.m_Pname=m_Pname.GetText;//产品名称dlg.m_MakeDate=m_datagrid.GetItem3;//生产日期dlg.m_Price=m_datagrid.GetItem1;//单价dlg.m_OldNum=m_datagrid.GetItem2;//原数量ifdlg.DoModal==IDOKRefresh_Data;}5.OnDelButton函数voidCClientManDlg::OnDelButton{//TODO:Addyourcontrolnotificationhandlercodehereifm_adodc.GetRecordset.GetEof{MessageBox请选择要删除的记录;return;}CStringCid;Cid=m_datagrid.GetItem0;CStoreInobj;ifobj.HaveClientCid==1{MessageBox客户出现在入库单中,不能删除;return;}CTakeOutobj1;ifobj
1.HaveClientCid==1{MessageBox客户出现在出库单中,不能删除;return;}ifMessageBox是否删除当前记录请确定MB_YESNO==IDYES{CClientclt;clt.sql_deletem_datagrid.GetItem0;Refresh_Data;}}客户信息管理添加客户修改客户信息删除客户查看客户信息仓库信息管理添加仓库信息修改仓库信息删除仓库信息查看仓库信息用户信息管理管理员用户普通用户产品失效报警表查看用户信息产品出库信息删除用户产品入库信息修改用户信息产品信息查询用户信息产品类别设置用户权限用户信息审批用户注册仓库信息管理员信息客户信息添加普通用户基本信息管理用户信息管理仓库信息管理客户信息管理PAGE-I-。