库存管理系统.doc_第1页
库存管理系统.doc_第2页
库存管理系统.doc_第3页
库存管理系统.doc_第4页
库存管理系统.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业设计(论文)摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。通过分析库存管理系统的不足,创建了一套行之有效的库存管理系统。文章介绍了库存管理系统的系统分析部分,包括可行性分析、业务流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现部分说明了几个主要模块的算法本系统界面友好,操作简单,比较实用。关键字:库存管理系统、库存管理、JSP应用36ABSTRACTManagement Information System be one further develop new model discipline, any units need to exist need to develop, be high efficiency than field inside activity organic field organization get up, right away be obliged to building-up and oneself characteristic each other fit in with Management Information System.Be not worth having established a set of effective stock management system by analysing some one company stock control systematically. The article has introduced the systematic systems analysis of stock control part , has included feasibility analysis , business process analysis etc.Keywords:Stock control system、 stock control 、 JSP apply目录摘要IABSTRACTII第1章 绪论11.1 项目开发的背景11.2 项目开发的目标21.3 项目开发的意义2第2章 开发工具、语言及环境介绍32.1 开发工具、语言及环境介绍62.2 本章小结7第3章 系统分析设计83.1 需求分析83.2 系统可行性分析83.3 功能模块分析93.4 本章小结10第4章 数据库设114.1 数据库需求分析114.2 数据库逻辑结构设计134.3 数据库的安全性与完整性134.4 数据库语句134.5 本章小结15第5章 系统设计与实现165.1 系统结构205.2 系统管理员功能实现215.3 库存管理员功能实现225.3.1 出入库功能实现245.3.2 出入库功能实现245.3.3 超短线货品报警265.3.4 修改密码功能285.3.5 货品库存统计信息查询285.3.6 报表打印285.4 本章小结32第6章 系统功能测试336.1 功能测试336.2 本章小结35第7章 总结36致谢37参考文献38第1章 绪论1.1 项目开发的背景企业的库存管理往往很复杂、很烦琐的。由于所掌握的物资种类众多,订货、管理、发放的渠道各有差异,各个企业之间的管理体制不尽相同,各类统计报表繁多,因此仓库的库存管理必须编制一套库存管理信息系统,实现计算机化操作,而且必须根据企业的具体情况制定相应的方案。 根据当前的企业管理体制,一般的库存管理系统,总是根据所掌握的物资类别,相应分成几个科室来进行物资的计划,订货,核销托收,验收入库,根据企业各个部门的需求来发送物资设备,并随时按期进行库存盘点,作台帐,根据企业领导和自身管理的需要按月、季度、年度进行统计分析,产生相应报表。为了加强关键物资、设备的管理,要定期掌握其储备,消耗情况,根据计划定额和实际纤毫定额的比较,进行定额管理,使得资金使用合理,物资设备的储备最佳。一个完整的企业物资供应管理系统应包括采购计划管理,合同收托管理、仓库库存管理、定额管理、统计管理、财务管理等模块。其中仓库的库存管理是整个物资供应管理系统的核心。因此有必要开发一套独立的库存管理系统来提高企业工作效率, 而所使用的这套库存管理系统是企业生产经营管理活动中的核心,此系统必须可以用来控制合理的库存费用、适时适量的库存数量,使企业生产活动效率最大化。通过对这些情况的仔细调查,我开发了下面的仓库库存管理系统。1.2 项目开发的目标库存管理的主要目标就是通过对仓库所有入出库活动的管理和控制及对库存数据有效的统计和分析,以保证企业生产中畅通的物流,使决策人员及早发现问题,采取相应措施,调整库存结构,缩短储备周期,加速资金周转,最大限度地降低库存占用,同时,通过周期性的仓库盘点,及时补救管理中的漏洞,使库存管理系统实时地反映企业中各个仓库的现时情况,为各类管理人员从不同侧面提供所需信息,以便协调企业经营收到更大效益,库存管理系统是协调企业生产经营的基础,其数据的准确性、方便的查询、有效的分析是整个计算机管理系统顺利运行的关键。1.3 项目开发的意义仓库库存管理系统是一个企业不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以仓库库存管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理仓库中的各种物资设备,这种管理方式存在着许多缺点,如:效率低、另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对物资信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 目前决大多数企业都已使用了库存信息管理系统,但是现在我国的中小企业中信息的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代,这种传统的管理方法必然被以计算机为基础的信息管理所取代。因此,开发这样一套库存管理软件成为很有必要的事情。第2章 开发工具、语言及环境介绍2.1 开发工具、语言及环境介绍在本网站设计过程中,所用到的是Macromedia公司的Dreamweaver。使用Dreamweaver这一网页编辑器,省去了很多代码的编写工作,使得设计者不必编写HTML代码,便可以制作出精美的网页。Macromedia Dreamweaver是一款优秀的“所见即所得”的网页编辑器,Dreamweaver的可视化特征使用户可以直接在页面上添加和编辑元素,而不用写一行代码。例如通过鼠标拖曳来添加图像、表格等元素,在文档中直接输入输入文本,还有直接插入一些常用的符号和对象等等。我们在没有输入代码的情况下完成了这些工作,Dreamweaver自动将结果转换为HTML源代码,在代码视图中进行修改,这点是为专业人士考虑的,同时也方便初学者学习掌握HTML语言。SQL Server2000则是目前最流行的数据库之一,操作简单,功能强大,而Tomcat6.0是SUN公司发布的,用来运行和发布JSP网站。JSP(Java Server Page)是在Sun Microsystems公司倡导下建立的一种动态网页技术标准。它在运行速度、安全性、可移植性均比传统的Web编程语言有很大的改进,“一次开发,多个平台应用”更是JSP动人之处,因此深受Web开发人员的青睐。Eclipse平台是IBM公司想开发源码社区捐赠的java程序开发框架,其前身是IBM的visual Age for Java(简称VA4J),在此前,IBM已经投入超过4千万美元进行研发。Eclipse是一个成熟的、可扩展的体系结构。在该平台中可以集成不同软件开发供应商的产品,任何软件开发工具供应商都可以将他们的开发工具和组件加到Eclipse平台中由于Eclipse平台是免费的,而且架构比较成熟,加上又有行业协会Eclipse基金会(Eclipse Foundation)的大力支持,现在很多基于Java的开发都采用Eclipse架构。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,J DT)。安装了my eclipse插件,我们就可以使用Eclipse来进行JSP项目开发了。JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。 JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。JSP的实质便是Servlet,更准确一点便是,在Web服务器(或是Servlet服务器、Application Server,服务器是用户请求的服务中心)中解释为Servlet,这时候JSP已变成Java程序员熟悉的Servlet来执行,接着它被编译成Java的执行代码(bytecode),使用标准的API执行Java Servlet,API便是JSP的核心所在,与Servlet相比,JSP有如下两个优势:1 方便与HTML混合对HTML来说,JSP容易对Java插入对象,使HTML更容易增加动态部分,而Servlet却要对HTML的输出做特殊的处理,增加了代码的编写测试时间,特别是当遇上复杂的HTML网页编写,用Servlet简直就是一场噩梦。2 在开发、测试方面比Servlet方便修改JSP后,马上就可以看到执行的结果,不需编译;而Servlet却要编译,放入执行代码等复杂过程,将HTML的代码与Java的程序代码混合在一起增加了除错的难度。使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够方便地编辑和使用JSP页面,而不需要理会JavaBeans到底进行什么操作。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容,并且将结果以HTML页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。绝大多数JSP页面依赖于可重用的,跨平台的组件来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使各种组织在他们现有的技能和优化结果的开发努力中得到平衡。如果要进行电子商务网站的设计或更复杂的应用程序设计,那么JSP的复杂结构必须由JavaBeans来达成,这种架构在其他语言想要整合是十分困难或是缺乏经济效益的,因此不会有超出Java形式存在的JSP,最多是以非JavaBeans的形式运作,但仍然是架构在Java上面。从JSP与Servlet及JavaBeans的关系可以看出,JSP的优势在于Java所存在的强力API与企业支持而非JSP语法本身,JSP语法本身与其他Server-side Script比较,并没有突出之处,也并非最优秀。尽管如此,JSP还有一些非常突出的强项:1.一次编写,随处运行。这是一个程序员的梦想,也是从前程序员的噩梦,为了在不同的平台间运行,使许多程序员一行行的重写代码。在这点上Java已经给出了最完美的答案,它比PHP更出色,除了系统之外,您的代码不用做一点更改的。2.系统的多平台支持,可以在任意环境进行开发、系统部署及扩展。3.强大伸缩性。从只有一个小的jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡以及多台Application进行事务处理、消息处理一台服务器到无数服务器,Java都显示了一个巨大的生命力。4.多样化和功能强大的开发工具支持。5.JSP API是J2EE的一部分,给Web和Java开发者创建各种应用提供了一个简单但强有力的机制,JSP给开发者提供了两个重要的能力:a、它提供了访问远程数据的机制如EJB,RMI,JDBC。b、它让开发者从一堆代码中分离程序逻辑而达到最大程度的代码重用和灵活性。逻辑与表现的分离是它超越其他Web应用结构的一个主要优势。6.Java Servlet是一种开发Web应用结构的理想构架。JSP以Servlet技术为基础,又在许多方面作了改进。利用跨平台运行的JavaBean组件,JSP为分离处理逻辑与显示样式提供了卓越的解决方案。JSP利用Java通过一个叫JDBC的技术连接数据库。目标数据库需要一个JDBC驱动程序,一个数据库与Java的接口,使Java可以用标准的方式访问数据库。JDBC不使用服务器端的数据源。只要有JDBC驱动程序,Java就可以访问数据库了。如果一个特定的数据库没有JDBC驱动程序,而只有ODBC驱动程序,Java提供一个JDBC-ODBC桥来将JDBC调用转化为ODBC调用。所有的Java编译器都带有一个免费的JDBC-ODBC桥。理论上,桥可以访问任何常见的数据库产品。JSP技术被设计为一个开放的、可扩展的建立动态Web页面的标准。开发人员可以使用JSP页面来创建可移植的Web应用,在不同的Web和应用服务器上为不同的场合所运行,而不论采用什么适合本身场合和需要的创建工具。通过与业界领域的合作,Sun保证JSP规范是开放的和可移植的。可以使用任何客户机和服务器平台,在任何地方都可编写和部署他们。将来,工具供应商将通过为专门的功能提供客户化的标识库而扩展平台的功能。2.2 本章小结本章是对完成本课题所用到的工具、语言及环境进行一些简单的介绍,重点对JSP进行介绍。JSP技术的优势在于:依次编写到处运行、系统的多平台支持、强大的可伸缩性、多样化和功能强大的开发工具支持。在原理上,JSP是编译成Servlet执行的(Servlet是一个Java类),所以JSP和Servlet一样,具有功能强大、跨平台等特点。但JSP比Servlet更加容易编写。第3章 系统分析设计3.1 需求分析需求分析的任务是确定系统必须完成哪些工作,也就是说对目标系统提出完整、准确、清晰、具体的要求,它是系统分析和软件设计阶段之间的桥梁。在需求分析的过程中,很重要的一部分就是用数据流图和数据字典来描述系统,然后编写规格说明书。需求分析的好坏直接会影响整个工程的成败。要创建库存管理系统,首先应确定要实现系统的范围。要弄清楚什么内容需要包裹在系统内部,什么内容不是系统中的功能。这样才能针对需要的功能进行设计,做到有的防矢。如果不是系统中的内容,就不要纳入到系统中来,以免使系统庞大而复杂。要创建的库存管理系统主要应该包括与库存相关信息的管理与维护。比如,物料的入库和出库,出库入库的查询和修改,货品库存统计信息查询,短线货品和超线货品报警,各类信息报表打印。与库存无关的信息不应该放到系统的范围内,比如,财务的信息和人员的信息等。这些信息可能在库存系统和其它系统接口的时候涉及,这里我就不先考虑。确定了系统边界以后,接下来来确定系统的角色。因为系统是由人去使用的,系统和外界系统间也可能有一定的交互。使用库存管理系统的角色应该包括系统管理员和库存管理员。其中系统管理员只要负责维护库存管理系统本身,最主要的就是维护登录系统的用户信息和用户的增加删除和类型设置,库存管理员负责维护物品的基本信息,物品的出入库的基本信息等内容。3.2 系统可行性分析可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。一般来说,我们至少应该从技术可行性、经济可行性、操作可行性三个方面来研究每种解法的可行性。当然,可行性研究的最根本的任务是对以后的行动方针提出建议。l 技术方面的可行性对于库存管理系统的开发设计,实质上就是采用B/S结构对库存物品进行在线管理。目前B/S结构已相当成熟,而在创建库存管理上面,可以使用Serv-U等优秀软件,实现起来也非常方便,特别是Serv-U有提供将数据存在ODBC的功能,这样就可以很方便的将B/S结构与库存物品管理联系起来;另外,数据库技术也越来越成熟,功能越来越强大,JSP与数据库连接的技术也是相当成熟,实现远程访问sql server2000数据库也不是一件困难的事。而且Java技术日趋成熟,可以实现很多复杂的功能,如对文件的操作等等。因而采用B/S结构实现上述的需求是可行的。另外,从硬件上看,具有先进的CPU技术,非常快的计算速度;从操作系统来看,提供给友善的接口,丰富的应用集成工具,并使应用程序具有可移植性及互操作性;从网络系统来看,有先进的Internet/Intranet网络技术,路由技术,可实现统一的、高效的计算机管理。l 经济方面的可行性如果说是一个实际的项目,公司组织人员开发这样一个管理系统的最大目的就是为了获得利益。当然开发也要有很大的成本,可以根据这个项目的内容,大致时间的安排,可以估算出大致的成本。对于库存管理系统的开发,开发成本是相当低的,如果不考虑商用,随便一台电脑就可以做为服务器,只需安装一些必要的软件就可以投入使用了,所以在经济上也是可行的。l 操作方面的可行性现在的开发一般都是采用面向对象的开发,而且采用浏览器/服务器开发,可以允许多个人同时操作,并可以有操作权限的设置,操作起来比较的方便,所以在操作方面也是可行的。从以上三条,我们可以看到这个课题应该是可行的。3.3 功能模块分析下面所画的是本系统的功能分析图,从图从上往下可以清楚看清楚本系统的功能,按功能反面本系统可分为五大模块,分别为系统模块,入库模块,出库模块,还库模块盘点模块,系统模块是只系统管理员模块,该模块只要实现系统管理员对系统用户的管理,其中包括对库存管理员的添加和对系统管理员的添加当然也包括了对用户的删除功能。出入库两功能模块只要实现对物品的出库入库查询和修改的功能。物品还库模块只要实现还库查询的功能。盘点模块只要实现对库存货品的统计,超线短线货品报警和报表的打印。主要功能:1、系统管理员添加用户,2、系统管理员删除用户, 3、系统管理员设置用户类型,4、物品的入库修改和查询,5、物品的出库修改和查询,6、库存管理员修改密码,7、物品库存统计信息查询,8、短线货品和超线货品报警,出库查询物品出库入库查询物品入库设置类型添加用户出库修改入库修改删除用户超短物品查询线物品查询学生成绩查询库存统计查询信息基本课程设置物品还库填写基本课程设置盘点模块成绩管理还库模块课程管理出库模块入库模块系统模块库存管理系统9、各类报表打印,10、物品还库,11、物品还库查询,物品还库查询修改班级课程设置 图3-1 主要功能模块图3.4 本章小结本章是对本课题的前期工作进行一些描述,确定了系统必须完成哪些功能,包括需求分析、系统可行性分析和功能模块分析。这三个方面的工作好似一座大厦的基层,只有仔细做好了这三个方面的工作,才能保证整个课题能够顺利的完成。第4章 数据库设计数据库设计的目标是要求完全满足业务的数据存储要求。如果能够设计一个合理的数据库模型,不仅会降低程序编程和维护的难度,也会提高系统实际运行的性能,因而必须仔细的制定设计步骤方案,了解规范的设计方法和必要的规则。4.1 数据库需求分析本系统数据库采用SQL Server2000数据库,根据系统需求分析和Serv-U的实际情况,本系统数据表如下:本系统主要涉及到的五个表T_Bind表:BindUID,BindCode,InvUIDT_InvIO表:InvIOUID,BindUID,ItemUID,Qty,tm,ItemName,IoType T_Item表: ItemUID,ItemName,QtyT_User表:UserUID,UserName,PassWord,UserType4.2 数据库逻辑结构设计通过分析、比较与综合各种常用的数据库规范设计方法,将数据库设计分为六个阶段,如图所示:概念结构设计概念结构需求说明需求分析逻辑结构设计物理结构数据库系统物理结构数据库运行和维护数据库实施数据库物理设计图4-1 数据库设计的步骤数据库概念结构设计:这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。根据上面的设计规划出的实体有库存实体、入库实体、出库实体、还库实体。各个实体的E-R图及其关系描述如下:设备名称设备号现有库存现有库存图4-2 库存实体E-R图设备号入库时间入库设备名数量图图4-3入库实体E-R图设备名数量设备号出库时间出库图图4-4出库实体E-R图还库数量设备号设备还库还库时间图4-5 库存实体E-R图实体与实体间的关系E-R图如下所示:出库现有库存入库还库图4-6实体之间关系E-R图在数据库的设计中,首先要注意命名的规范,其次就是要注意数据的一致性和完整性,尽可能的降低数据的冗余,当然如果数据冗余度低,数据的完整性容易得到保证,但增加了表间连接查询的操作,所以合理的数据冗余也是必要的。可使用规则和约束来对数据的有效性验证。另外可以创建索引,来维护被索引列的唯一性和提供快速访问表中数据的策略。进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。数据库的需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。作为地基的需求分析是否做得充分与准确,决定了在其上构建数据大厦的速度与质量。数据分析做得不好,甚至会导致整个数据设计翻工重做。下面是本系统设计的表及其作用。表4-1 T_Bind基本信息表列名数据类型可否为空说明BindUIDvarcher否柜位号BindCodevarcher否柜位编码InvUIDvarcher否编号表4-2 T_Item物料记录表列名数据类型可否为空说明ItemUIDvarcher否物料标号ItemNamevarcher否物料名称Qtyint否数量表4-3 T_InvIO基本信息表列名数据类型可否为空说明InvIOUIDvarcher否唯一标志BindUIDvarcher否柜位标号Qty,varcher否数量tmvarcher否时间ItemNamevarcher是名称IoTypevarcher是类型表4-4 T_User基本信息表列名数据类型可否为空说明UserUIDvarcher否编号UserNamevarcher否姓名PassWordvarcher否密码UserTypevarcher否类型4.3 数据库的安全性与完整性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏,以达到保护数据库的目的。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。SQL Server安全控制策略示意图如下: 图4-1 安全控制策略示意图各层SQL Server安全控制策略是通过各层安全控制系统的身份验证实现的。身份验证是指当用户访问系统时,系统对该用户的账号和口令的确认过程。身份验证的内容包括确认用户的账号是否有效、能否访问系统、能否访问系统的哪些数据等。用户标识和验证是系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供机器使用权。对于获得上机权的用户若要使用数据库时数据库管理系统还要进行用户标识和鉴定。用户标识和鉴定的常用方法是用一个用户名或者用户标识号来标明用户身份。系统内部纪录着所有合法用户的标识,系统验证此户是否合法用户,若是,则可以进入下一步的核实;若不是,则不能使用系统。为了进一步核实用户,系统常常要求用户输入口令(Password)。为保密起见,用户在终端上输入的口令不显示在屏幕上。系统核对口令以验证用户身份。所以通常给不同的用户群或个体用户以不同的权限。 数据库的完整性是指授权用户对数据库更新时不会破坏数据的一致性,从而保证数据库中数据是正确的、一致的和相容的。为了实现数据库完整性,DBMS提供了表达完整性约束的方法,以及实现完整性的控制机制。其中完整性约束包括静态或动态的元组、关系、列的约束。完整性控制包括外码是否可以为空和被参照关系中主码的考虑等。4.4 数据库语句Web 应用程序设计少不了数据库,因为只有数据库才能大量、快速地处理信息。使用JSP 可以读取Access 和SQL Server 数据库,也可以读取其他ODBC(开放式数据库互联)兼容的数据库。(1)SQL 常用命令使用方法:数据记录筛选:sql=select * from 数据表 where 字段名=字段值 order by 字段名 descsql=select * from 数据表 where 字段名 like %字段值% order by 字段名 descsql=select top 10 * from 数据表 where 字段名 order by 字段名 descsql=select * from 数据表 where 字段名 in (值1,值2,值3)sql=select * from 数据表 where 字段名 between 值1 and 值2更新数据记录:sql=update 数据表 set 字段名=字段值 where 条件表达式sql=update 数据表 set 字段1=值1,字段2=值2 字段n=值n where 条件表达式删除数据记录:sql=delete from 数据表 where 条件表达式sql=delete from 数据表 (将数据表所有记录删除)添加数据记录:sql=insert into 数据表 (字段1,字段2,字段3 ) valuess (值1,值2,值3 )sql=insert into 目标数据表 select * from 源数据表 (把源数据表的记录添加到目标数据表)数据记录统计函数:AVG(字段名) 得出一个表格栏平均值COUNT(*¦字段名) 对数据行数的统计或对某一栏有值的数据行数统计MAX(字段名) 取得一个表格栏最大的值MIN(字段名) 取得一个表格栏最小的值SUM(字段名) 把数据栏的值相加引用以上函数的方法:sql=select sum(字段名) as 别名 from 数据表 where 条件表达式set rs=conn.excute(sql)用 rs(别名) 获取统的计值,其它函数运用同上。数据表的建立和删除:CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) )例:CREATE TABLE tab01(name varchar(50),datetime default now()DROP TABLE 数据表名称 (永久性删除一个数据表)。4.5 本章小结本章首先进行数据库需求分析和逻辑结构设计,确定了完成本课题所需要的表以及每个表有哪些字段,接着简单地介绍了数据库的完整性与安全性,最后写出了数据库的各种操作语句。第5章 系统设计与实现5.1 系统结构系统建立在B/S 体系结构基础上,采用美国微软公司提供的网络技术及数据库管理系统构建学生信息系统,其结构图如图所示; 数据库IIS站点服务器 INTERNET 或局域网浏览器1浏览器2浏览器3图5-1数据流程图数据传输流程如图所示:服务器客户端LAN服务器中的数据库图5-2数据传输图5.2 系统管理员功能实现 页面视图如下:图5-3 添加用户和设置类型系统管理员是肩负着整个系统得维护工作,所有库存管理员和后期系统管理员都是有系统管理员添加到数据库中,系统管理员还可以完成对管理员的添加删除和设置其类型的功能。String getname=request.getParameter(name1); /提取表单中的用户名String getpassword=request.getParameter(name2); /提取表单中的密码String gettype=request.getParameter(name3); /提取表单中的类型int i=-1;ResultSet rs=wang.executeQuery(select * from T_User); /查询数据表T_Userwhile(rs.next()String username=rs.getString(UserName); /提取数据表中的用户名if(getname.equals(username) /判断数据表中的用户名是否和表单中的一样i=1; /如果一样设置i=1if(i=1)response.sendRedirect(reg_fail.jsp);elseStringsql=insertintoT_User(UserName,PassWord,UserType)values(+getname+,+getpassword+,+gettype+); /如果不一样把表单中的数据插入数据表中if(wang.executeUpdate(sql)response.sendRedirect(reg_success.jsp);这是系统管理员添加用户的部分代码首先取得表单中的数据然后调用rs方法查询数据库看是否已经存在该用户如果是就跳转到reg_fail.jsp如果不存在跳转到reg_success.jsp。其中name3是用来判断用户类型。5.3 库存管理员功能实现5.3.1 出入库功能实现出入库功能实现:int i=0;int j=0;int k=0;int l=0;int o=0;ResultSet rs=wang.executeQuery(select * from T_Item);/查询数据表T_Itemwhile(rs.next()String name7=rs.getString(ItemUID); /从数据表中取得物品编号if(getiotype.equals(0)&getitemuid.equals(name7) /如果物品为入库且数据表中已经存在该物品i=1; else if(getiotype.equals(0)&!getitemuid.equals(name7) /如果物品为入库且数据表中不存在该物品j=1;else if(getiotype.equals(1)&getitemuid.equals(name7) /如果物品为出库且数据表中已经存在该物品k=1;else if(getiotype.equals(1)&!getitemuid.equals(name7) 如果物品为出库且数据表中不存在该物品l=1; if(i=1)rs=wang.executeQuery(select * from T_Item where ItemUID=+getitemuid+);rs.next();Integer name8=rs.getInt(Qty); /取得用户表中的物品数量name8=getqty+name8; /把取得的物品数量和入库的数量相加String sql=update T_Item set Qty=+name8+ where ItemUID=+getitemuid+; /更新数据表中物品数量wang.executeUpdate(sql);Stringsql2=insertinto T_InvIO(ItemUID,ItemName,Qty,BindUID,IoType,tm)values(+getitemuid+,+getitemname+,+getqty+,+getbinduid+,+getiotype+,+gettm+); /把入库记插入到T_InvIO中wang.executeUpdate(sql2);out.println(恭喜你,入库成功 返回);else if(j=1)String sql=insert into T_Item(ItemUID,ItemName,Qty)values(+getitemuid+,+getitemname+,+getqty+);String sql2=insert into T_InvIO(ItemUID,ItemName,Qty,BindUID,IoType,tm)values(+getitemuid+,+getitemname+,+getqty+,+getbinduid+,+getiotype+,+gettm+);wang.executeUpdate(sql2);wang.executeUpdate(sql);out.println(恭喜你, 入库成功 返回);if(k=1)rs=wang.executeQuery(select * from T_Item where ItemUID=+getitemuid+);rs.next();Integer name8=rs.getInt(Qty);if(getqtyname8)out.println(库存数量不够请确定后在取返回);if(getqty=name8)name8=name8-getqty;String sql=update T_Item set Qty=+name8+ where ItemUID=+getitemuid+;wang.executeUpdate(sql);String sql2=insert into T_InvIO(ItemUID,ItemName,Qty,BindUID,IoType,tm)values(+getitemuid+,+getitemname+,+getqty+,+getbinduid+,+getiotype+,+gettm+);wang.executeUpdate(sql2);out.println(恭喜你,出库成功 返回);else if(l=1)out.println(不存在该物品); 其中的0和1分别为系统管理员和库存管理员name7是用来判断入库还是出库。上面分两种情况进行入库首先判断库存中是否存在该物品如果不存在直接进行入库和入库登记,如果存在取得库存中原有的物品数量然后加上入库数量最后插入到数据库和进行入库记录。如果是出库首先判断是否存在该物品,然后判断物品数量是否少于或大于出库数量如果大于进行正常出库然后进行出库登记。5.3.2 出入库修改页面视图如下:图5-4 出入库修改String sql=delete from T_InvIO where InvIOUID=+getinviouid+; wang.executeUpdate(sql);ResultSet rs=wang.executeQuery(select * from T_Item where ItemUID=+getitemuid+ ); /查询数据表T_Item物品编号为输入的编号while(rs.next()Integer name1=rs.getInt(Qty); /取得物品数量if(getiotype.equals(0) /如果是入库name1=name1-getqty; /库存数量减去输入的数量String sql2=update T_Item set Qty=+name1+ where ItemUID=+getitemuid+; /更新数据表wang.executeUpdate(sql2);out.println(恭喜你,注销成功 返回);if(getiotype.equals(1) /如果是出库name1=name1+getqty; /库存数量加上输入数量 String sql2=update T_Item set Qty=+name1+ where ItemUID=+getitemuid+; /更新数据表wang.executeUpdate(sql2); out.println(恭喜你,注销成功 返回);首先判断出库还是入库 ,然后再来确定要加还是减最后把得到的数据插入数据库中就完成了对出入库中出现的错误进行了修改。5.3.3 超短线货品报警页面如下:图5-5超短线货品图5-6短线货品ResultSet rs=wang.executeQuery(select * from T_Item); /查询数据表while(rs.next()String name1=rs.getString(ItemUID); /取得数据表中物品编号String name2=rs.getString(ItemName); /取得数据表中物品名字Integer name3=rs.getInt(Qty); /取得数据表中物品数量if(name3=100)/通过判断库存数量确定为短线货品 out.println(物品编号: +name1); /输出物品编号out.println(物品名称: +name2);out.println(数量: +name3);5.3.4 修改密码功能若用户在中心页面选择修改密码服务,则跳转到如下页面:图5-6 修改密码页面用户可以在此输入旧密码和新密码,由后台程序执行修改密码功能。首先用户

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论