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

数据库课程实践—仓库管理系统(附代码下载)数据库课程实践-仓库管理系统桌面应用程序数据库: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的默认值是””,则在调存储过程中要判断各种情况,不然会经常报错。如何把界面做的适合真正的仓库管理人员使用,要研究他们真正需要的是什么。在做课设中,我认识到了,不能一开始就想的很复杂,要先实现一些基本的需求,在此基础上再全面的分析问题,再添加需要的情况分析和功能实现,这才是一步一步完善设计的步骤。

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

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

(0)
上一篇 2022年5月12日 上午11:00
下一篇 2022年5月12日 上午11:00


相关推荐

  • MATLAB 相机标定(单目)使用工具箱TOOLBOX_calib[通俗易懂]

    MATLAB 相机标定(单目)使用工具箱TOOLBOX_calib[通俗易懂]环境MATLABR2014a+windows764位1.单目摄像机标定(1)首先把解压的TOOLBOX_calib文件夹的路径设置到MATLAB里,在主页->环境->设置路径->选择工具箱路径,如图:然后保存,关闭(2)此时,将你采集到的图片放到工具箱以外的文件夹中,在MATLAB中打开,如图:注意上面的路径,必须选择图像所在的文件夹,不然下一步会出现错误“Noimage…

    2022年5月22日
    40
  • 查找可用的谷歌IP地址

    查找可用的谷歌IP地址

    2021年11月14日
    63
  • 12.Java- Maven 教程

    12.Java- Maven 教程一、安装引用菜鸟教程:Maven菜鸟教程地址1.下载1.Maven链接Maven下载地址:,点击跳转2.选择版本3.解压到指定地址4.并配置环境变量,引用的菜鸟教程引用菜鸟教程,菜鸟教程路径地址,点击跳转右键“计算机”,选择“属性”,之后点击“高级系统设置”,点击”环境变量”,来设置环境变量,有以下系统变量需要配置:新建系统变量MAVEN_HOME,变量值:E:\Maven\apache-maven-3.3.9编辑系统变量Path,添加变量值:;%M

    2025年10月4日
    4
  • Java语言冒泡排序详解

    Java语言冒泡排序详解基于很多同学在面试的过程中被问到一些基础的算法,导致整个面试过程不理想,而基础的算法和数据结构往往都是一些大公司任职的基本要求,这也严重影响拿offer的成功率。接下来的一段时间我将陆续对一些简单的基础的算法和数据结构进行详细说明。我将从排序算法说起,下面从冒泡排序开始说起。排序结果:数据从小到大。首先说一下冒泡排序的思想:每次比较从第一个数据开始,数据两两比较,如果左边数据比右边数据大,则交换左右

    2022年6月20日
    32
  • sql2008r2绿色版免安装_少女都市模拟器中文版激活成功教程版免费

    sql2008r2绿色版免安装_少女都市模拟器中文版激活成功教程版免费中文版本64位免激活成功教程SQLyog-12.5.064位中文激活成功教程版 百度云盘https://pan.baidu.com/s/1yvQ7f0esY8idqc_Ci3Su2Ahttps://pan.baidu.com/s/1mhFLVpm 原文:https://blog.csdn.net/odyssey1816/article/details/78801342…

    2026年2月26日
    6
  • hdu1281 棋盘游戏 二分图最大匹配

    hdu1281 棋盘游戏 二分图最大匹配

    2022年3月2日
    60

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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