仓储物资管理系统-数据库课程设计
仓库管理系统数据库设计课程设计

仓库管理系统的应用和发展
仓库管理系统概述:介绍仓库管理系统的发展历程、应用领域和重要性。 仓库管理系统应用现状:分析当前仓库管理系统的应用现状,包括企业规模、行业分布、地域分布等。 仓库管理系统发展趋势:探讨仓库管理系统的发展趋势,包括技术、功能、应用等方面的变化。 课程设计背景:介绍本次课程设计的背景,包括课程目标、设计要求、设计内容等。
安全性原则: 保护数据不 被未经授权 的访问和篡 改
性能优化原 则:提高数 据查询和处 理的速度和 效率
数据库设计规范
数据库设计原则:满足用户需求,保证数据一致性、完整性、安全性
数据库设计规范:采用统一的数据命名规范、数据类型规范、数据存储规范等
数据库设计流程:需求分析、概念设计、逻辑设计、物理设计、实施与维护
出库记录与查询:系统记录每笔出库操作,并可查询历史出库记录,方便管理和追溯
库存管理
库存查询:实时查 询仓库库存数量和 状态
库存预警:设定安 全库存阈值,低于 预警线及时提醒
库存盘点:定期对 仓库库存进行盘点 ,确保数据准确性
库存调拨:在不同 仓库之间进行库存 调拨,满足客户需 求
报表生成与查询
报表内容:详细记录仓库的 进货、销售、库存等信息
添加标题
数据库设计可以保证数据安全性:通过数据库设计,可以设置合适的数据 访问权限和数据加密方式,保证数据的安全性。
仓库管理系统功能需求 分析
货物入库流程:描述货物入库的具 体流程,包括货物的接收、检验、 入库等环节。
货物入库管理
入库数据核对:说明如何核对入库 数据,确保数据的准确性和完整性。
添加标题
触发器条件:WHEN INSERTING, UPDATING, DELETING
仓储物资管理系统数据库设计报告

仓储物资管理系统数据库设计报告引言仓储物资管理系统是一个用于管理和跟踪仓储物资的系统,旨在提高物资管理的效率和准确性。
数据库设计是该系统的核心组成部分,本报告将详细介绍仓储物资管理系统的数据库设计。
数据库设计目标仓储物资管理系统的数据库设计目标包括: 1. 提供一个可靠的数据存储和管理平台,确保数据的完整性和安全性。
2. 支持多用户并发访问,保证系统的性能和可扩展性。
3. 提供高效的数据查询和分析功能,满足用户对数据的实时需求。
数据库架构仓储物资管理系统的数据库采用关系型数据库,基于客户端/服务器模型构建。
数据库架构包括以下几个主要组成部分:表结构数据库表的设计是系统数据存储和管理的基础。
以下是仓储物资管理系统的主要表结构:物资表(material)字段名数据类型描述id INT 物资唯一标识符name VARCHAR(100) 物资名称price DECIMAL(10,2) 物资单价quantity INT 物资数量category VARCHAR(50) 物资类别supplier VARCHAR(100) 供应商仓库表(warehouse)字段名数据类型描述id INT 仓库唯一标识符name VARCHAR(100) 仓库名称address VARCHAR(200) 仓库地址入库记录表(inbound_record)字段名数据类型描述id INT 入库记录唯一标识符material_id INT 入库物资的唯一标识符(外键)quantity INT 入库数量inbound_date DATE 入库日期出库记录表(outbound_record)字段名数据类型描述id INT 出库记录唯一标识符material_id INT 出库物资的唯一标识符(外键)quantity INT 出库数量outbound_date DATE 出库日期数据库关系数据库中的表间有多种关系,包括一对一关系、一对多关系和多对多关系。
仓库管理系统-数据库课程设计文档

仓库管理系统-数据库课程设计文档2006410206-1引言…………………………………………………………………………………………………3 第一章概述1、项目背景 (3)2、项目目的和意义 (4)3、软件定义 (5)4、开发环境……………………………………………………………………………………6 第二章需求分析1、问题陈述 (8)2、系统功能 (9)3、数据库概念结构设计 (10)4、数据库逻辑结构设计 (11)5、软件功能模块设计 (15)6、视图定义 (16)7、输入输出设计 (17)8、安全设计…………………………………………………………………………………17 第三章系统的详细设计与实现1、引言 (18)2、模块实现.......................................................................................... 18 第四章结束语............................................................................................. 20 参考资料......................................................................................................21 源程序清单 (22)随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机及与通信技术为基础的信息系统正处于蓬勃发展的时期。
各种仓库管理的方法也是日新月异。
以前全是由人力管理的方法存在很多缺点,仓库的管理问题也就提上了日程。
随着这种企事业单位产品和材料的大量增加,起管理难度也越来越大,如何优化仓库夫人日常管理也就成为了一个重要的课题。
在计算机飞速发展的今天,将计算机这一信息处理利器应用于仓库的日常管理已经是势在必行,而且这也将为仓库管理带来前所未有的改变,它可以带来意想不到的效益,同时也会为企业飞速发展提供无限制的潜力。
数据库课程设计仓库管理系统

数据库课程设计仓库管理系统一、引言仓库管理系统是企业日常运营中不可或缺的一部分,它涉及到商品的存储、采购、销售等方方面面。
为了更好地管理仓库,提高工作效率,降低成本,我们设计了一个仓库管理系统,通过数据库课程的学习和实践,我们将系统的设计和实现进行了详细的分析和讨论。
二、系统需求分析1. 功能需求(1)商品管理:包括商品的入库、出库、库存管理等。
(2)订单管理:包括订单的生成、处理、发货等。
(3)员工管理:包括员工信息的录入、权限管理等。
(4)报表管理:包括库存报表、销售报表等。
(5)权限管理:不同角色的员工有不同的权限,需要进行权限管理。
2. 性能需求系统需要具备良好的性能,能够快速响应用户的操作,保证系统的稳定性和可靠性。
3. 可靠性需求系统需要保证数据的安全性,避免数据丢失或损坏。
4. 可维护性需求系统需要易于维护和扩展,能够方便地进行功能的更新和改进。
三、系统设计1. 数据库设计我们选择了关系型数据库来存储系统的数据,采用了MySQL作为数据库管理系统。
根据系统的功能需求,设计了商品表、订单表、员工表、权限表等,通过表之间的关联来实现数据的一致性和完整性。
2. 系统架构设计我们采用了B/S架构来设计系统,通过浏览器访问系统,实现了跨平台的使用。
前端采用了HTML、CSS、JavaScript等技术,后端采用了Java语言,通过Servlet和JSP来实现页面的动态生成和交互。
3. 安全设计为了保障系统的安全性,我们对系统进行了权限管理,对不同角色的员工进行了权限划分,确保了数据的安全和隐私。
4. 性能优化为了提高系统的性能,我们对数据库进行了索引优化、查询优化等操作,提高了系统的响应速度和稳定性。
四、系统实现1. 数据库搭建我们首先搭建了MySQL数据库,创建了相应的表结构,进行了数据的导入和测试。
2. 前端页面设计通过HTML、CSS、JavaScript等技术,设计了系统的前端页面,实现了用户的交互和操作。
仓储数据库课程设计

仓储数据库课程设计一、课程目标知识目标:1. 理解仓储数据库的基本概念,掌握其结构与功能;2. 学会使用数据库管理系统(DBMS)进行仓储数据的增、删、改、查操作;3. 掌握数据库设计原则,能独立设计简单的仓储数据库。
技能目标:1. 培养学生运用数据库技术解决实际仓储管理问题的能力;2. 提高学生使用数据库软件进行数据处理和分析的技能;3. 培养学生团队协作和沟通能力,能就数据库设计问题进行有效讨论。
情感态度价值观目标:1. 培养学生对仓储数据库技术的兴趣,激发其探索精神;2. 培养学生认真负责、严谨细致的学习态度,树立良好的数据管理意识;3. 增强学生对我国仓储物流行业的认识,提高其职业素养和社会责任感。
本课程旨在使学生掌握仓储数据库的基本知识,提高其运用数据库技术解决实际问题的能力,同时培养其团队协作和沟通能力。
结合学生特点和教学要求,将课程目标分解为具体的学习成果,为后续的教学设计和评估提供依据。
二、教学内容1. 仓储数据库基础知识- 数据库概念、结构与功能;- 仓储数据库的特点与应用。
2. 数据库管理系统(DBMS)- 常用数据库管理系统介绍;- 数据库的创建、使用与维护。
3. 数据库设计- 数据库设计原则与方法;- 实际仓储数据库案例分析。
4. 仓储数据操作- 数据增、删、改、查操作;- 数据库查询语言(SQL)基础。
5. 数据库安全与维护- 数据库安全策略;- 数据库性能优化与维护。
6. 仓储数据库应用实践- 结合实际案例,设计简单的仓储数据库;- 数据库操作实践,解决仓储管理问题。
教学内容根据课程目标进行选择和组织,注重科学性和系统性。
教学大纲明确教学内容安排和进度,涵盖教材相关章节。
教学内容分为六个部分,由浅入深,理论与实践相结合,旨在使学生掌握仓储数据库知识,提高应用能力。
三、教学方法本课程采用以下多样化的教学方法,以激发学生学习兴趣和主动性:1. 讲授法:- 对仓储数据库的基本概念、原理和操作进行系统讲解,帮助学生建立扎实的理论基础。
商品仓库管理系统数据库设计

(2)供应商的基本信息
每个供应商拥有唯一的编号、名字、地址、供应货物及电号码。
(3)货物的基本信息
每种货物有一个编号,会存放在一个仓库中,货物有唯一的名称,属于一个类型,拥有一定货物存储量,管理员可以对其信息进行修改。
40
供应商地址
货物
Pgoods
char
6
供应商供应货物
电话
Ptel
char
11
供应商电话
照片
Picon
image
16
供应商照片
5.仓库存储数据字典
属性名
存储代码
类型
长度
备注
货物编号
Gno
char
5
仓库编号
Sno
char
5
货物名称
Gname
char
10
类型名称
Tname
char
20
货物存储量
Gnum
int
4
仓库货物存储量
6.货物入库数据字典
属性名
存储代码
类型
长度
备注
货物编号
Gno
char
5
供应商编号
Pno
char
5
货物名称
Gname
char
10
货物类型
Tname
char
20
仓库编号
Sno
real
4
入库总量
Innum
int
4
货物入库总量
收购单价
Inprice
物资库存管理系统课程设计

物资库存管理系统课程设计一、课程目标知识目标:1. 理解物资库存管理系统的基本概念、功能模块和工作流程;2. 掌握数据库的基本操作,如数据的增、删、改、查;3. 学会使用一种编程语言(如Python)实现物资库存管理系统的简单功能;4. 了解物资分类、编码和库存盘点的基本方法。
技能目标:1. 能够分析实际业务需求,设计合理的物资库存管理方案;2. 培养学生运用编程语言解决实际问题的能力;3. 提高学生团队协作、沟通表达和解决问题的能力;4. 培养学生运用数据库技术进行数据管理的能力。
情感态度价值观目标:1. 培养学生认真负责、严谨细致的工作态度;2. 增强学生对信息技术的兴趣和自信心,激发创新精神;3. 培养学生遵守法律法规,尊重知识产权,养成良好的职业道德;4. 培养学生关注社会发展,关注信息技术在企业管理中的应用,提高社会责任感。
课程性质:本课程为实践性较强的信息技术课程,旨在帮助学生掌握物资库存管理系统的基本知识和技能,培养实际操作能力。
学生特点:学生具备一定的计算机操作基础,对编程和数据库有一定了解,但实际应用能力较弱。
教学要求:注重理论与实践相结合,充分调动学生的积极性,培养学生的动手能力和团队协作精神。
在教学过程中,将目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. 物资库存管理系统概述- 了解物资库存管理的意义和作用;- 掌握物资库存管理系统的基本功能模块。
2. 数据库技术基础- 学习数据库的基本概念、数据模型和关系运算;- 掌握数据库设计方法,如实体-关系模型。
3. 编程语言应用- 学习使用Python等编程语言进行物资库存管理系统开发;- 掌握基本的数据输入、输出、查询和统计功能实现。
4. 物资分类与编码- 学习物资分类和编码的基本方法;- 掌握物资分类与编码在库存管理系统中的应用。
5. 库存盘点与管理- 学习库存盘点的基本流程和操作方法;- 掌握库存预警、库存优化等库存管理策略。
仓库管理系统数据库课程设计

目录1 课程设计的目的和意义 (2)2 需求分析 (2)3数据库系统设计 (3)4.程序代码实现 ................... 错误!未定义书签。
5.系统用户界面设计 ............... 错误!未定义书签。
6 总结 ........................... 错误!未定义书签。
7.附录 ........................... 错误!未定义书签。
一、课程设计的目的和意义仓库在现实生活中用途十分广泛,各种商城、超市要利用仓库存放物资,药房、医院等要利用仓库存放药品,企业、工厂等要利用仓库存放原材料、生产成品,因此仓库的管理成了一项十分重要的工作。
人工管理仓库既费时又费力,而且容易造成混乱,严重时会影响商城、企业的正常运作,造成恶劣的后果。
随着信息技术的发展,办公自动化的普及,如何快速,高效,便捷的管理仓库受到了高度的关注。
本系统模拟仓库管理,系统主要针对于日常库存信息的管理,包括物资管理、仓库管理、入库操作、入库查询统计、出库操作、出库查询统计、库存查询统计等处理情况。
用户可以通过相应的模块,对仓库里的物品的基本情况和库存数量进行查询,管理员通过简单的操作即可轻松的管理仓库,查询各项相关信息,并能进行入库和出库操作等。
通过仓库管理系统的设计与实现,使我们巩固和加深对数据库基础理论和基本知识的理解,进一步掌握了使用数据库进行软件设计的基本思想和方法,提高了运用数据库理论解决实际问题的能力,锻炼了实际动手能力、创新能力,培养了调查研究、查阅技术文献、资料、手册以及编写文档的能力。
二、需求分析系统开发的总体任务是实现各种信息的系统化、规范化和自动化。
系统功能分析是在系统开发的总体任务的基础上完成。
本仓库管理系统需要完成功能主要有:●用户登录。
实现根据不同用户的权限进行登录,并转到相应权限的操作。
●用户管理。
实现管理人员添加、修改、删除用户;一般用户修改信息等功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11信计2013-2014(一)《数据库原理及应用》课程设计设计题目仓储物资管理系统徐州工程学院数学与物理科学学院目录1 可行性研究 (3)2 需求分析 (3)2.1任务概述 (3)2.1.1 目标 (3)2.1.2 运行环境 (3)2.2数据需求 (3)2.2.1 数据流条目 (3)2.2.2 数据库描述 (4)2.3 功能需求 (4)2.3.1 功能划分 (4)2.3.2 功能描述 (4)3 概要设计 (4)4 逻辑设计 (5)5 界面设计和代码 (7)5.1登陆界面设计 (7)5.2注册界面与代码 (9)5.3修改密码 (10)5.4系统主界面设计和代码 (11)5.5查询信息管理界面设计 (13)5.6添加信息查询界面设计 (14)5.7出入库信息表设计 (17)5.8删改信息设计 (23)6总结 (25)参考文献 (25)1 可行性研究仓库管理系统是为了实现企业产品管理的系统化、规范化和自动化,从而提高企业管理效率而设计的。
它完全取代了原来一直用人工管理的工作方式,避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成仓库管理提供了强有力的工具和管理手段。
仓库管理系统是一个中小型数据库管理系统,它界面美观、操作简单、安全性高,基本满足了仓库管理的要求。
本系统的开发语言采用的是C#,开发环境采用的是Visual studio 2008,数据库采用SQL Server 2005,具有一般系统的数据功能,如数据查询,修改和删除等。
仓库管理系统在运行阶段,效果好,数据准确性高,提高了工作效率,同时也实现了仓库管理计算机化。
2 需求分析2.1任务概述经过调查,对仓库管理的业务流程进行分析。
库存的变化通常是通过入库、出库操作来进行。
系统对每个入库操作均要求用户填写入库单,对每个出库操作均要求用户填写出库单。
在出入库操作同时可以进行增加、删除和修改等操作。
用户可以随时进行各种查询、统计、报表打印、账目核对等工作。
另外,也可以用图表形式来反映查询结果。
2.1.1 目标(1)界面设计要求尽量友好、美观,应提供登录界面,并考虑用户权限问题;(2)对各种信息应提供录入、修改、删除和查询功能;(3)具有对商品的基本信息和流动信息进行统计的功能;(4)具有数据备份与恢复、帮助等功能;(5)能够新增、修改和删除用户信息;2.1.2 运行环境Windows 98/2000/XP/2003操作系统下,安装并配置软件Microsoft SQL Server 2000数据库管理系统。
2.2数据需求2.2.1 数据流条目根据我们的进行的调查和分析,系统中各种功能所需的数据项和数据结构如下:①商品信息:商品编号,商品名,商品单价;②职工信息:职工号,职工姓名,性别,电话,住址;③供货商信息:供应商姓名,地址,电话,单位等;④入库信息:入库编号,商品编号,商品名称,单价,数量,总价,供应商;⑧出库信息:出库编号,商品编号,商品名称,单价,数量,总价,经手人;2.2.2 数据库描述使用SQL SERVER2000作为后台数据库,就可以行使基于网络连接的用户认证。
从而给不同的子系统分配不同的数据库使用角色,让他们彼此之间使用的数据库隔离开来,以达到较高的安全性。
2.3 功能需求根据对各大超市进行的调查和分析,仓库管理系统应该具有以下功能:①仓库中的货物信息的录入、修改、删除和查询。
②仓库的信息的的录入、修改、删除、查询和统计。
③管理者的信息的录入、修改、删除和查询。
④供货商的信息的录入、修改、删除、查询和统计。
⑤货物流动信息的录入、修改、删除和查询。
2.3.1 功能划分仓库管理系统主要实现以下四方面的功能:A. 登陆b. 注册c. 查询d. 修改2.3.2 功能描述仓库管理包括登陆、注册、查询、修改四方面功能。
登陆,分为普通管理员登陆和超级管理员登陆。
查询,分为员工查询,仓库查询和物品查询。
修改,主要实现添加,修改和删除。
3 概要设计对系统功能分析中的各项功能进行集中、分块,按照结构化程序设计的要求,得到如下图所示的系统功能模块图。
4 逻辑设计根据数据库需求分析,本系统的数据库逻辑结构设计如下。
①商品信息设计②入库单信息设计员工查询仓库查询商品查询注册仓库管理系统登录普通管理员 超级管理员查询修改添加修改删除③出库单信息设计④职工信息设计⑤仓库信息设计⑥供货商信息表5 界面设计和代码5.1登陆界面设计public partial class Fmlogin:Form{ public Fmlogin(){ InitializeComponent(); }private voidBUT_Y_Click(object sender,EventArgs e){ string username = tbuser.Text;string password = tbpw.Text;string connstring = @"Data Source=.zhaojuan-PC\SQLEXPRESS;AttachDbFilename=F:\仓库管理系统\仓库管理系统\WMS_DB.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";SqlConnection conn = new SqlConnection(connstring);//获取用户名和密码匹配的行的数量的sql语句string sql = string.Format("select count(*) from [usertable] where username='{0}'and password='{1}'", username, password);try{ if(comboBox1.Text == "超级管理员"&&tbuser.Text=="admin"){conn.Open();SqlCommand comm = new SqlCommand(sql, conn);int num = (int)comm.ExecuteScalar();if (num > 0){ this.Hide();Fmmenu f1 = new Fmmenu();f1.ShowDialog(); }else{ MessageBox.Show("用户名或密码或身份错误,请重新输入!","登录失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }else if (comboBox1.Text =="普通管理员"){ conn.Open();SqlCommand comm = new SqlCommand(sql, conn);int num = (int)comm.ExecuteScalar();if (num > 0){ this.Hide();Fmmenu f1 = new Fmmenu();f1.删改信息ToolStripMenuItem.Enabled = false;f1.ShowDialog(); }else{MessageBox.Show("用户名或密码或身份错误,请重新输入!","登录失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);} }else{MessageBox.Show("用户名或密码或身份错误,请重新输入!","登录失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }catch (Exception eee){ MessageBox.Show(eee.Message, "数据库操作错误!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); }finally{conn.Close(); } }private void BUT_z_Click(object sender, EventArgs e){ Fmregister f2 = new Fmregister(); f2.ShowDialog();} }5.2注册界面与代码private voidbutton1_Click(object sender,EventArgs e){if(tbpw.Text ==tB2_repw.Text){ string connstring =@"DataSource=.zhaojuan-PC\SQLEXPRESS;AttachDbFilename=F:\仓库管理系统\仓库管理系统\WMS_DB.mdf;IntegratedSecurity=True;ConnectTimeout=30;User Instance=True";SqlConnection conn = new SqlConnection(connstring); ;try{conn.Open();SqlCommand comm = new SqlCommand("register", conn);mandType = CommandType.StoredProcedure;comm.Parameters.AddWithValue("@username", tbuser.Text.Trim()); comm.Parameters.AddWithValue("@password", tbpw.Text.Trim());comm.Parameters.AddWithValue("@workerID", tB_worker.Text.Trim());int count = comm.ExecuteNonQuery();//执行命令,返回的行数if (count > 0) {MessageBox.Show("注册成功!可以登录!", "成功", MessageBoxButtons.OK, rmation); }else{ MessageBox.Show("注册失败!","错误!",MessageBoxButtons.OK,rmation);} }catch(Exception ){ MessageBox.Show("操作数据失败!可能用户名重复或您不是本公司职员!", "错误!", MessageBoxButtons.OK, rmation); }finally{conn.Close();}}elseMessageBox.Show("注册失败!重复密码错误!", "错误!", MessageBoxButtons.OK, rmation); }private void but_return_Click(object sender, EventArgs e){ this.Close();}5.3修改密码private void but_Y_Click(object sender, EventArgs e){ if(tBsure.Text ==tBNpass.Text){ string connstring =@"DataSource=zhaojuan-PC\SQLEXPRESS;AttachDbFilename=D:\仓库管理系统\仓库管理系统\WMS_DB.mdf;IntegratedSecurity=True";SqlConnection conn = newSqlConnection(connstring);try{ conn.Open();SqlCommand comm = newSqlCommand("updatepass", conn);mandType=CommandType.StoredProcedure;comm.Parameters.AddWithValue("@username", tBuser.Text);comm.Parameters.AddWithValue("@password", tBpass.Text);comm.Parameters.AddWithValue("@newpass", tBNpass.Text);int count = comm.ExecuteNonQuery();if (count > 0){MessageBox.Show("修改密码成功");tBuser.Text = ""; tBpass.Text = ""; tBNpass.Text = "";tBsure.Text = ""; tBuser.Focus(); }else{MessageBox.Show("数据库操作失败", "修改密码失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);}}catch{ MessageBox.Show("操作数据失败!", "错误!", MessageBoxButtons.OK, rmation); }finally{ conn.Close();} }else{ MessageBox.Show("确认密码与新密码不符", "修改密码失败", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);tBuser.Text = ""; tBpass.Text = ""; tBNpass.Text = ""; tBsure.Text = ""; tBuser.Focus(); } }private void button1_Click(object sender, EventArgs e){this.Close();}5.4系统主界面设计和代码public partial class Fmmenu:Form{public Fmmenu(){ InitializeComponent();}private void职员ToolStripMenuItem_Click(objectsender, EventArgs e){ putinto_w w = newputinto_w();w.ShowDialog(); }private void查询所有ToolStripMenuItem_Click(object sender, EventArgs e){ allinformation s = new allinformation();s.ShowDialog(); }private void按仓库ToolStripMenuItem_Click(object sender, EventArgs e) { BY_WHID bw = new BY_WHID();bw.ShowDialog(); }private void供货商ToolStripMenuItem_Click(object sender, EventArgs e){ putinto_sup su = new putinto_sup(); su.ShowDialog(); } private void仓库信息ToolStripMenuItem_Click(object sender, EventArgs e){putinto_WH wh = new putinto_WH(); wh.ShowDialog(); }private void商品信息ToolStripMenuItem_Click(object sender, EventArgs e){ putin_G g = new putin_G();g.ShowDialog(); }private void入库ToolStripMenuItem_Click(object sender, EventArgs e) {putin pi = new putin(); pi.ShowDialog(); }private void出库ToolStripMenuItem_Click(object sender, EventArgs e) {putout po = new putout(); po.ShowDialog(); }private void删改信息ToolStripMenuItem_Click(object sender, EventArgs e){updataANDdelete ud = new updataANDdelete(); ud.ShowDialog();} private void提醒ToolStripMenuItem_Click(object sender, EventArgs e) {remind re = new remind(); re.ShowDialog(); }private void修改密码ToolStripMenuItem_Click(object sender, EventArgs e){ updatapass up = new updatapass(); up.ShowDialog(); } private void关于ToolStripMenuItem_Click(object sender, EventArgs e) { About ab = new About(); ab.ShowDialog(); }private void按供货商ToolStripMenuItem_Click(object sender, EventArgs e){ BY_SUP bs = new BY_SUP(); bs.ShowDialog(); } }5.5查询信息管理界面设计public partial class allinformation : Form{ public allinformation(){InitializeComponent(); }private void allinformation_Load(object sender, EventArgs e){ this.view_putoutTableAdapter.Fill(this.wMS_DBDataSet4.View_putout); this.view_putinTableAdapter.Fill(this.wMS_DBDataSet3.view_putin);this.supplierTableAdapter.Fill(this.wMS_DBDataSet2.Supplier);this.workerTableAdapter.Fill(this.wMS_DBDataSet1.Worker);this.gOODSTableAdapter.Fill(this.wMS_DBDataSet.GOODS);} private void fillByToolStripButton_Click(object sender, EventArgs e) { try{this.gOODSTableAdapter.FillBy(this.wMS_DBDataSet.GOODS); }catch (System.Exception ex){ System.Windows.Forms.MessageBox.Show(ex.Message);}try{ this.workerTableAdapter.FillBy1(this.wMS_DBDataSet1.Worker);}catch (System.Exception ex){ System.Windows.Forms.MessageBox.Show(ex.Message); } try{ this.view_putoutTableAdapter.FillBy(this.wMS_DBDataSet4.View_putout ); }catch (System.Exception ex){ System.Windows.Forms.MessageBox.Show(ex.Message); } try{ this.supplierTableAdapter.FillBy(this.wMS_DBDataSet2.Supplier); } catch (System.Exception ex){ System.Windows.Forms.MessageBox.Show(ex.Message); } try{this.view_putinTableAdapter.FillBy(this.wMS_DBDataSet3.view_putin); }catch (System.Exception ex){ System.Windows.Forms.MessageBox.Show(ex.Message); } } }5.6添加信息查询界面设计根据上图可知添加信息分为三类,人员信心,仓库信息,和商品信息,此外,人员信息分为职工类和供货商类,因添加界面和代码,格式大抵相同,所以只展示部分界面,进入添加设计如下:1.添加商品信息public partial class putin_G : Form{ public putin_G(){ InitializeComponent();}private void but_Y_Click(object sender,EventArgs e){string connstring = @"DataSource=.zhaojuan-PC\SQLEXPRESS;AttachDbFilename=F:\仓库管理系统\仓库管理系统\WMS_DB.mdf;IntegratedSecurity=True;Connect Timeout=30;UserInstance=True";SqlConnection conn = new SqlConnection(connstring);try{ conn.Open();SqlCommand comm = new SqlCommand("insertgoods", conn);mandType = CommandType.StoredProcedure;comm.Parameters.AddWithValue("@goods_ID",tB1_G_ID.Text.Trim());comm.Parameters.AddWithValue("@goods_name",tB2_G_name.Text.Trim());comm.Parameters.AddWithValue("@goods_price",tB3_G_price.Text.Trim());comm.Parameters.AddWithValue("@minnum",tB5_G_minnum.Text.Trim());int count = comm.ExecuteNonQuery();//执行命令,返回的行数if (count > 0){MessageBox.Show("添加成功!", "成功", MessageBoxButtons.OK, rmation);}else{MessageBox.Show("添加失败!", "错误!", MessageBoxButtons.OK, rmation);}}catch (Exception){ MessageBox.Show("操作数据失败!可能商品已存在!", "错误!", MessageBoxButtons.OK, rmation);}finally{conn.Close();}}private void button1_Click(object sender, EventArgs e) { this.Close(); } }2录入仓库信息public partial class putinto_WH : Form{public putinto_WH(){ InitializeComponent();}private void but_Y_Click(object sender,EventArgs e){string connstring = @"DataSource=.zhaojuan-PC\SQLEXPRESS;AttachDbFilename=F:\仓库管理系统\仓库管理系统\WMS_DB.mdf;IntegratedSecurity=True;Connect Timeout=30;UserInstance=True";SqlConnection conn = new SqlConnection(connstring);try{conn.Open();SqlCommand comm = new SqlCommand("insertWH", conn);mandType = CommandType.StoredProcedure;comm.Parameters.AddWithValue("@WH_ID",tB1_WH_ID.Text.Trim());comm.Parameters.AddWithValue("@WHname",tB2_WHname.Text.Trim());comm.Parameters.AddWithValue("@workerID",tB3_workerID.Text.Trim());comm.Parameters.AddWithValue("@WHphone",tB4_WHphone.Text.Trim());comm.Parameters.AddWithValue("@address",tB5_address.Text.Trim());int count = comm.ExecuteNonQuery();//执行命令,返回的行数if (count > 0){ MessageBox.Show("添加成功!", "成功", MessageBoxButtons.OK, rmation); }else{ MessageBox.Show("添加失败!", "错误!", MessageBoxButtons.OK, rmation);} }catch (Exception){ MessageBox.Show("操作数据失败!可能仓库已存在!", "错误!", MessageBoxButtons.OK, rmation);}finally{conn.Close(); } }private void button1_Click(object sender, EventArgs e){this.Close(); }}3录入职员信息(代码只展示不同部分Try{ conn.Open();SqlCommand comm = newSqlCommand("insertworker", conn);mandType=CommandType.StoredProcedurecomm.Parameters.AddWithValue("@workerID",tB1_ID.Text.Trim());comm.Parameters.AddWithValue("@workerName",tB2_name.Text.Trim());comm.Parameters.AddWithValue("@Sex", tB3_sex.Text.Trim());comm.Parameters.AddWithValue("@phone", tB4_phone.Text.Trim()); comm.Parameters.AddWithValue("@workerPost",tB5_POST.Text.Trim());int count = comm.ExecuteNonQuery();//执行命令,返回的行数5.7出入库信息表设计1出库表界面设计public partial class putout: Form{ public putout(){ InitializeComponent();}private voidbutton1_Click(object sender,EventArgs e){ this.Close(); }private void but_Y_Click(objectsender, EventArgs e){string show_str1 =string.Empty;string show_str2 =string.Empty;string dt1 =dateTimePicker1.Value.ToString();string dt2=dateTimePicker2.Value.Date.ToString();string connstring = @"Data Source=.zhaojuan-PC\SQLEXPRESS;AttachDbFilename=F:\仓库管理系统\仓库管理系统\WMS_DB.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";SqlConnection conn = new SqlConnection(connstring);try{conn.Open();SqlCommand comm = new SqlCommand("SPputout", conn);mandType = CommandType.StoredProcedure;//声明,引号中的内容是存储过程名comm.Parameters.AddWithValue("@putoutID",tB_puID.Text.Trim());comm.Parameters.AddWithValue("@goodsID",tB_GID.Text.Trim());string sql = string.Format("select Goods_name,Goods_price from [GOODS] where Goods_ID='{0}'", tB_GID.Text.Trim());SqlCommand comm1 = new SqlCommand(sql, conn);SqlDataReader sdr = comm1.ExecuteReader();while (sdr.Read()){ show_str1 = string.Format("{0}", sdr[0].ToString()); show_str2 = string.Format("{0}", sdr[1].ToString());} sdr.Close();//关闭SQLdatareadersdr.Dispose();this.tB_Gname.Text = show_str1;this.tB_Gprice.Text = show_str2;//将查询结果显示在文本框comm.Parameters.AddWithValue("@num",float.Parse(tB_Gnum.Text.Trim()));comm.Parameters.AddWithValue("@JSR",tB_JSR.Text.Trim());comm.Parameters.AddWithValue("@checker",tB_check.Text.Trim());comm.Parameters.AddWithValue("@time", dt1);tB_value.Text = (float.Parse(tB_Gnum.Text) * float.Parse(tB_Gprice.Text)).ToString();comm.Parameters.AddWithValue("@totalvalue",tB_value.Text);comm.Parameters.AddWithValue("@WH_ID",tB_WH.Text.Trim());comm.Parameters.AddWithValue("@producetime", dt2);int count = comm.ExecuteNonQuery();//执行命令,返回的行数if (count > 0){ MessageBox.Show("出库成功!", "成功", MessageBoxButtons.OK, rmation); }else{MessageBox.Show("出库失败!", "错误!", MessageBoxButtons.OK, rmation);}}catch{ MessageBox.Show("操作数据失败!可能填写错误!", "错误!", MessageBoxButtons.OK, rmation);}finally{ conn.Close(); } }2入库表界面设计(代码展示不同部分)private void but_Y_Click(objectsender, EventArgs e){string show_str1 =string.Empty;string show_str2 =string.Empty;string dt1 =dateTimeNow.Value.Date.ToString();DateTime dt2 =dateTimeGpro.Value.Date;DateTime dt3 =dateTimeGqgp.Value.Date;TimeSpan dt4 = dt3 - dt2;string connstring = @"Data Source=.zhaojuan-PC\SQLEXPRESS;AttachDbFilename=F:\仓库管理系统\仓库管理系统\WMS_DB.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";SqlConnection conn = new SqlConnection(connstring);string sql1=string .Format("select count(*) from Storegoods where Goods_ID={0} and producetime={1}",tB_GID.Text.Trim(),dt2);conn.Open();SqlCommand comm2 = new SqlCommand(sql1, conn);int num=(int) comm2.ExecuteScalar();if (num == 0){ try{ SqlCommand comm = new SqlCommand("SPputin", conn); mandType = CommandType.StoredProcedure;comm.Parameters.AddWithValue("@putinID",tB_INID.Text.Trim());comm.Parameters.AddWithValue("@goodsID",tB_GID.Text.Trim());string sql = string.Format("select Goods_name,Goods_price from [GOODS] where Goods_ID='{0}'", tB_GID.Text.Trim());SqlCommand comm1 = new SqlCommand(sql, conn);SqlDataReader sdr = comm1.ExecuteReader();while (sdr.Read()){show_str1 = string.Format("{0}", sdr[0].ToString());show_str2 = string.Format("{0}", sdr[1].ToString());}sdr.Close();sdr.Dispose();this.tB_Gname.Text = show_str1;this.tB_Gprice.Text = show_str2;//将查询结果显示在文本框comm.Parameters.AddWithValue("@num",float.Parse(tB_num.Text.Trim()));comm.Parameters.AddWithValue("@supplier",tB_SUP.Text.Trim());comm.Parameters.AddWithValue("@JSR",tB_JSR.Text.Trim());comm.Parameters.AddWithValue("@checker",tB_check.Text.Trim());comm.Parameters.AddWithValue("@time", dt1);tB_value.Text = (float.Parse(tB_num.Text) * float.Parse(tB_Gprice.Text)).ToString();comm.Parameters.AddWithValue("@totalvalue",tB_value.Text);comm.Parameters.AddWithValue("@WH_ID",tB_WH.Text.Trim());comm.Parameters.AddWithValue("@producetime",dt2.ToString());comm.Parameters.AddWithValue("@qgp", dt4.Days);int count = comm.ExecuteNonQuery();//执行命令,返回的行数if (count > 0){MessageBox.Show("入库成功!", "成功", MessageBoxButtons.OK, rmation);}else{ MessageBox.Show("入库失败!", "错误!", MessageBoxButtons.OK, rmation);}}catch (Exception){ MessageBox.Show("操作数据失败!可能填写错误!", "错误!", MessageBoxButtons.OK, rmation); }finally{conn.Close();}}else{ try{SqlCommand comm = new SqlCommand("SPputin2", conn); mandType = CommandType.StoredProcedure;comm.Parameters.AddWithValue("@putinID",tB_INID.Text.Trim());comm.Parameters.AddWithValue("@goodsID",tB_GID.Text.Trim());string sql = string.Format("select Goods_name,Goods_price from [GOODS] where Goods_ID='{0}'", tB_GID.Text.Trim());SqlCommand comm1 = new SqlCommand(sql, conn);SqlDataReader sdr = comm1.ExecuteReader();while (sdr.Read()){show_str1 = string.Format("{0}", sdr[0].ToString());show_str2 = string.Format("{0}", sdr[1].ToString());}sdr.Close();sdr.Dispose();this.tB_Gname.Text = show_str1;this.tB_Gprice.Text = show_str2;//将查询结果显示在文本框comm.Parameters.AddWithValue("@num",float.Parse(tB_num.Text.Trim()));comm.Parameters.AddWithValue("@supplier",tB_SUP.Text.Trim());comm.Parameters.AddWithValue("@JSR",tB_JSR.Text.Trim());comm.Parameters.AddWithValue("@checker",tB_check.Text.Trim());comm.Parameters.AddWithValue("@time", dt1);tB_value.Text = (float.Parse(tB_num.Text) * float.Parse(tB_Gprice.Text)).ToString();comm.Parameters.AddWithValue("@totalvalue",tB_value.Text);comm.Parameters.AddWithValue("@WH_ID",tB_WH.Text.Trim());comm.Parameters.AddWithValue("@producetime",dt2.ToString());comm.Parameters.AddWithValue("@qgp", dt4.Days);int count = comm.ExecuteNonQuery();//执行命令,返回的行数5.8删改信息设计private void button1_Click(object sender, EventArgs e){this.gOODSTableAdapter.Update(wMS_DBDataSet7);}private voidupdataANDdelete_Load(objectsender, EventArgs e){this.supplierTableAdapter.Fill(this.wMS_DBDataSet9.Supplier);this.workerTableAdapter.Fill(this.wMS_DBDataSet8.Worker);this.gOODSTableAdapter.Fill(this.wMS_DBDataSet7.GOODS);}private void button7_Click(objectsender, EventArgs e){foreach(DataGridViewRow r indataGridView1.SelectedRows){dataGridView1.Rows.Remove(r); } }private void button3_Click(object sender, EventArgs e){workerTableAdapter.Update(wMS_DBDataSet8);}private void button4_Click(object sender, EventArgs e){foreach (DataGridViewRow r in dataGridView2.SelectedRows) {dataGridView2.Rows.Remove(r);} }private void button5_Click(object sender, EventArgs e){supplierTableAdapter.Update(wMS_DBDataSet9);}private void button6_Click(object sender, EventArgs e){ foreach (DataGridViewRow r in dataGridView3.SelectedRows) { dataGridView3.Rows.Remove(r);}}6总结经过两周的课程设计,我们组设计的作品仓库管理系统终于完成,在一次次的调试后,程序比较完善,并且利用数据库的相关知识,存储信息。