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

数据库课程实践—仓库管理系统(附代码下载)数据库课程实践-仓库管理系统桌面应用程序数据库: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)


相关推荐

  • javase学习笔记

    javase学习笔记01.01_计算机基础知识(计算机概述)(了解)A:什么是计算机?计算机在生活中的应用举例计算机(Computer)全称:电子计算机,俗称电脑。是一种能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件和软件所组成,没有安装任何软件的计算机称为裸机。常见的形式有台式计算机、笔记本计算机、大型计算机等。应用举例1:科学计算2、数据处理3、自动控制4、计算机辅助设计…

  • PYCHAR激活码(破解版激活)

    PYCHAR激活码(破解版激活),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • shell编程和shell脚本_shell脚本语言入门pdf

    shell编程和shell脚本_shell脚本语言入门pdf看了一遍,小有问题,但是可以览个大概了。 Shell编程基础http://wiki.ubuntu.org.cn/Shell%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80

  • python中多个if语句用法_if语句的用法

    python中多个if语句用法_if语句的用法python中if语句用法以下实例通过使用if…elif…else语句判断数字是正数、负数或零:推荐:《python教程》实例(Python3.0+)#Filename:test.py#authorby:www.php.cn#用户输入数字num=float(input(“输入一个数字:”))ifnum>0:print(“正数”)elifnum==…

  • 4g通信系统的网络结构_4g通信

    4g通信系统的网络结构_4g通信1、4G通信网络的关键技术研究4G通信网络,就必须加强对其关键技术的研究,这是决定4G网络通信与3G网络通信不同的关键因素,其主要包括正交频分复用技术、软件无线电技术、智能天线技术、多输入多输出技术、IP核心网技术和多用户检测技术等。1.1正交频分复用技术所谓的正交频分复用技术,简称OFDM技术,是4G通信网络的核心技术,主要是将信道分成若干正交子信道,将高速数据信号转换成并行的低速子数据流,调制到在每个子信道上进行传输。OFDM技术不同于一般性的网络技术,它可以通过相关技术将信号分开,有

  • 滚动条的颜色_Java滚动条里面怎么添加控件

    滚动条的颜色_Java滚动条里面怎么添加控件对里面样式的介绍:语法:scrollbar-face-color:color参数:color: 指定颜色。说明:设置或检索滚动条3D表面(ThreedFace)的颜色。(演示)语法:scrollbar-highlight-color:color参数:color: 指定颜色。说明:设置或检索滚动条3D界面的亮边(ThreedHighlight)颜色。(演示)语法:scrollbar-arro…

    2022年10月23日

发表回复

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

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