仓库管理系统毕业设计

返回 举报
资源描述
专业综合设计 系统名称: 仓库管理系统 学 校: XXXXXXXXXXXXXXXX学院 系 别: 计算机科学与应用系s 专 业: 计算机科学与技术 姓 名: XXX 学 号: XXXXXXXXX 指导教师: XX 日 期: 201X年X年X日 摘 要 随着现代工业的发展,计算机信息管理系统越来越受到企业重视,库存管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立一个数据一致性、完整性以及安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 本设计采用Visual Studio 2005的开发环境,而后台数据库选用数据库软件SQL Server 2005,主要完成了库存管理系统的需求分析、功能模块的划分、数据库模式分析,并由此完成了数据库结构和应用程序的实现,系统基本实现了所需功能,界面友好,操作方便。 本系统主要是让仓库的管理实现信息化、系统化,方便化,把计算机用于仓库管理中,这样可以很大程度上提高管理者分析和决策的科学性,提高经营管理水平。 关键词:仓库管理 Visual Studio 2005 SQL Server 2005 ABSTRACT With the development of modern industry, the information management system of the computer is being paid attention to by enterprises. The stock management system is a typical MIS.It’s development mostly include the foundation and maintenance of the Database and the development of the client application programme.For the former we must eatablish a better database,which has well data consistency and data security.For the latter we must make the programme has self-contained function and easy to be use. The design of the development environment using Visual studio 2005 , the database software is SQL Server 2005,mainly completed inventory management system needs analysis, the division of functional modules, the database model analysis, and thus completed the database structure and application implementation, The system basically achieves the required function, its interface is good, and is used well. The system is designed to allow the management informationized and systematic, used computer in the catering management of supermarket, so it can improve the scientific of ana- lysis and decision-making,and enhance the management level. Keywords: stock management Visual Studio 2005 SQL Server 2005 目 录 第一章 绪论 1 1.1 仓库管理系统 1 1.2 仓库管理系统的研究背景与意义 1 第二章 开发工具简介 3 2.1 Visual Stdio 2005简介 3 2.2 SQL Server 2005简介 3 第三章 仓库管理系统分析 4 3.1 开发系统的目的 4 3.2 需求分析 4 3.3 可行性分析 5 3.3.1 技术可行性 5 3.3.2 经济可行性 5 3.3.3 管理可行性 5 3.3.4 社会可行性 6 3.5 系统流程图 7 第四章 仓库管理系统数据库分析 8 4.1 数据库介绍 8 4.1.1 用户数据 8 4.2 创建数据库 9 第五章 仓库管理系统数据库设计 10 5.1 数据库概念设计 10 5.2 仓库管理系统E-R图 11 5.3 仓库管理系统数据表清单 12 5.4 数据库逻辑结构设计 12 第六章 界面展示及部分功能模块主要代码 17 6.1 模块划分 17 6.2 本程序登录界面 17 6.3 本程序运行后的效果 18 6.4 选择主窗体 19 6.4.1 入库管理窗体 20 6.4.2 出库管理窗体 21 6.4.3 借货管理窗体 23 6.4.4 还货管理窗体 24 6.4.5 盘点管理窗体 26 6.5 选择主窗体 27 6.5.1 供应商信息窗体 28 6.5.2 仓库管理窗体 29 6.5.3 货物管理窗体 30 6.6 选择主窗体 31 6.6.1 数据备份窗体 32 6.6.2 数据还原窗体 33 6.6.3 数据压缩窗体 34 6.7 选择主窗体 36 6.7.1 更改密码窗体 36 6.7.2 用户管理窗体 37 6.8 选择主窗体 39 6.8.1 库存查询界面 40 第七章 软件测试及维护 43 第八章 致谢 45 第九章 结论 46 参考文献 47 IV 第一章 绪论 1.1 仓库管理系统 当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,计算机最大的好处在于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性,尤其针对复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。 仓库作为一种货品资源的集散地,货品的种类繁多,包含很多的信息数据的管理。据调查得知,以前仓库进行信息管理的方式主要是基于文本、表格等介质的手工处理,对于货品的出入库情况的统计和核实等往往采用对账本的人工检查,对管理者的管理权限等不受约束,任何人都可查看,这样容易引起资料外泄。另外,数据信息处理工作量大,容易出错,数据繁多,容易丢失,且不易查找。总的来说,缺乏系统、规范的信息管理手段。而且,一般的存储情况是记录在账本上的,仓库的工作人员和管理员也只是当时记得比较清楚,时间一长,如果再要进行查询,就得在众多的资料中翻阅查找了,这样造成费时、费力,如要对很长时间以前的货品进行更改就更加困难了。因此,很有必要建立一个库存管理系统,使货品管理工作规范化、系统化、程序化。提高信息处理的速度和准确性。 1.2 仓库管理系统的研究背景与意义 众所周知,仓库管理是一种既麻烦又单调的工作,每天都是重复记录一些货物的存入与取出,而且货物的种类繁多,存取有很大的随机性,这样为工作人员带来了很大的不便,在操作过程中,由于人为的计算出错率很高,一旦出错改正也很困难,这样简单繁重的工作要很多人来做,为经营者增加了很多成本,所以开发一个可行的仓库管理系统是十分必要的。 随着我国经济的飞速发展,各种类型规模的公司企业迅速崛起,许多从事生产和经营管理的企业都有自己生产和销售的产品,而这些产品都需要储存在仓库中,对于每个企业来说,随着企业规模的不断扩大,产品数量的急剧增加,所生产产品的种类也会不断地更新与发展,有关产品的各种信息量也会成倍增长。面对庞大的产品信息量,如何有效地管理库存产品,对这些企业来说是非常重要的,库存管理的重点是销售信息能否及时反馈,从而确保企业运行效益。而库存管理又涉及入库、出库的产品、经办人员及客户等方方面面的因素,如何管理这些信息数据,是一项复杂的系统工程,充分考验着仓库管理员的工作能力,工作量的繁重是可想而知的,所以这就需要由仓库管理系统来提高库存管理工作的效率,这对信息的规范管理、科学统计和快速查询,减少管理方面的工作量,同时对于调动广大员工的工作积极性,提高企业的生产效率,都具有十分重要的现实意义。 第二章 开发工具简介 2.1 Visual Stdio 2005简介 开发这个系统使用Visual Stdio 2005工具来开发, Visual Stdio 2005是当前最流行的一款程序开发工具,利用它可以开发功能强大的、运行在Windows平台上的、能够操作数据库的应用系统,因此能够适应我们开发本系统的要求,并且简单易用,实现功能的代码量比其他语言减少许多,这样就缩短了软件开发周期,大大节约了软件开发成本。 2.2 SQL Server 2005简介 SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理,SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能。SQL Server 2005 中包含了非常丰富的新特性:通过提供一个更安全、可靠和高效的数据管理平台,增强企业组织中用户的管理能力,大幅提升IT管理效率并降低运维风险和成本;通过提供先进的商业智能平台满足众多客户对业务的实时统计分析、监控预测等多种复杂管理需求,推动企业管理信息化建设和业务发展;同时,SQL Server 2005将提供一个极具扩展性和灵活性的开发平台,实现Internet数据业务互联。 第三章 仓库管理系统分析 3.1 开发系统的目的 开发仓库管理系统,主要为减轻仓库管理人员的负担,使货物的存入记录与取出记录相对完善,便于货物的增加与减少,降低出错率,使管理更加合理、科学,也为经营者节省开支。本系统完面考虑了仓库在管理中要解决的所有需求,最终向用户提供一套方便可行的系统,该系统具备以下特征:配置必要的数据库和应用服务程序,提供查询、统计货物的种类、数量及所属公司等所有信息的功能,操作人员使用的界面要清晰、美观,布局合理,内容尽量简单明了,提供的信息详细全面。客户端程序要求安全性高,可靠性高。 3.2 需求分析 市场经济的一个重要特征,就是生产的相对过剩和产品的相对过剩。它决定了这是一个买方市场。对企业来说,库存的增加或积压,无论是原材料、半成品或制成品,都意味着企业运作处于一种不良的状态,都是一种直接的或潜在的损失。大量的库存挤占了企业的有限资金,使得资金流速减缓,现金流发生困难,甚至导致资金紧张,影响企业的正常运作。此外,大量的库存增加了保管与仓储的压力,占用了相当的人力和物力,使得企业负担加重。凡此种种,一直困扰着企业的生产经营管理活动,影响企业经济效益的实现。显而易见,切实而有效地控制库存,是摆在众多企业面前的当务之急,也是缓解企业经济压力、减负增效的重要途径。 需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题,是对目标系统提出完整、准确、清晰、具体的要求。需求分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量。因此,必须用行之有效的方法对软件需求进行严格的审查验证。 软件需求分析过程是整个系统开发的重要阶段,分析的成功与否,决定着整个系统功能的完善性以及稳定性。在该阶段分析人员需要确定整个产品的功能要求,并将提供一种可转化为数据设计、结构设计和过程设计的数据与功能表示。在软件完成后,需求分析阶段研究的对象是软件项目的用户要求。 3.3 可行性分析 可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是 的效益是否达到值得投资开发这个系统的程度。一般来说,可行性分析应从经济可行性、技术可行性、经济可行性、操作可行性、社会可行性等方面进行研究。本系统的可行性分析如下: 3.3.1 技术可行性 随着国内软件开发的日益发展壮大,各种中小企事业单位已具备独立开发各种类型的软件的能力,能够满足不同行业的特别的需求,现在,市场上可以选购的应用开发产品很多,流行的也有数十种。此外,从开发人员的水平考虑,作为计算机科学与技术专业毕业的学生,大学四年所积累的专业知识使我们从一定程度上具备了开发一个小型系统的能力,而且学校现有的计算机设备也完全能够满足开发的需要。本系统主要管理的是货物的入库,出库,查询相关的一些信息等,采用C#和Microsoft Visual Studio作为前台用户界面的开发语言和工具,而后台的数据库采用微软的SQL Server 2005。由于主要采用数据库来进行管理,实现起来比较简单,从技术上来说是完全可行的。 3.3.2 经济可行性 对于整个系统而言,在系统未运行之前,初期投资比较大,花费相当而言比较多。各部门必须配置电脑、服务器、打印机、传真机及相关的网络设备,但是在整个系统投入运行之后,将会给该企业带来前所未有的方便和快捷,减少不必要的中间环节以及不必要的开支,而且可以给其带来更大的利润。总之,这个系统的经济效益远远大于开发成本,而同时又减少了数据的流通环节,不必要花费那么多的时间,也就是说最重要的就是提高了效率,而又保证了各项数据的准确性,也避免了工作人员的流动造成的收据丢失等问题,适应了当前的发展形势。 3.3.3 管理可行性 传统的库存管理系统,一般有两种方式:一是手工管理,这种方式应用最传统的“笔纸操作系统”,将库存的货物信息、销售信息、厂商信息管理及单据管理等均以纯手工的形式进行,将信息以表格文件的表现形式记录在纸上,再进行统一保存。这种方式虽然在简单信息查询时会有一定的方便,但是存在着更多的不便:信息保存时间和条件很受限制、容易被损坏、信息查询不便、信息传达容易造成失误等。另一种常见的信息管理方法是应用管理系统,本系统就是一款做的相对到位的库存管理系统,随着时代的发展,人员素质已逐步提高,库存管理人员已经有丰富的信息管理经验,不论是对于电脑系统的基本操作还是对于系统的维护都有了一定的基础,同时还可以配置专业的电脑维护人员来维护电脑不必担心电脑故障问题。 3.3.4 社会可行性 该系统是作为毕业设计,不会对社会造成严重影响,也不用考虑到版权、法律等社会因素,所以在社会方面也是可行的。 3.4系统功能描述及系统安全性 一、库存管理系统是一套对货品入库、出库、库存进行全面管理的系统,在设计该系统时,应尽可能便于用户管理和操作。系统在实现上应该具有如下功能: (1)系统要求用户必须输入正确的用户名和密码才能进入系统。 (2)系统能实现货物的入,出库功能。 (3)系统提供查询现在库存的情况,及入库、出库和货物年统计等的记录。 (4)系统提供管理员设置仓库信息和修改货物信息等。 (5)系统提供管理员增加、删除、修改用户账户的功能。 二、由于库存管理系统包含比较重要的信息,因此,在系统设计时除了注重用户的需求,还要保证系统的安全性和一致性,该系统中管理权限上应当进行严格控制,体现如下: (1)安全性:本系统中共分为三类不同的用户,分别具有不同的权限。要想对该库存管理系统进行操作就应当具有某些操作权限,没有权限的用户将不能通过任何渠道来登录该系统,查看该系统的任何信息和数据,以确保系统的严密性和安全性,系统用户分为管理员用户和普通用户,管理员用户可对普通用户信息进行增、删、改,普通用户则只能查询。在具体实现时还应为系统管理员和普通用户设定不同的操作权限,系统管理员应当可以操作系统的所有模块,普通用户对于货物管理和基本档案管理模块是无权使用的。 (2)一致性:系统的数据要保证一致性、准确性,当某一数据库中记录发生改变时,与之相关联的数据库也随之变化。 3.5 系统流程图 本系统流程图如图3-1所示。 图3-1 系统流程图 第四章 仓库管理系统数据库分析 4.1 数据库介绍 数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。同时,合理的数据库结构也将有利于程序的实现。设计数据库时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。 数据库设计是在既定(本系统使用SQL Server)的数据库管理系统基础之上建立数据库的过程。其过程是将现实存在的数据及其应用处理关系进行抽象,从而形成数据库结构。数据库是数据库应用程序的核心,数据库设计是建立一个应用程序最重要的一步。一个好的数据库结构和文件设计可以使系统在已有的条件下具有处理速度快,占用存储空间少,操作处理过程简单,查找容易,系统开销和费用低等特点。具体实现时,应首先明确用户对数据的需求,在此基础上,建立数据库的概念模型,概念模型主要是用来反映用户的现实环境和需求,它独立于具体的数据库管理系统,并且与数据库怎样实现无关,建立概念模型的主要工具为实体关系(E-R)图,在建立数据库概念模型之后,要真正实现与数据库管理系统的结合,即能够由既定的数据库管理系统所支持,还必须进行逻辑结构的设计,在逻辑设计阶段,主要完成建立数据库的逻辑模型,并解决数据的完整性、一致性、安全性和有效性等问题;最后一个阶段是数据库的物理结构设计,其任务是为系统逻辑结构模型确定合理的存储结构、存取方法、以及数据表示和数据存储空间分配等内容,从而得到具体的数据库物理结构。 数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、元数据、索引和应用元数据。 4.1.1 用户数据 目前,大多数主流数据库管理系统把用户数据表示为关系。现在把关系看作数据表,表的列包含域或属性,表的行包含对应业务环境中的实体的记录。并非所有的关系都同样符合要求,有些关系比其它关系更结构化一些。 (1)元数据 数据库是自描述的,这就意味着它自身包含了它的结构的描述,这种结构的描述称作元数据。因为DBMS产品是用来存储和操纵表的,所以大多数产品把元数据以表的形式存储,有时称作系统表。这些系统表存储了数据库中表的情况,指出每一个表中有多少列,那一列是主关键字,每一列的数据类型的描述,它也存储索引、关键字、规则和数据库结构的其他部分。 在表中存储元数据不仅对DBMS是有效的,对用户也是方便的,因为他们可以使用与查询用户数据同样的查询工具来查询元数据。 (2)索引 第三种类型的数据改进了数据库的性能和可访问性,这种数据经常称作开销数据,尽管有时也采用其他类型的数据结构,如链表,但它主要还是索引。索引可以用来排序和快速访问数据。 (3)应用元数据 存储在数据库中的第四种数据是应用元数据,它用来存储用户窗体、报表、查询和其他形式的查询组件。并非所有的DBMS都支持应用组件,支持组件的DBMS也不一定把全部组件的结构作为应用元数据存储在数据库中。然而,大多数现代的DBMS产品存储这种数据作为数据库的一部分。一般来说,数据库开发人员和用户都不直接访问应用元数据,相反,他们通过DBMS中的工具来处理这些数据。 4.2 创建数据库 数据库模式定义了数据库的结构、表、关系、域和业务规则。数据库模式是一种设计,数据库的应用正是建立在此基础上的。 域是一列可能拥有的值的集合。必须为每一个表的每一列确定域。除了数据的物理格式外,还需要确定是否有些域对表来说是唯一的。 数据库模式的最后一个要素是业务规则,它是对需要反映在数据库和数据库应用程序中的业务活动的约束。业务规则是模式的一个重要部分,因为他们指定了无论什么数据变化到达DBMS引擎,允许的数据值必须满足的约束。不管无效的数据变化请求是来自窗体的用户、查询、修改请求还是应用程序,DBMS都应该拒绝。遗憾的是,不同的DBMS产品用不同的方法实施业务规则。在某些情况下,DBMS产品不具备实施必要业务规则的能力,必须以代码形式把它们编入应用程序。 第五章 仓库管理系统数据库设计 5.1 数据库概念设计 本系统涉及的实体有:管理员,商品,仓库,供应商。他们的实体及其属性图分别如下: (1)货物的实体及其属性图如图5-1所示。 图5-1 货物实体及其属性图 (2)仓库的实体及其属性图如5-2所示。 图5-2 仓库实体及其属性图 (3)管理员的实体及其属性图如图5-3所示。 图5-3 管理员的实体及其属性图 (4)供应商的实体及其属性图如图5-4所示。 图5-4 供应商实体及其属性图 5.2 仓库管理系统E-R图 本系统E-R图如图5-5所示。 图5-5 系统E-R图 5.3 仓库管理系统数据表清单 表5-1 库存管理系统数据表清单 数据表名称 数据表用途 tb_BorrowGoods 保存货物的借货详细信息 tb_CheckGoods 保存货物的盘点详细信息 tb_GoodsIn 保存货物的入库详细信息 tb_GoodsInfo 保存货物的基本信息 tb_GoodsOut 保存货物的出库详细信息 tb_ProviderInfo 保存供应商的基本信息 tb_ReturnGoods 保存货物的还货详细信息 tb_StorehouseInfo 保存仓库的基本信息 tb_UserInfo 保存用户的基本信息 表5-1 5.4 数据库逻辑结构设计 在上面的实体以及实体之间的关系的基础上,形成数据库中的表格以及各个表格之间的关系。 仓库管理系统数据库中的各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。 (1)tb_BorrowGoods表如表5-2 列名 数据类型 长度 是否为主键 可否为空 GoodsBorrowID int YES 不能为空 GoodsName varchar 50 NO 可为空 GoodsStorehouse varchar 50 NO 可为空 GoodsProvider varchar 50 NO 可为空 GoodsUnit varchar 50 NO 可为空 BorrowNum int 10 NO 可为空 BorrowDate datetime NO 可为空 BorrowPeople varchar 50 NO 可为空 Handler varchar 50 NO 可为空 Info varchar 1000 NO 不能为空 表5-3 (2)tb_CheckGoods表如表5-3 列名 数据类型 长度 是否为主键 可否为空 GoodsCheckID int YES 不能为空 GoodsBorrowID int NO 可为空 GoodsName varchar 50 NO 可为空 GoodsStorehouse varchar 50 NO 可为空 GoodsProvider varchar 50 NO 可为空 InNum int NO 可为空 OutNum int NO 可为空 NeedNum varchar 100 NO 可为空 CheckPeople varchar 50 NO 可为空 CheckDate datetime NO 可为空 Info varchar 100 NO 不能为空 表5-3 (3)tb_GoodsIn表如表5-4 列名 数据类型 长度 是否为主键 可否为空 GoodsInID int 10 YES 不能为空 GoodsName varchar 50 NO 可为空 GoodsStorehouse varchar 50 NO 可为空 GoodsProvider varchar 50 NO 可为空 GoodsUnit varchar 50 NO 可为空 GoodsNum int NO 可为空 GoodsPriceIn money NO 可为空 GoodsAllPrice NO 可为空 GoodsInDate datetime NO 可为空 GoodsAdder varchar 50 NO 可为空 GoodsInfo text NO 不能为空 表5-4 (4)tb_GoodsInfo表如表5-5 列名 数据类型 长度 是否为主键 可否为空 GoodsID int 10 YES 不能为空 GoodsName varchar 50 NO 不能为空 GoodsStorehouse varchar 50 NO 可为空 GoodsProvider varchar 50 NO 可为空 GoodsUnit varchar 50 NO 可为空 GoodsNum int NO 可为空 GoodsPriceIn money NO 可为空 GoodsPriceOut money NO 可为空 GoodsInfo text NO 可为空 AddDate datetime NO 可为空 AddUser varchar 50 NO 可为空 GoodsLeast int NO 可为空 GoodsMost int NO 可为空 表5-5 (5)tb_GoodsOut表如表5-6 列名 数据类型 长度 是否为主键 可否为空 GoodsOutID int YES 不能为空 GoodsName varchar 50 NO 可为空 GoodsProvider varchar 50 NO 可为空 GoodsUnit varchar 50 NO 可为空 GoodsNum int NO 可为空 GoodsPriceOut money NO 可为空 GoodsAllPrice NO 可为空 GoodsOutDate datetime NO 可为空 GoodsOutPeople varchar 50 NO 可为空 GoodsOutCompany varchar 50 NO 可为空 Handler varchar 50 NO 可为空 GoodsInfo text NO 不能为空 表5-6 (6) tb_ProviderInfo表如表5-7 列名 数据类型 长度 是否为主键 可否为空 ProviderID int YES 不能为空 ProviderName varchar 50 NO 不能为空 ProviderManager varchar 50 NO 可为空 ProviderPhone varchar 50 NO 可为空 ProviderFax varchar 50 NO 可为空 ProviderEmail varchar 10 NO 可为空 ProviderAddress varchar 1000 NO 可为空 ProviderInfo text NO 可为空 AddDate datetime NO 可为空 AddUser varchar 1000 NO 可为空 表5-7 (7)tb_ReturnGoods表如表5-8 列名 数据类型 长度 是否为主键 可否为空 ReturnGoodsID int YES 不能为空 GoodsName varchar 50 NO 可为空 GoodsStorehouse varchar 50 NO 可为空 GoodsProvider varchar 50 NO 可为空 GoodsUnit varchar 50 NO 可为空 ReturnNum int NO 可为空 ReturnDate datetime NO 可为空 ReturnPeople varchar 50 NO 可为空 Handler varchar 50 NO 可为空 Info varchar 1000 NO 可为空 表5-8 (8) tb_StorehouseInfo表如表5-9 列名 数据类型 长度 是否为主键 可否为空 StorehouseID int YES 不能为空 StorehouseName varchar 50 NO 可为空 StorehouseManager varchar 50 NO 可为空 StorehousePhone varchar 50 NO 可为空 StorehouseInfo text NO 可为空 AddDate datetime NO 可为空 AddUser varchar 50 NO 可为空 表5-9 (9)tb_UserInfo表如表5-10 列名 数据类型 长度 是否为主键 可否为空 UserID int YES 不能为空 UserName varchar 20 NO 不能为空 UserPwd varchar 20 NO 不能为空 UserLevel varchar 20 NO 不能为空 表5-10 第六章 界面展示及部分功能模块主要代码 6.1 模块划分 本系统模块图如图6-1所示。 图6-1 系统模块图 6.2 本程序登录界面 出于对系统安全性的考虑,本系统设置了登录模块,只有持有效用户名和密码的用户才能登录该系统。此外,本系统设置了访问权限,不同访问权限的用户进入系统后能完成不同的操作,普通用户只具有查询的权限,管理员用户可对普通用户的信息进行更改和入出库等所有操作。具体的登录页面如图6-2所示。 图6-2系统登录界面 主要实现代码如下: private void frmLogin_Load(object sender, EventArgs e) { dataoperate.ComboxDataBind("SELECT * FROM tb_UserInfo", "UserInfo", "UserName", cboxUserName); } private void cboxUserName_SelectedIndexChanged(object sender, EventArgs e) { try { string strCMD = "SELECT UserLevel FROM tb_UserInfo WHERE UserName=" + cboxUserName.Text + ""; SqlDataReader dr = dbcontrol.SqlExecuteReader(strCMD); if (dr.Read()) { strUserLevel = dr["UserLevel"].ToString(); lblUserLevel.Text = strUserLevel; } dr.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void btnLogin_Click(object sender, EventArgs e) { int iResult = dataoperate.Login(cboxUserName.Text.Trim(), txtPwd.Text.Trim()); if (iResult == 0) { MessageBox.Show("用户名或密码错误!", "提示!", MessageBoxButtons.OK, MessageBoxIcon.Information); } if (iResult == 1) { strUserName = cboxUserName.Text.Trim(); strUserPwd = txtPwd.Text.Trim(); frmMain frm = new frmMain(); frm.Show(); this.Hide(); } } 6.3 本程序运行后的效果 当使用正确的用户名和密码登陆系统以后就进入系统的主界面,在系统的主界面中可以选择你要进入的系统模块,在系统的下面显示了你登陆的用户名,用户权限以及登录时间等。系统主界面如图6-3所示。 图6-3 系统主界面 6.4 选择主窗体 选择主窗体上的[货物管理]或货物管理页面上的按钮可以进入入库管理、出库管理、借货还货和盘点管理功能窗体,如图6-4所示。 图6-4 货物管理菜单界面 6.4.1 入库管理窗体 入库管理窗体中设置了入库管理的基本信息,如图6-5所示。 图6-6 货物入库管理窗体 主要实现代码如下: private void frmGoodsIn_Load(object sender, EventArgs e) { ds = dbcontrol.GetDataSet("SELECT * FROM tb_GoodsIn", "GoodsIn"); if (ds.Tables[0].Rows.Count == 0) { btnDelete.Enabled = false; } else { btnDelete.Enabled = true; dgvGoodsIn.DataSource = ds.Tables[0]; } dataoperate.ComboxDataBind("SELECT ProviderName FROM tb_ProviderInfo", "ProviderName", "ProviderName", cboxProvider); dataoperate.ComboxDataBind("SELECT StorehouseName FROM tb_StorehouseInfo", "StorehouseName", "StorehouseName", cboxStorehouse); } private void btnGoodsIn_Click(object sender, EventArgs e) { if (txtGoodsName.Text.Trim() == "") { MessageBox.Show("货物名称不能为空!", "提示!", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (txtGoodsNum.Text.Trim() == "") { MessageBox.Show("货物数量不能为空!", "提示!", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (txtGoodsPriceIn.Text.Trim() == "") { MessageBox.Show("货物进价不能为空不能为空!", "提示!", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { try { dataoperate.GoodsIn(txtGoodsName.Text.Trim(), cboxProvider.Text.Trim(), cboxStorehouse.Text.Trim(), cboxGoodsUnit.Text.Trim(), txtGoodsNum.Text.Trim(), txtGoodsPriceIn.Text.Trim(), DateTime.Now, txtGoodsAdder.Text.Trim(), txtGoodsInfo.Text); MessageBox.Show("入库成功!", "提示!", MessageBoxButtons.OK, MessageBoxIcon.Information); frmGoodsIn_Load(sender, e); Clear(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } 6.4.2 出库管理窗体 出库管理窗体中设置了出库管理的基本信息,如图6-7所示。 图6-8 货物出库管理窗体 主要实现代码如下: private void frmGoodsOut_Load(object sender, EventArgs e) { ds = dbcontrol.GetDataSet("SELECT * FROM tb_GoodsOut", "GoodsOut"); if (ds.Tables[0].Rows.Count == 0) { btnDelete.Enabled = false; } else { btnDelete.Enabled = true; } dgvGoodsOut.DataSource = ds.Tables[0]; dataoperate.ComboxDataBind("SELECT DISTINCT GoodsStorehouse FROM tb_GoodsInfo", "Storehouse", "GoodsStorehouse", cboxStorehouse); } private void cboxStorehouse_SelectedIndexChanged(object sender, EventArgs e) { dataoperate.ComboxDataBind("SELECT DISTINCT GoodsProvider FROM tb_GoodsInfo WHERE GoodsStorehouse=" + cboxStorehouse.Text + "", "ProviderInfo", "GoodsProvider", cboxProvider); cboxGoodsName.Text = ""; } private void cboxProvider_SelectedIndexChanged(object sender, EventArgs e) { dataoperate.ComboxDataBind("SELECT GoodsName FROM tb_GoodsInfo WHERE GoodsStorehouse=" + cboxStorehouse.Text + " AND GoodsProvider=" + cboxProvider.Text + "", "GoodsName", "GoodsName", cboxGoodsName); } private void cboxGoodsName_SelectedIndexChanged(object sender, EventArgs e) { SqlDataReader dr = dbcontrol.SqlExecuteReader("SELECT * FROM tb_GoodsInfo WHERE GoodsStorehouse=" + cboxStorehouse.Text + " AND GoodsProvider=" + cboxProvider.Text + " AND GoodsName=" + cboxGoodsName.Text + ""); if (dr.Read()) { cboxGoodsUnit.Text = dr["GoodsUnit"].ToString(); txtNumNow.Text = dr["GoodsNum"].ToString(); txtPriceOut.Text = dr["GoodsPriceOut"].ToString(); } dr.Close(); } 6.4.3 借货管理窗体 借货管理窗体中设置了借货管理的基本信息,如图6-9所 图6-9 借货管理窗体 主要实现代码如下: private void btnBorrow_Click(object sender, EventArgs e) { if (txtBorrowNum.Text.Trim() == "") { MessageBox.Show("数量不能为空!", "提示!", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (errorNum.GetError(txtBorrowNum).Equals("数量格式不正确!")) { MessageBox.Show("格式有误!", "提示!", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { try { int iResult = da
展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
相关资源
正为您匹配相似的精品文档
相关搜索

当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!