数据库课程实践—仓库管理系统(附代码下载)

数据库课程实践—仓库管理系统(附代码下载)数据库课程实践-仓库管理系统桌面应用程序数据库:SQLServer2008r2IDE:VS2010完成功能:(1)产品入库管理,可以填写入库单,确认产品入库;(2)产品出库管理,可以填写出库单,确认出库;(3)借出管理,凭借条借出,然后能够还库;(4)仓库库存设置,设置库存的初始值,更改库存的上下限值;(5)可以进行盘库,按货物分类,仓库分类和按货号和仓库查找;

大家好,又见面了,我是你们的朋友全栈君。

数据库课程设计- 仓库管理系统桌面应用程序

数据库:SQLServer 2008R2
开发工具:VS2010
语言:C# , SQL
界面直接拖控件就好了。
请注意,SQL 是针对 SQLServer 写的,MySQL 不适用,如果需要请自行修改。

课程设计的目的是熟悉和学习使用数据库的各种功能,比如ER图,数据库字段类型,主键,表间关系,触发器,存储过程,函数等等,并利用这些知识做一个简单的系统(Demo),理解数据库在应用系统中的作用。

下载指引:

[CSDN 代码下载,CSDN 太恶心了,下的越多所要积分越高,]
由于 CSDN 下载的越来越多,所需积分也越来越高,为了方便大家,所以将代码上传到 GitHub 仓库中去了,以下是代码仓库链接,代码下载点击 Code -> Download Zip 就可以了,方便的话点击一下右上角的 Star, 感谢。(注:没用过github 的同学一定要学会使用噢)
https://github.com/LiuKay/WareHouseManagSys

小白下载指引(见下图):
代码下载指引

完成功能:

(1)产品入库管理,可以填写入库单,确认产品入库;
(2)产品出库管理,可以填写出库单,确认出库;
(3)借出管理,凭借条借出,然后能够还库;
(4)仓库库存设置,设置库存的初始值,更改库存的上下限值;
(5)可以进行盘库,按货物分类,仓库分类和按货号和仓库查找;
(6)可以查询产品入库情况、出库情况、当前库存情况,可以按仓库、出库单、入库单,产品、时间进行查询;
(7)货物管理,查询、添加、删除货物信息;
(8)仓库管理员信息管理,禁止删除初始管理员;

E-R图

1.总体基本E-R图设计
这里写图片描述
2.入库E-R图
这里写图片描述
3.出库E-R图
这里写图片描述
4.借还记录
这里写图片描述

表设计

这里写图片描述

效果展示:

1.登录界面

这里写图片描述

2.货物查询

这里写图片描述

3.库存查询

这里写图片描述

4.出入库查询

这里写图片描述

5.借还查询

这里写图片描述

6.入库

这里写图片描述

7.出库

这里写图片描述

8.借出

这里写图片描述

9.归还

这里写图片描述

10.仓库管理-货物管理

这里写图片描述

11.仓库管理-管理员信息管理

这里写图片描述

12.仓库管理-仓库设置

这里写图片描述

13.数据库表

这里写图片描述

14.存储过程

这里写图片描述

总结

本次数据库课程设计我做的是仓库信息管理系统,在数据库设计的初期,先分析了仓库管理系统基本功能和服务对象,起初设计的时候并没有考虑清楚对象,添加了很多不必要的使用者,比如供应商和客户,仔细分析之后发现,该系统应该只是服务于仓库管理员而已,于是又要删掉客户这一实体,只是作为出库的一个属性存在。在做货物入库和出库触发器的时候,并没有想到用写成的C#应用程序如何去与触发器的回滚操作做通信,这样会导致在触发器中停止的操作并不会反映到应用程序的界面上来,所以我认识到,应用程序与数据库的通信应该尽量写成存储过程来调用,而触发器的功能尽量的应该是来维护表的完整性,比如做表的同步插入跟新删除等。通过存储过程返回的参数,可以简单的返回到应用程序中,通过判断情况可以清楚的反映sql语句的执行情况,这样就增强了应用程序和数据库见的交流,使用户可以容易的知道执行到哪了或者执行了什么操作。在做数据库设计的过程中,我发现同一个系统可以有不同表述和理解,比如在实际的仓库系统中一个订单号对应一种货物还是多种货物的问题,主键设成订单号当然只能对应一种货物,若主键由单号+仓库+货物那就可以对应多种情况,根据不同情况和需求可以做不同的实现。在设计表的时候有很多细节要注意,比如单号是自己生成还是由管理员来填写(比如表空的时候是Null,若直接加1则还是Null,所以要先判断是否为空),比如datetime类型与字符之间的转换(需要什么样的时间格式,客户需要什么样的信息),比如出入的情况分析和借还情况的实现。我想实现在查询借还记录的时候归还的显示为归还时间(datetime格式)未归还的显示为“未归还”(字符),这个功能一直很难实现,因为经常是转换问题。
用ADO.NET实现应用程序和数据库的链接和通信,然后将调用存储过程方法写在对应的控件按钮里面进行操作。遇到的问题是,比如一个TextBox的默认值是””,则在调存储过程中要判断各种情况,不然会经常报错。如何把界面做的适合真正的仓库管理人员使用,要研究他们真正需要的是什么。在做课设中,我认识到了,不能一开始就想的很复杂,要先实现一些基本的需求,在此基础上再全面的分析问题,再添加需要的情况分析和功能实现,这才是一步一步完善设计的步骤。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144365.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号