(整理)数据库课程设计-仓库管理系统
- 格式:doc
- 大小:1.45 MB
- 文档页数:71
小型仓库管理系统的数据库设计方法数据库设计所谓数据库设计是指从对现行非计算机管理的数据库系统的分析到最终实现由计算机管理的数据库系统的全过程。
它包括表、查询、报表等的设计。
总的原则应从提高数据处理效率及便于数据处理两方面考虑。
数据库是信息系统的核心和基础。
它把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。
数据库设计的步骤有需求分析,概念结构设计,逻辑结构设计。
1.1 需求分析进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。
需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。
作为地基的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度与质量。
需求分析做得不好,甚至会导致整个数据库设计返工重做。
1.1.1 入库操作入库功能实现可分为以下几个部分:(1)定制入库单由操作人员输入最基本的信息,从商品信息表中获取商品相关信息,从供应商信息表中获取供应商的相关信息。
(2)输入入库单对应的商品信息入库商品与入库单自动关联,从商品信息表中获取商品的相关信息。
入库操作的数据流图如图2-1所示。
1.1.2 出库操作出库功能实现可分为以下几个部分:(1)定制出库单由操作人员输入最基本的信息,从商品信息表中获取商品相关信息,从客户信息表中获取客户相关信息。
(2)输入出库单对应的商品信息出库商品与出库单自动关联,从商品信息表中获取商品的相关信息。
处理流程如图2-2所示。
1.2功能模块设计系统功能模块结构图,如图2-3所示:图2-1 入库数据流图图2-2 出库数据流图图2-3系统功能模块图该系统功能模块图列出了系统的主要功能模块。
包括基本信息管理,库存信息管理以及系统设置。
其中基本信息管理又包括供应商信息管理,顾客信息管理以及商品信息管理。
库存信息管理包括入库管理和出库管理。
系统设置包括管理用户,修改密码和退出三个功能。
仓库管理系统设计论文通用仓储管理设计论文优秀5篇基于VB的仓库信息管理系统【摘要】随着现代社会科学技术的不断进步,以计算机代替传统人工来进行信息化管理的方式越来越受人们所重视。
本文主要对仓库信息管理系统的一些主要功能和基本组成情况,包括了引言、需求分析、数据库设计、功能模块划分,同时介绍了软件的编程开发工具,另外介绍了对软件的实施开发,如何在使用的过程中让用户能够简洁明了,以便达到提高工作效率降低企业运营成本的目的。
【关键词】仓库管理系统,数据库,Visual Basic1引言仓库信息管理系统是一个企业不可或缺的的一部分,它所包含的东西对于一个公司企业的执行者或者领导层是至关重要的,所以一个好的仓库信息管理系统是应该能为用户提供全面而且细致的信息以及一些人性化的便捷查询手段。
但是一直以来人们往往采用非常传统的人工管理方法,这种管理方式虽然简单,但是却有着很多的缺点,诸如效率低下、依赖人工而导致保密性也不强、查询方式也很繁琐等,而且时间一长则会导致产生大量的文件和数据这对于一个物品的管理来说往往会造成数据的更新和维护的不便。
运用计算机对物品的存储信息管理也是计算机应用的一小部分,它具有着传统人工管理方式所无法比拟的一些优势。
它拥有查询方式便捷、存储量大、保密性高、成本较低等诸多特性。
可以减少大量的人力财力物力,使得工作效率得到提高,是一个公司企业正规化国际化的一个标志。
因此开发一个相应的仓库信息管理软件是适应了时代的潮流的。
2需求分析随着我国经济的快速发展,各种类型各种规模的公司应运而生,许多从事生产和经营管理的企业都需要生产销售自己的产品,这些各式各样的产品在没有销售出去之前又需要储存在仓库之中,但是对于每个企业来说随着企业规模的不断扩张,产品数量的急剧增加,产品种类的增多以及有关产品信息的更新换代等等,面对这些庞大的信息怎么去有效的管理并且及时的去处理对于企业和公司的管理者来说是至关重要的。
仓库信息管理的重点在于销售信息能否及时的反馈到企业从而制定好下一个生产计划,确保企业的效益。
数据库课程设计任务书计算机科学与技术系《数据库系统》课程设计项目《数据库系统》课程设计任务书设计题目:物资管理系统背景资料:1)一个存放商品的仓库,每天都有商品出库和入库。
2)种商品都有名称、生产厂家、型号、规格等。
3)出入库时必须填写出入库单据,单据包括商品名称、生产厂家、型号、规格、数量、日期、时间、入库单位(或出库单位)名称、送货(或提货)人姓名。
设计要求:1)进行需求分析,编写数据字典。
2)设计E-R图。
3)设计出入库单据的录入。
4)实现按商品名称、出入库日期的查询。
5)实现分别按日、月和年对出入库商品数量的统计。
任务安排:1、每个学生选择一个题目,独立完成设计任务。
2、提交完整的设计报告和源程序清单(以附录形式)。
3、设计报告要求,设计报告按照以下提纲书写:1)摘要。
2)需求分析。
3)数据库概念结构设计。
4)数据库逻辑结构设计。
5)数据流图及程序结构框图。
6)程序原代码及其说明。
7)总结。
数据库课程设计指导书计算机科学与技术系目录1、学生成绩管理系统简介 (3)2、课程设计选题 (10)3、VFP课程设计难点分析之一——主界面和退出表单的设计 (12)4、VFP课程设计难点分析之二——浏览成绩表单的设计 (16)5、VFP课程设计难点分析之三——浏览学生表单的设计 (21)6、VFP课程设计难点分析之四——设置口令表单集的设计 (24)1、学生成绩管理系统简介1. 系统组成本系统由1个数据库、3个查询,14个表单、3个报表、1个菜单、6个程序和2个自由表组成。
数据库组成:(1)数据表3个:学生表(5个字段:xh, xm, xb, csrq, bj),其中有4个班各5名学生的记录课程表(4个字段:kch,kcm, js, xf),其中有4门课程的记录;成绩表(3个字段:xh, kch, cj),其中有80条学生成绩的记录。
(2)本地视图1个:基于以上3张表创建,输出字段为:xh, xm, xb, bj, kcm, cj查询组成:查询学生、按班级查询成绩、按课程查询成绩表单组成:主界面表单、退出表单、学生表单、课程表单、成绩表单(可按学号分类和按课程分类)、查询学生表单、查询成绩表单、总浏览表单、浏览学生表单、浏览成绩表单、系统信息表单、设置口令表单集、修改表单界面。
一、项目背景介绍1.1 仓库管理系统的重要性仓库管理系统是一种对仓库内物品进行全面管理和监控的信息系统。
在现代物流管理中,仓库管理系统扮演着至关重要的角色,可以提高仓库的利用率、降低存货成本、提高物流效率,为企业节省大量人力和物力资源,是企业管理中不可或缺的一部分。
1.2 项目意义本课程设计拟设计并实现一套基于Java语言的仓库管理系统,旨在通过应用软件技术和信息管理技术,实现对进销存等多类业务流程的自动化管理,并在实际操作中验证其运行效果和实用性,为学生提供一种将所学知识应用于实践的机会。
二、系统功能需求2.1 基本功能1) 系统登入:要求用户输入用户名和密码进行登入验证;2) 信息录入:包括商品信息、入库信息、出库信息等的录入;3) 信息查询:可以根据商品编号、名称、类别等条件查询商品信息;4) 库存管理:可以实时查看库存状况,并进行库存的盘点与调剂;5) 报表输出:可以输出商品进销存报表,方便管理人员进行决策;6) 权限管理:不同用户具有不同的权限,管理员具有对系统进行设置的权限。
2.2 进一步功能1) 供应商管理:可以录入供应商信息,并进行供应商的评价和选择;2) 客户管理:可以录入客户信息,并对客户进行分类管理;3) 交易管理:支持交易的生成、记录和统计。
三、技术选型和开发环境3.1 技术选型本系统采用Java语言作为主要开发语言,使用MySQL作为数据库,前端采用Swing技术进行界面设计,后端采用JDBC进行数据传输和交互。
3.2 开发工具1) 开发环境:Eclipse2) 数据库工具:Navicat3) 版本管理工具:Git4) 项目管理工具:Maven四、系统设计4.1 系统架构设计本系统采用MVC(Model-View-Controller)架构,将业务逻辑、数据表示和用户界面分离,使得系统更加易于维护和升级。
4.2 数据库设计1) 商品表:包括商品编号、名称、类别、进价、售价、库存等字段;2) 入库表:包括入库单号、商品编号、数量、日期等字段;3) 出库表:包括出库单号、商品编号、数量、日期等字段;4) 用户表:包括用户名、密码、权限等字段。
辽宁工业大学管理信息系统设计课程设计报告(论文)题目:数据库系统基础课程设计仓库管理系统院(系):软件学院专业班级:软件工程113班学号: 111301060学生姓名:安凯辰指导教师:王彦华教师职称:讲师起止时间: 2012.5.28--2012.6.8课程设计(论文)任务及评语目录第一章系统分析 (1)1. 1 系统需求 (1)1. 2 系统设计原则 (1)1. 3 系统可行性分析 (1)1.4 数据字典 (1)1. 5 系统流程图 (2)1.6 业务流程图 (3)1.7 实体与实体间E-R模型(CDM图) (3)1.8 PDM图 (4)第二章系统设计 (5)2. 1 概念设计 (5)2. 2 逻辑设计 (5)第三章系统实施 (7)3.1 数据库表格设计代码 (7)3.2 存储过程及触发器设计代码 (11)3.3 与数据库连接代码 (15)3.4 出库单明细代码 (15)3.5 借条信息查询代码 (16)第四章系统总结 (18)参考文献 (19)第一章系统分析1. 1 系统需求软件环境:用户端:windows vispaSP1,windowsXP服务器端:windows2000及以上操作系统编程语言:sql数据库:sql2005硬件环境:有高性能的电子计算机、大容量的存贮装置,个人电脑(终端)以及联结起来的网线等,组成信息资源共享的计算机网络1. 2 系统设计原则1) 系统运行安全可靠,稳定性好;2) 系统的可管理性和可维护性好;3) 系统输入界面友好,操作简便易行,尽量减少用户的输入工作量;4)允许多种数据输入方式,能实现多种查询,允许进行模糊查询;5)数据具有规范性,整体性,方便数据之间的比较分析。
1. 3 系统可行性分析技术可行性:系统要求在windows2000以上环境运行,后台数据库采用SQL,使用SQL编程,采用ADO方式连接数据库,程序将部分需要经常调用的数据存入内存,可提高程序运行速度.经济可行性:在经济上,用此系统加强了信息管理效率,为管理人员提供了较高的效率,可节省人力资源的开支。
数据库设计报告(库位管理)1 引言1.1编写目的数据库设计报告是在需求分析报告后与数据架构设计报告具有相同重要性的概要设计性质的文档。
编写数据库设计的目的包括:(1)为数据库实施工程师提供设计文档;(2)为系统架构师提供数据设计依据;(3)为软件详细设计提供数据结构设计依据;(4)测试工程师测试依据。
1.2预期待和阅读建议本数据库设计文档预期读者包括:项目经理,关注数据库设计,确定其复杂度,估算工作量和编写人力资源计划。
详细设计人员关注数据结构与事务关系,制定详细设计计划,确定设计实现技术线路。
测试经理,分析数据库设计可测试性,制定测试计划。
质量保证相关人员,编写质量保证计划,分析并列出质量评审要点。
需求经理,对比需求分析报告,编制需求跟踪矩阵表。
2 数据库设计命名规范2.1 数据库涉及字符规范采用26 个英文字母和0-9 这十个自然数,加上下划线_组成,共36 个字符。
不出现其他字符。
数据库不区分大小写,统一采用小写字母。
数据表名称遵循数据字典中定义的数据集定义英文标识。
数据字段名称遵循数据字典数据项英文标识。
2.2 数据库对象命名规范数据库对象包括表、视图(查询)、存储过程(参数查询)、函数、约束。
对象名字由前缀和实际名字组成。
前缀:使用大写字母表:TB_表名称视图: V_视图名称存储过程: S_存储过程名称函数:FN_函数名称索引IDX_<表名>_<索引标识>主键PK_<表名>_<主键标识>外键FK_<表名>_<主表名>_<外键标识>3 数据库实体关系设计数据实体关系图:图3-1 数据实体关系图4 数据库逻辑设计图4-1 数据库逻辑设计图图4-1是库位管理系统数据库逻辑设计图,从数据库的视角设描述了数据实体之间的关系。
5 数据库物理设计5.1 数据库物理设计图数据库物理设计图包括了对提取表、视图、存储过程等方面的描述。
摘要随着计算机技术的飞速发展,计算机在企业管理中应用普及,信息管理系统已经成为企事业单位不可缺少的一部分,它的内容对于企业的决策者和管理者来说都是至关重要的,所以利用计算机实现管理企业势在必行。
仓库管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前台应用程序的开发和维护两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。
而对于后者则要求应用程序功能完备,易使用等特点。
本文结合企业仓储管理的实际情况,提出了针对中小型企业仓库管理系统的基本设计思想,简要介绍了系统各功能模块及数据库的设计,着重讨论了用C#.NET技术和SQL S erver 2008开发企业仓库管理系统时的数据库访问技术和应用程序设计技术,并给出了部分实现代码。
该系统在Windows XP系统和VS.NET平台下开发完成,使用C#作为开发语言,SQL Server 2008作为后台数据库,该数据库系统在安全性、准确性、运行速度方面均有绝对的优势,并且能够对容量较大的数据库进行处理,效率高,系统有较高的安全性和较好的性能,充分利用两者的优势,提高了编程效率和可靠性。
本文中除了有对程序的系统分析、总体设计、数据库设计、功能实现等主体部分外,在这之前还介绍了与企业仓库管理系统相关的信息、VS.NET与SQL的无缝链接技术等。
通过该系统,使员工可以方便地在企业内部进行仓储管理,给予企业决策者有利的支持。
同时通过该项目的编写加深了大家对C#语言和SQL语言的了解,为开发大型项目奠定基础。
关键词:仓库管理、C#、SQL Server 2008、开发和维护ABSTRACTWith the rapiddevelopment ofcomputer technology,computer applicationinenterprise managementpopularization, the information ma nagement systemhasbecomean indispensable part of enterprisesand instit utions, its contentforcorporatedecision makers andmanagers is vital,so usingcomputer to realize enterprise management is imperative.Warehouse management system is atypicalapplicationof managing informationsystem, itsdevelopment mainly includes the establishment andmaintenanceof database and foreground applicationdevelopment and maintenance of two aspects.Since for theformer requirement to establishdataconsistency and integrality, datasecurity gooddatabase. And for the latter request applicationsfully functional,easyto use,etc.Combined with the actual situation of enterprise warehouse management,thispaperputs forwardfor small andmedium-sizedenterprise warehousemanagementsystem basic design though t, this paperbriefly introduces thesystemeachfunctionmodule anddatabase design,and emphatically discusses thedevelopment withC#.NET technology and SQLServer 2008enterprisewarehouse managementsystem database access technologyand application design, and gives part of theimplementationcode.The system ona Windows XP system and VS.NET platform development is complete, usingc#asdevelopmentlanguage, SQLServer 2008asthe backgrounddatabase, the database system in terms ofsaf ety, accuracy,speedhasthe absoluteadvantage,and the ability to database for processing of large capacity,high efficiency, the system hashig hsecurity andgood performance,make full use of theadvantagesof the two, and improved the programming efficiency and reliability.In this article,in addition to the application ofsystemanalysis, overalldesign, databasedesign, function realization, mainpar t, before that,also introduced the information related toenterprise warehousemanagement system, theseamless link VS.NETand SQL technology,etc.Throughthis system, employees can easily within the enterprisewarehousemanagement, to givebetter support enterprisedecision makers. Throughthe project at thesame time writing deepenedunderstanding of c #language andSQL language,tolay a goodfoundation forthe development of large-scale projects.Keywords:warehousemanage,C#,SQLServer2008,developmentandmaintenance目录第1章绪论ﻩ错误!未定义书签。
用Excel做仓库管理系统制作流程在进行仓库管理时,一个高效且简单的方法是利用Excel制作仓库管理系统。
下面将介绍如何使用Excel来创建一个方便管理仓库存储和出入库的系统。
步骤一:建立数据表格首先,打开Excel并创建一个新的工作表。
在第一行中,可以设置好标题,例如:产品名称、产品编号、库存数量、入库日期、出库日期等。
这些信息将有助于更清晰地记录和跟踪仓库中存储的物品。
步骤二:录入产品信息在数据表格中逐行录入每种产品的信息,包括产品名称、编号、库存数量等。
这些信息将作为仓库管理系统的基础数据,方便后续的查询和更新。
步骤三:建立数据筛选和排序功能利用Excel的筛选和排序功能,可以更方便地检索和管理仓库中的产品信息。
通过设置筛选条件,可以轻松地查找特定产品或按照日期等条件进行排序。
步骤四:录入入库和出库信息每次有产品入库或出库时,及时更新Excel表格中的相应信息。
可以单独设置一列记录入库和出库数量,再在库存数量一栏中根据实际情况进行计算更新。
步骤五:建立库存警报机制为了及时发现库存紧张情况,可以使用Excel的条件格式功能,设置库存数量达到警戒线时自动变色提醒。
这样可以避免因为库存不足或过剩而影响仓库管理。
步骤六:创建报表和统计分析利用Excel强大的数据分析功能,可以轻松生成仓库管理系统的报表和统计数据。
比如可以生成库存盘点表、入库出库记录表、产品销售报告等,帮助管理者更清晰地了解仓库运营情况。
结语通过以上步骤,我们可以利用Excel制作一个简单而高效的仓库管理系统。
这种自制的系统不仅操作简单,成本低廉,而且可以根据实际需要进行定制化,满足不同企业仓库管理的需求。
希望以上内容对你利用Excel建立仓库管理系统有所帮助!。
仓库库存管理系统设计目录前言--------------------------------------------------------------------- ------------------------2摘要------------------------------------------------------------------------------------------- 2第一章概述-------------------------------------------------------------------------31.1 库存管理的必要性1.2 库存分类1.3 库存管理的目标第二章开发背景 --------------------------------------6第三章系统分析-------------------------------------------------------------------63.1进行资料收集3.2绘制业务流程图3.3用户需求分析第四章系统设计-------------------------------------------------------------------- 94.1总体设计4.2详细设计4.3 库存系统数据流程图4.4 库存实体E-R图4.5 入库实体E-R4.6 出库实体E-R图4.7 部门需求实体E-R图4.8 库存实体E-R图4.9 计划采购实体E-R图4.10实体之间关系E-R图第五章系统实施-------------------------------------------------------------------185.1、开发工具简介5.2 系统实现第六章系统使用说明----------------------------------------------------------34第七章结束语------------------------------------------------------------------------35第八章致谢-----------------------------------------------------------------------------36第九章参考文献-------------------------------------------------------- -----------36前言仓库库存管理系统是一个企业不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以仓库库存管理系统应该能够为用户提供充足的信息和快捷的查询手段。
系统设计说明书项目名称:家庭理财管理系统专业班级:信息系统1102班组长:孟冬青组员:宋娜一、引言 (1)1。
编写目的 (1)2。
背景 (1)3.定义 (1)4.参考资料 (1)二、任务概述 (1)1。
目标 (1)2。
运行环境 (2)3。
需求概述 (2)4。
条件与限制 (2)三、总体设计 (3)1.处理流程 (3)2。
总体结构和模块外部设计 (4)四、接口设计 (6)1.外部接口 (6)2。
内部接口 (6)五、数据结构设计 (6)1。
数据库数据结构设计 (6)2。
数据结构与系统程序的关系 (7)六、运行设计 (8)1.运行模块组合 (8)2.运行控制 (8)七、出错处理设计 (9)1.出错输出信息 (9)2.补救措施 (9)八、安全保密设计 (9)1.数据安全性 (9)2.登陆用户安全性 (10)3.操作安全性 (10)九、系统维护设计 (10)一、引言1.编写目的编写这份概要设计说明书的主要目的是将对用户的需求分析升级为对实现这些需求的功能进行体系结构设计,将原本比较复杂的系统划分为一个个模块来确定这些模块的功能以及模块间的调用关系,同时,设计该系统的总体数据结构和数据库结构。
仓库系统是为了仓库管理而设计的,通过试用本系统,可以更加有效的管理仓库物品,其中包括仓库的基本信息,供应商信息,客户信息并且具有增加,查询,修改等功能,这份说明书的主要读者为系统分析师和软件设计师。
为之后的系统开发提供开发标准。
2。
背景在需求分析阶段中,已经对本软件系统的功能需求做了详细的阐述。
本阶段将会在需求分析阶段的基础上对仓库管理软件系统做进一步的概要设计。
主要包括仓库管理系统的操作处理流程设计、该系统接口设计、出错处理设计和数据库结构的设计等.以上系统模块的设计将结合需求分析阶段的功能需求,把各模块间的关系给建立起来,从而完成整个系统的概要设计需求.另外,在下一阶段的详细设计中,本阶段的概要设计将作为参考,以方便完成整个系统的设计工作。
任务书1、课程设计题目仓库管理系统2、设计任务和内容一个小型通用的仓库管理系统是实现企业对库存商品出库、入库进行高效的管理。
通过应用系统应能结合销售情况对库存商品进行录入、删除、修改等操作。
按照一定的条件,查询、统计符合条件的商品信息;并且对查询、统计的结果有一定的输出。
本课题任务是开发一个小型的仓库管理系统,并撰写符合规范的课程设计说明书以体现设计过程和设计结果。
3、设计步骤和要求设计步骤:首先进行相关资料查阅和学习,了解基本的业务流程和系统数据功能要求。
然后结合软件工程的理论和教材中数据库设计的六个阶段(重点是前三个阶段)完成设计任务,即系统结构设计(需求分析、概念结构设计、逻辑结构设计、物理结构设计)和系统功能设计。
设计要求:1、撰写课程设计说明书。
其要求如下:(1)基本要求:①能反映完成了上述设计内容要求。
②要求撰写不少于5000个文字(20页)的文档。
③文档中至少要包括:数据流图、数据字典、E-R图、数据库表的详细说明、系统功能结构图、主要功能模块说明。
④课程设计说明书一律用碳素墨水书写,其中用户界面设计可以附界面的计算机截图或手工绘图。
(2)文档格式要求(遵循数据库原理及应用课程设计大纲上的要求)其中,正文部分:①分章、层次等,每一章从新一页开始。
②章节安排可如下安排.概述:包括项目背景、编写目的、软件定义、开发环境等内容。
.需求分析:问题陈述、需完成的功能。
以数据流图和数据字典表达。
.概念结构设计:将上述需求分析的成果抽象为ER模型图。
.逻辑结构设计:把ER模型图转换为关系表;描述每一个基本表关系。
并进行规范化;定义视图、定义索引、主关键字、定义权限。
.软件功能设计:画出系统功能结构图,描述每个功能所完成的任务。
.代码设计和界面设计:给出主要功能的代码并有适当的说明;界面设计要合理,给出主要界面。
2、一个可运行的仓库管理系统原型。
(可选)教师签名:摘要随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现管理企业势在必行。
而仓库管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
本文通过分析浏览器/服务器结构的特点并结合企业仓储管理的实际情况,提出了基于B/S结构中小型企业仓库管理系统的基本设计思想,简要介绍了系统各功能模块及数据库的设计,着重讨论了用技术和SQL Server 2005开发企业仓库管理系统时的数据库访问技术和动态网页制作技术,并给出了部分实现代码。
通过该系统,使学生可以方便地在企业内部网上进行仓储管理。
该B/S 结构的系统在Windows XP系统和平台下开发完成,使用C#作为的开发语言,SQL Server 2005作为后台数据库,该数据库系统在安全性、准确性、运行速度方面均有绝对的优势,并且能够对容量较大的数据库进行处理,效率高。
系统有较高的安全性和较好的性能本文中除了有对程序的系统分析、总体设计、数据库设计、功能实现等主体部分外,在这之前还介绍了与企业仓库管理系统相关的信息、与SQL 的无缝链接技术等。
关键词仓库管理;信息管理系统;B/S结构;数据库管理目录第一章概述1.1项目背景1.2编写目的1.3软件定义1.4开发环境第二章需求分析2.1可行性分析2.2功能分析2.3数据流图2.4数据字典第三章概念结构设计3.1 E-R图第四章逻辑结构设计4.1关系表4.2基本表关系。
4.3规范化第五章软件功能设计5.1系统功能结构图5.2功能任务简介第六章代码设计和界面设计第一章概述1.1项目背景仓库存放的货物品种繁多,堆存方式以及处理过程也非常复杂,随着业务量的增加,仓库管理者需要处理的信息量会大幅上升,因此往往很难及时准确的掌握整个仓库的运作状态。
针对这一情况,本系统在满足仓库的基本管理功能基础上发挥信息系统的智能化,减轻仓库管理人员和操作人员的工作负担。
系统主要的实现目标是监控整个仓库的运转情况;提供完善的出入库登记功能且拥有便捷的查询功能。
1.2编写目的根据任务书要求,假想一小型企业拥有多个仓库,拥有多种物品,且物品在仓库中存在耗损情况。
开发数据库和系统平台解决此问题。
1.3软件介绍本系统包括一下几个模块。
1)货物管理提供入库登记、出库登记、损耗登记三个方面的登记功能方便的修改库存信息。
2)档案管理提供货物档案设置、仓库设置、分类设置三个方面的内容。
分别允许用户更改货物的属性,仓库的属性,分类的属性。
3)查询统计提供入库查询、出库查询、耗损查询、库存查询四个方面的内容。
允许用户随时查询仓库的现状。
4)系统维护提供货物档案设置、仓库设置、分类设置三个方面的内容。
分别允许用户更改货物的属性,仓库的属性,分类的属性。
5)系统信息提供用户管理,更改密码,系统说明,退出系统四项功能。
使软件功能更加完善。
1.4开发环境语言环境 C#语言平台环境 SQLServer2000,VisualStudio2005系统开发环境 Win7,处理器T8300,内存2G,显卡Geforce8600GT系统运行环境 WinXp/Vista/Win7,处理器Pentium II300以上,内存64M以上,硬盘空间3G以上,显卡普通VGA显卡第二章需求分析2.1可行性分析本软件所有处理流程内置,通过界面操作可以完成所有功能能,使用者无需具备SQL及C#语言知识,且软件所有功能完全可以达成编写目的,软件运行硬件要求不高,开发软件是完全可行的。
2.2功能分析本软件所有处理流程内置,通过界面操作可以完成所有功能能,使用者无需具备SQL及C#语言知识,且软件所有功能完全可以达成编写目的,软件运行硬件要求不高,开发软件是完全可行的。
2.3数据流图略2.4数据字典1.数据项第三章概念结构设计3.1 E-R图图略第四章逻辑结构设计4.1关系表4.库存信息5.入库信息6.出库信息7.入库信息4.2基本表关系4.3规范化create database Storeage--物品信息if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GoodsInfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table GoodsInfoGOCREATE TABLE GoodsInfo(GoodsID int identity(1,1) primary key, --物品号编号主GoodsName varchar(20) not null, --物品名SortID int not null, --类别ID 外Spec varchar(10) --规格可空)--类别信息if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SortInfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table SortInfoGOCREATE TABLE SortInfo(SortID int identity(1,1) primary key, --类别ID 主SortName varchar(10) not null, --类别名称SortLimit int not null --类别权限)--仓库信息if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[StorageInfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table StorageInfoGOCREATE TABLE StorageInfo(StorageID int identity(1,1) primary key, --仓库ID 主StorageName varchar(20) not null --仓库名称)--库存信息if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[StoreInfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table StoreInfoGOCREATE TABLE StoreInfo(SN int identity(1,1) primary key, --库存自动编号主StoreID int not null, --仓库号外GoodsID int not null, --物品号外SortID int not null, --类别ID 外GoodsNum int not null, --物品数量EditDate datetime --修改日期可空)--入库信息if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[InInfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table InInfoGOCREATE TABLE InInfo(InOrder int identity(1,1) primary key, --入库单号主StorageID int references StorageInfo(StorageID) not null, --仓库号外GoodsID int references GoodsInfo(GoodsID) not null, --物品号外InNum int not null, --入库数量InUnit varchar(20), --入库单位可空InDate datetime, --入库日期可空InRemark varchar(100) --入库备注可空)--出库信息if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[OutInfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table OutInfoGOCREATE TABLE OutInfo(OutOrder int identity(1,1) primary key, --出库单号主StorageID int references StorageInfo(StorageID) not null, --仓库号外GoodsID int references GoodsInfo(GoodsID) not null, --物品号外OutNum int not null, --出库数量OutUnit varchar(20), --出库单位可空OutDate datetime, --出库日期可空OutRemark varchar(100) --出库备注可空)--损耗信息if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[BreakInfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table BreakInfoGOCREATE TABLE BreakInfo(BreakOrder int identity(1,1) primary key, --损耗单号主StorageID int references StorageInfo(StorageID) not null, --仓库号外GoodsID int references GoodsInfo(GoodsID) not null, --物品号外BreakNum int not null, --损耗数量BreakDate datetime, --损耗日期可空BreakRemark varchar(100) --损耗备注可空)--用户信息if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UserInfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table UserInfoGOCREATE TABLE UserInfo(UserID int identity(1,1) primary key, --用户ID 主UserName varchar(20), --用户名UserPassword varchar(8), --用户密码UserLimit int --类别(权限))第五章软件功能设计5.1系统功能结构图图略5.2功能任务简介简述个部分功能代码设计1.主界面using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace XRX{public partial class Main : Form{public Main(){InitializeComponent();}private void入库登记(object sender, EventArgs e){GoodsManage.InManage Aa = new XRX.GoodsManage.InManage(); Aa.ShowDialog();}private void出库登记(object sender, EventArgs e){GoodsManage.OutManage Ab = new XRX.GoodsManage.OutManage();Ab.ShowDialog();}private void耗损登记(object sender, EventArgs e){GoodsManage.BreakManage Ac = new XRX.GoodsManage.BreakManage(); Ac.ShowDialog();}private void货物档案设置(object sender, EventArgs e){InfoManage.GoodsInfo Ba = new Manage.GoodsInfo();Ba.ShowDialog();}private void仓库档案设置(object sender, EventArgs e){InfoManage.StoreInfo Bb = new Manage.StoreInfo();Bb.ShowDialog();}private void分类档案设置(object sender, EventArgs e){InfoManage.SortInfo Bc = new Manage.SortInfo();Bc.ShowDialog();}private void入库查询(object sender, EventArgs e){QueryManage.InQuery Ca = new XRX.QueryManage.InQuery();Ca.ShowDialog();}private void出库查询(object sender, EventArgs e){QueryManage.OutQuery Cb = new XRX.QueryManage.OutQuery();Cb.ShowDialog();}{QueryManage.BreakQuery Cc = new XRX.QueryManage.BreakQuery();Cc.ShowDialog();}private void库存查询(object sender, EventArgs e){QueryManage.StoreQuery Cd = new XRX.QueryManage.StoreQuery();Cd.ShowDialog();}private void备份数据(object sender, EventArgs e){SysManage.DataStore Da = new XRX.SysManage.DataStore();Da.ShowDialog();}private void恢复数据(object sender, EventArgs e){SysManage.DataRevert Db = new XRX.SysManage.DataRevert();Db.ShowDialog();}private void用户管理(object sender, EventArgs e){erManage Ea = new erManage();Ea.ShowDialog();}private void更改密码(object sender, EventArgs e){OtherManage.EditPassword Eb = new XRX.OtherManage.EditPassword(); Eb.ShowDialog();}private void系统说明(object sender, EventArgs e){OtherManage.Help Ec = new XRX.OtherManage.Help();Ec.ShowDialog();}{Application.Exit();}private void Main_FormClosing(object sender, FormClosingEventArgs e) {if (MessageBox.Show("您真的要退出本系统吗?", "提示", MessageBoxButtons.OKCancel, rmation) == DialogResult.OK) Application.Exit();}private void Main_Load(object sender, EventArgs e){}}}2.登陆界面using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace XRX{public partial class Login : Form{public static string strUName = "";public static string strUPwd = "";public Login(){InitializeComponent();}private void Login_Load(object sender, EventArgs e){User u = new User();DataSet ds = u.showLogin();this.cboxUName.DataSource = ds.Tables[0].DefaultView;this.cboxUName.DisplayMember = "UserName";}private void Login_Click(object sender, EventArgs e){DataBase db = new DataBase();SqlParameter[] Pa = new SqlParameter[3];Pa[0] = db.MakeInParam("@UserName",SqlDbType.VarChar, 20,this.cboxUName.Text);Pa[1] = db.MakeInParam("@UserPassword", SqlDbType.VarChar, 20, this.txtPwd.Text);Pa[2] = db.MakeOutParam("@rtn", SqlDbType.Int, 20);db.ExecuteNonQuery(CommandType.StoredProcedure, "sp_Login", Pa);string rtn = Pa[2].Value.ToString();if (rtn == "1"){Main main = new Main();strUName = this.cboxUName.Text;strUPwd = this.txtPwd.Text;this.Hide();main.Show();}elseMessageBox.Show("密码错误!", "登陆失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);}private void Exit_Click(object sender, EventArgs e){Application.Exit();}private void cboxUName_SelectedValueChanged(object sender, EventArgs e) {DataBase db = new DataBase();SqlDataReader dr = db.ExecuteReader(CommandType.Text, "select UserLimit from UserInfo where UserName ='" + this.cboxUName.Text.Trim() + "'", null);if (dr.Read()){string a = dr["UserLimit"].ToString();if (a == "1")bURight.Text = "一级用户";if (a == "2")bURight.Text = "二级用户";if (a == "3")bURight.Text = "三级用户";if (a == "4")bURight.Text = "管理员";if (a == "5")bURight.Text = "超级管理员";}dr.Close();}private void cboxUName_SelectedIndexChanged(object sender, EventArgs e) {}private void Login_FormClosing(object sender, FormClosingEventArgs e) {Application.Exit();}}}3.1入库管理界面using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace XRX.GoodsManage{public partial class InManage : Form{int a = 0, aa = 0,bb=0;public InManage(){InitializeComponent();}private void InManage_Load(object sender, EventArgs e) {aaa();}private void aaa(){DataBase db = new DataBase();DataSet ds = db.GetDs(CommandType.StoredProcedure, "up_findStro", null);this.dgvISManage.DataSource = ds.Tables[0];this.cboxSName.DataSource = ds.Tables[0].DefaultView;this.cboxSName.DisplayMember = "StorageName";boBox1.DataSource = ds.Tables[0].DefaultView;boBox1.DisplayMember = "GoodsName";this.dgvISManage.Columns[0].Visible = false;this.dgvISManage.Columns[1].HeaderText = "仓库名";this.dgvISManage.Columns[2].HeaderText = "物品名";this.dgvISManage.Columns[3].HeaderText = "入库数量";this.dgvISManage.Columns[4].HeaderText = "入库单位";this.dgvISManage.Columns[5].HeaderText = "入库日期";this.dgvISManage.Columns[6].HeaderText = "备注";this.dgvISManage.Columns[1].Width = 100;this.dgvISManage.Columns[2].Width = 80;this.dgvISManage.Columns[3].Width = 80;this.dgvISManage.Columns[4].Width = 80;this.dgvISManage.Columns[5].Width = 80;this.dgvISManage.Columns[6].Width = 100;this.dgvISManage.ReadOnly = true;//只读dgvISManage.SelectionMode =DataGridViewSelectionMode.FullRowSelect;//选中行this.dgvISManage.AllowUserToResizeRows = false;this.dgvISManage.AllowUserToResizeColumns = false;//禁止拖动this.dgvISManage.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;//文本居中this.dgvISManage.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;//表头居中}private void dgvISManage_CellClick(object sender, DataGridViewCellEventArgs e){try{a =Convert.ToInt32(this.dgvISManage.Rows[e.RowIndex].Cells[0].Value.ToString()) ;this.cboxSName.Text =this.dgvISManage.Rows[e.RowIndex].Cells[1].Value.ToString();this.textBox1.Text =this.dgvISManage.Rows[e.RowIndex].Cells[7].Value.ToString();boBox1.Text =this.dgvISManage.Rows[e.RowIndex].Cells[2].Value.ToString();this.txtGSpec.Text =this.dgvISManage.Rows[e.RowIndex].Cells[3].Value.ToString();this.dateTimePicker1.Value=Convert.ToDateTime( this.dgvISManage.Rows[e.RowIndex].Cells[5].Value.ToString());this.txtGIPrice.Text =this.dgvISManage.Rows[e.RowIndex].Cells[4].Value.ToString();this.txtISRemark.Text =this.dgvISManage.Rows[e.RowIndex].Cells[6].Value.ToString();}catch { }}private void btnAdd_Click(object sender, EventArgs e){DataBase db = new DataBase();SqlParameter[] Pa = new SqlParameter[6];Pa[0] = db.MakeInParam("@StorageID", SqlDbType.Int, 4, aa);Pa[1] = db.MakeInParam("@GoodsID", SqlDbType.Int, 4, bb);Pa[2] = db.MakeInParam("@InNum", SqlDbType.Int, 4,Convert.ToInt32(this.txtGSpec.Text));Pa[3] = db.MakeInParam("@InUnit", SqlDbType.VarChar, 20,this.txtGIPrice.Text);Pa[4] = db.MakeInParam("@InDate", SqlDbType.VarChar, 20,this.dateTimePicker1.Value);Pa[5] = db.MakeInParam("@InRemark", SqlDbType.VarChar, 20,this.txtISRemark.Text);int b=db.ExecuteNonQuery(CommandType.StoredProcedure, "up_InStore", Pa);int Add = db.ExecuteNonQuery(CommandType.Text, "insert into InInfo (StorageID,GoodsID,InNum,InUnit,InDate,InRemark) values ('" + aa + "','" + bb + "','" + this.txtGSpec.Text + "','" + this.txtGIPrice + "','" +this.dateTimePicker1.Value + "','" + this.txtISRemark.Text + "')", null);if (Add == 1){MessageBox.Show("添加入库信息成功", "添加成功", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);aaa();else{MessageBox.Show("添加入库信息失败", "添加失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);}}private void cboxSName_SelectedIndexChanged(object sender, EventArgs e) {DataBase db = new DataBase();SqlDataReader dr = db.ExecuteReader(CommandType.Text, "select StorageID from StorageInfo where StorageName ='"+this.cboxSName.Text+"'", null);if(dr.Read())aa = Convert.ToInt32(dr["StorageID"].ToString());dr.Close();SqlDataReader dr2 = db.ExecuteReader(CommandType.Text, "select GoodsID from GoodsInfo where GoodsName='" + boBox1.Text+ "'", null);if (dr2.Read())bb = Convert.ToInt32(dr2["GoodsID"].ToString());dr2.Close();}private void btnExit_Click(object sender, EventArgs e){this.Close();}private void btnDel_Click(object sender, EventArgs e){DataBase db = new DataBase();int Delete = db.ExecuteNonQuery(CommandType.Text, "delete from InInfo where InOrder='" + a + "' ", null);if (Delete == 1){MessageBox.Show("删除入库信息成功", "修改成功", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);aaa();}else{MessageBox.Show("删除入库信息失败", "修改失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);}}}3.2出库管理界面using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace XRX.GoodsManage{public partial class OutManage : Form {int a = 0, aa = 0, bb = 0;public OutManage(){InitializeComponent();}private void btnAdd_Click(object sender, EventArgs e){DataBase db = new DataBase();SqlParameter[] Pa = new SqlParameter[6];Pa[0] = db.MakeInParam("@StorageID", SqlDbType.Int, 4, aa);Pa[1] = db.MakeInParam("@GoodsID", SqlDbType.Int, 4, bb);Pa[2] = db.MakeInParam("@OutNum", SqlDbType.Int, 4,Convert.ToInt32(this.txtGSpec.Text));Pa[3] = db.MakeInParam("@OutUnit", SqlDbType.VarChar, 20,this.txtGIPrice.Text);Pa[4] = db.MakeInParam("@OutDate", SqlDbType.VarChar, 20,this.dateTimePicker1.Value);Pa[5] = db.MakeInParam("@OutRemark", SqlDbType.VarChar, 20,this.txtISRemark.Text);int b = db.ExecuteNonQuery(CommandType.StoredProcedure, "up_OutStore", Pa);int Add = db.ExecuteNonQuery(CommandType.Text, "insert into OutInfo (StorageID,GoodsID,OutNum,OutUnit,OutDate,OutRemark) values ('" + aa + "','" + bb + "','" + this.txtGSpec.Text + "','" + this.txtGIPrice + "','" +this.dateTimePicker1.Value + "','" + this.txtISRemark.Text + "')", null);if (Add == 1){MessageBox.Show("添加出库信息成功", "添加成功", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);aaa();}else{MessageBox.Show("添加出库信息失败", "添加失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);}}private void btnDel_Click(object sender, EventArgs e){DataBase db = new DataBase();int Delete = db.ExecuteNonQuery(CommandType.Text, "delete from OutInfo where OutOrder='" + a + "' ", null);if (Delete == 1){MessageBox.Show("删除入库信息成功", "修改成功", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);aaa();}else{MessageBox.Show("删除入库信息失败", "修改失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);}}private void btnExit_Click(object sender, EventArgs e){this.Close();}private void OutManage_Load(object sender, EventArgs e){aaa();}private void aaa(){DataBase db = new DataBase();DataSet ds = db.GetDs(CommandType.StoredProcedure, "up_findStrob", null);this.dgvISManage.DataSource = ds.Tables[0];this.cboxSName.DataSource = ds.Tables[0].DefaultView;this.cboxSName.DisplayMember = "StorageName";boBox1.DataSource = ds.Tables[0].DefaultView;boBox1.DisplayMember = "GoodsName";this.dgvISManage.Columns[0].Visible = false;this.dgvISManage.Columns[1].HeaderText = "仓库名";this.dgvISManage.Columns[2].HeaderText = "物品名";this.dgvISManage.Columns[3].HeaderText = "出库数量";this.dgvISManage.Columns[4].HeaderText = "出库单位";this.dgvISManage.Columns[5].HeaderText = "出库日期";this.dgvISManage.Columns[6].HeaderText = "备注";this.dgvISManage.Columns[1].Width = 100;this.dgvISManage.Columns[2].Width = 80;this.dgvISManage.Columns[3].Width = 80;this.dgvISManage.Columns[4].Width = 80;this.dgvISManage.Columns[5].Width = 80;this.dgvISManage.Columns[6].Width = 100;this.dgvISManage.ReadOnly = true;//只读dgvISManage.SelectionMode =DataGridViewSelectionMode.FullRowSelect;//选中行this.dgvISManage.AllowUserToResizeRows = false;this.dgvISManage.AllowUserToResizeColumns = false;//禁止拖动this.dgvISManage.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;//文本居中this.dgvISManage.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;//表头居中}private void dgvISManage_CellClick(object sender, DataGridViewCellEventArgs e){try{a =Convert.ToInt32(this.dgvISManage.Rows[e.RowIndex].Cells[0].Value.ToString());this.cboxSName.Text =this.dgvISManage.Rows[e.RowIndex].Cells[1].Value.ToString();this.textBox1.Text =this.dgvISManage.Rows[e.RowIndex].Cells[7].Value.ToString();boBox1.Text =this.dgvISManage.Rows[e.RowIndex].Cells[2].Value.ToString();this.txtGSpec.Text =this.dgvISManage.Rows[e.RowIndex].Cells[3].Value.ToString();this.dateTimePicker1.Value =Convert.ToDateTime(this.dgvISManage.Rows[e.RowIndex].Cells[5].Value.ToString ());this.txtGIPrice.Text =this.dgvISManage.Rows[e.RowIndex].Cells[4].Value.ToString();this.txtISRemark.Text =this.dgvISManage.Rows[e.RowIndex].Cells[6].Value.ToString();}catch { }}private void cboxSName_SelectedIndexChanged(object sender, EventArgs e) {DataBase db = new DataBase();SqlDataReader dr = db.ExecuteReader(CommandType.Text, "select StorageID from StorageInfo where StorageName ='" + this.cboxSName.Text + "'", null);if (dr.Read())aa = Convert.ToInt32(dr["StorageID"].ToString());dr.Close();SqlDataReader dr2 = db.ExecuteReader(CommandType.Text, "selectGoodsID from GoodsInfo where GoodsName='" + boBox1.Text + "'", null);if (dr2.Read())bb = Convert.ToInt32(dr2["GoodsID"].ToString());dr2.Close();}}}3.3损耗管理界面using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace XRX.GoodsManage{public partial class BreakManage : Form{int a = 0, aa = 0, bb = 0;public BreakManage(){InitializeComponent();}private void btnAdd_Click(object sender, EventArgs e){DataBase db = new DataBase();SqlParameter[] Pa = new SqlParameter[6];Pa[0] = db.MakeInParam("@StorageID", SqlDbType.Int, 4, aa);Pa[1] = db.MakeInParam("@GoodsID", SqlDbType.Int, 4, bb);Pa[2] = db.MakeInParam("@BreakNum", SqlDbType.Int, 4,Convert.ToInt32(this.txtGSpec.Text));Pa[3] = db.MakeInParam("@BreakDate", SqlDbType.VarChar, 20,this.dateTimePicker1.Value);Pa[4] = db.MakeInParam("@BreakRemark", SqlDbType.VarChar, 20,this.txtISRemark.Text);int b = db.ExecuteNonQuery(CommandType.StoredProcedure,"up_BreakStore", Pa);int Add = db.ExecuteNonQuery(CommandType.Text, "insert into BreakInfo (StorageID,GoodsID,BreakNum,BreakDate,BreakRemark) values ('"+ aa + "','"+ bb + "','" + this.txtGSpec.Text + "','" + this.dateTimePicker1.Value + "','" + this.txtISRemark.Text + "')", null);if (Add == 1){MessageBox.Show("添加损耗信息成功", "添加成功", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);aaa();}else{MessageBox.Show("添加损耗信息失败", "添加失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);}}private void btnDel_Click(object sender, EventArgs e){DataBase db = new DataBase();int Delete = db.ExecuteNonQuery(CommandType.Text, "delete from BreakInfo where BreakOrder='" + a + "' ", null);if (Delete == 1){MessageBox.Show("删除入库信息成功", "修改成功", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);aaa();}else{MessageBox.Show("删除入库信息失败", "修改失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);}}private void btnExit_Click(object sender, EventArgs e){this.Close();}private void BreakManage_Load(object sender, EventArgs e){aaa();}private void aaa(){DataBase db = new DataBase();DataSet ds = db.GetDs(CommandType.StoredProcedure, "up_findStroc", null);this.dgvISManage.DataSource = ds.Tables[0];this.cboxSName.DataSource = ds.Tables[0].DefaultView;this.cboxSName.DisplayMember = "StorageName";boBox1.DataSource = ds.Tables[0].DefaultView;boBox1.DisplayMember = "GoodsName";this.dgvISManage.Columns[0].Visible = false;this.dgvISManage.Columns[1].HeaderText = "仓库名";this.dgvISManage.Columns[2].HeaderText = "物品名";this.dgvISManage.Columns[3].HeaderText = "损耗数量";this.dgvISManage.Columns[4].HeaderText = "损耗日期";this.dgvISManage.Columns[5].HeaderText = "备注";this.dgvISManage.Columns[1].Width = 100;this.dgvISManage.Columns[2].Width = 80;this.dgvISManage.Columns[3].Width = 80;this.dgvISManage.Columns[4].Width = 80;this.dgvISManage.Columns[5].Width = 100;this.dgvISManage.ReadOnly = true;//只读dgvISManage.SelectionMode =DataGridViewSelectionMode.FullRowSelect;//选中行this.dgvISManage.AllowUserToResizeRows = false;this.dgvISManage.AllowUserToResizeColumns = false;//禁止拖动this.dgvISManage.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;//文本居中this.dgvISManage.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;//表头居中}private void dgvISManage_CellClick(object sender, DataGridViewCellEventArgs e){try{a =Convert.ToInt32(this.dgvISManage.Rows[e.RowIndex].Cells[0].Value.ToString());this.cboxSName.Text =this.dgvISManage.Rows[e.RowIndex].Cells[1].Value.ToString();this.textBox1.Text =this.dgvISManage.Rows[e.RowIndex].Cells[6].Value.ToString();boBox1.Text =this.dgvISManage.Rows[e.RowIndex].Cells[2].Value.ToString();this.dateTimePicker1.Value =Convert.ToDateTime(this.dgvISManage.Rows[e.RowIndex].Cells[4].Value.ToString ());this.txtGSpec.Text =this.dgvISManage.Rows[e.RowIndex].Cells[3].Value.ToString();this.txtISRemark.Text =this.dgvISManage.Rows[e.RowIndex].Cells[5].Value.ToString();}catch { }}private void cboxSName_SelectedIndexChanged(object sender, EventArgs e) {DataBase db = new DataBase();SqlDataReader dr = db.ExecuteReader(CommandType.Text, "select StorageID from StorageInfo where StorageName ='" + this.cboxSName.Text + "'", null);if (dr.Read())aa = Convert.ToInt32(dr["StorageID"].ToString());dr.Close();SqlDataReader dr2 = db.ExecuteReader(CommandType.Text, "select GoodsID from GoodsInfo where GoodsName='" + boBox1.Text + "'", null);if (dr2.Read())bb = Convert.ToInt32(dr2["GoodsID"].ToString());dr2.Close();}}}4.1货物信息管理using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace Manage{public partial class GoodsInfo : Form {public GoodsInfo(){InitializeComponent();}}}。