《2023年-仓库管理系统数据库课程设计.docx》由会员分享,可在线阅读,更多相关《2023年-仓库管理系统数据库课程设计.docx(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库课程设计报告课 题:仓库管理系缢目录1课程设计的目的和意义2需求分析3数据库系统设计if (txtkey. Text = )MessageBox. Show (请输入查询信息); return;)switch (comboBoxl. Text)(case 商品编号:商品编号:kcgood. strGoodsID = txtkey.Text;tb_GoodMenthd. tb_ThGoodsFind(dataGridViewl, 1, kcgood);break;case 商品名称:商品名称kcgood. strKcGoodsName = txtkey. Text;tb GoodMenth
2、d. tb ThGoodsFind(dataGridViewl, 2, kcgood);break;private void frmKcGoodFind_Load(object sender, EventArgs e) )五、系统用户界面设计1 .界面总体设计主界面:菜单栏、工作区、状态栏等。功能界面:全部为主界面的子界面,并完成相互独立的功能。2 .系统界面及功能概述2.1登陆界面:功能简介:系统的登陆界面,输入正确的用户名和密码,单击【确定工程 序会根据输入的用户所属的角色,分配给其合适的权限,并进入相应的程序主界 面;如果账号或密码错误则会弹出错误提示,要求用户重新输入。2. 2用户主界
3、面:2. 3添加用户界面:lW麴瀛作员:09041232当前时间:2011/6/2016:38:03I仓库管理系统2. 4商品退货界面:2. 5商品销售信息界面:2. 6商品库存界面:2. 7供应商信息界面:(H保存或肖曲添加图修改 旨删除 查询条件囱查找X退出供应商名称:天利官品有限公司负责人姓名:小张联系电话:8229546地址:抚州市供应商名称地址抚州市盛远食品有限公司小李南昌市KH-8984651E系电话29546编号KH-20062011163058六、总结计算机技术的快速发展大大的推进了现代人工作生活的变化,越来越多的行 业开始应用计算机来增强管理,提高效益。计算机软件作为计算机系
4、统的两大组成部分之一,看起来更接近普通用户; 在设计一个软件系统的时候需要考虑到的因素非常多,但是最重要的莫过于功能 和界面,功能直接关系着软件系统是否能完成用户的需求,而界面则直接面对用 户,人们总是更倾向于使用一个操作方便的软件系统。在设计仓库管理系统的时候,便是从以上两个方面入手,首要实现功能性需 求,再设计一个相对方便操作的用户界面。在这两个方面集成开发环境(IDE) 的作用显得十分突出,Microsoft Visual Studio 2005是一套非常强大的开发套件, 利用它可以快速的开发出界面友好,功能强大的软件系统。此次完成的仓库管理系统可以完全适应中小型的仓库管理需求,它具有用
5、户 管理、物资管理、出入库管理、库存管理等功能,可以方便快捷进行添加、删除、 查询等操作,且系统运行比较稳定。在完成毕业设计的过程中也遇到了许多问题,主要是因为自己对高级语言编程以及数据库方 面的知识理解不够深刻,平时动手做的软件不多;但是在指导老师的悉心指导下,通过查阅资料 基本上都能比较好的解决遇到的问题,最终比较顺利的完成了此次毕业设计。在这个过程中我也 学到了很多东西,对C#,数据库都有了更深入的理解,可以较熟练地使用VS2005开发软件, 也增强了分析问题、解决问题的能力,总的来说这次毕业设计使我受益颇多。谢辞在论文完成之际,向我的老师王强老师表示深深的敬意!本设计是在王强老师的悉心
6、指导、谆谆教诲下完成的,在此感谢王老师在设 计期间对我的指导,以及在我学习过程中,遇到困难时对我的帮助,使我学到了 好多知识,学会了能够透彻的分析问题解决问题的能力。同时,感谢在我大学期间给与我帮助的所有老师,培养了我热爱学习、勤学 好问、创新探索的能力,让我学到了不少的知识,使我受益非浅,还培养了我解 决问题和处理问题的能力,为我在今后的T作和生活中打下了基础。附录一:商品进货信息代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.
7、Drawing;using System.Text;using System.Windows.Forms;using CHEXC.ClassInfo;using CHEXC.GoodMenhod;using System.Data.SqlClient;namespace CHEXC(public partial class frmJhGoodsInfo : Form(public frmJhGoodsInfo()(InitializeComponent();)public frmJhGoodsInfo(int intCdo)(InitializeComponent();tb_JhGoods!n
8、fo jhGood二new tb_JhGoodsInfo();tb_JhGoods!nfoMenthod jhMenthod=new tb_JhGoods!nfoMenthod();public static int intFalg = 0;private void ControlStatus()this.toolSave.Enabled 二!this.toolSave.Enabled;this.tool Add.Enabled = ! this.tool Add.Enabled;this.toolCancel.Enabled = Ithis.toolCancel.Enabled;this.t
9、oolAmend.Enabled = ! this.tool Amend.Enabled;this.tollDelete.Enabled = ! this.tollDelete.Enabled;)public void ClearContorl()(txtGoodsNum.Text = ”;txtGoodsRemark.Text = ”;txtGoodsSellPrice.Text =txtJhCompName.Text =”;txtGoodsNoPrice.Text = ”;txtGoodsNeedPrice.Text =txtGoodsName.Text =”;txtGoodsJhPric
10、e.Text =txtGoodsID.Text = ”;txtEmpId.Text =”;cmbDepotName.Text = nn;)public int getIntCount()(int intReslut = 0;if (intFalg = 1)if (txtGoodsID.Text = *(MessageBox.ShowC商品编号不能为空! n);return intReslut;)MessageBox.Show(商品名称不能为空! n);return intReslut;)if (txtJhCompName.Text = )(MessageBox.Show(”供应商名称不能为空!
11、 ”); return intReslut;)if(txtEmpId.Text = *(MessageBox.Show。进货人姓名不能为空! ”); return intReslut;if (txtGoodsNum.Text =)(MessageBox.Show,数量不能为空! ”); return intReslut;if (txtGoodsName.Text(MessageBox.Show(进货单价不能为空!); return intReslut;)if (intFalg = 2)if (txtGoodsID.Text =.)MessageBox.Show(商品编号不能为空!,选择要修改记
12、录T提示)return intReslut;)if (intFalg = 3)(if (txtGoodsID.Text =)(MessageBox.Show(商品编号不能为空!,选择要删除记录 提示)return intReslut; ) jhGood.strGoodsID = txtGoodsID.Text; jhGood.strEmpId = txtEmpId.Text;jhGood.strJhCompName = txtGoodsName.Text;jhGood.strDepotName = cmbDepotN ame .Tex t;jhGood.strGoodsNum = Conver
13、t.ToInt32(txtGoodsNum.Text);jhGood.strGoodsName = txtGoodsName.Text;jhGood.strGoodsUnit = cmbGoodsUnit.Text;jhGood.deGoodsJhPrice = txtGoodsJhPrice.Text;jhGood.deGoodsNeedPrice = txtGoodsNeedPrice.Text;jhGood.deGoodsNoPrice = txtGoodsNoPrice.Text;jhGood.deGoodsSellPrice 二 txtGoodsSellPrice.Text;j hG
14、ood. strGoodsRemark = txtGoodsRemark.Text;jhGood.DaGoodTime = dateT i mePicker 1. V al ue;if (intFalg != 3)4 .程序代码实现.5 .系统用户界面设计6总结7.附录错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。一、课程设计的目的和意义仓库在现实生活中用途十分广泛,各种商城、超市要利用仓库存放物资,药 房、医院等要利用仓库存放药品,企业、工厂等要利用仓库存放原材料、生产成 品,因此仓库的管理成了一项十分重要的工作。人工管理仓库既费时又费力,而且容易造成混乱,严重时会
15、影响商城、企业 的正常运作,造成恶劣的后果。随着信息技术的发展,办公自动化的普及,如何 快速,高效,便捷的管理仓库受到了高度的关注。本系统模拟仓库管理,系统主要针对于日常库存信息的管理,包括物资管理、 仓库管理、入库操作、入库查询统计、出库操作、出库查询统计、库存查询统计 等处理情况。用户可以通过相应的模块,对仓库里的物品的基本情况和库存数量 进行查询,管理员通过简单的操作即可轻松的管理仓库,查询各项相关信息,并 能进行入库和出库操作等。通过仓库管理系统的设计与实现,使我们巩固和加jhGood.Falg 二 0;)elsejhGood.Falg = 1;)intReslut = 1;retur
16、n intReslut;private void frmJhGoodsInfo_Load(object sender, EventArgs e) (jhMenthod.tb_JhGoodsInfoFind(HH, 5, dataGridViewl);private void FillControls()try(SqlDataReadersqldrjhMenthod.tb_JhGoodsInfoFind(this.dataGridView l0,this.dataGridViewl.CurrentCell.RowIndex.Value.ToString(),l);sqldr.Read();if
17、(sqldr.HasRows)(txtEmpId.Text=sqldr 1 .ToStringO;txtGoodsName.Text=sqldr4.ToString();cmbDepotName.Text = sqldr3.ToString();txtGoodsN um.Text=sqldr 5 .ToS tring();cmbGoodsUnit.Text=sqldr6.ToString();txtGoodsJhPrice.Text=sqldr7.ToString();txtGoodsNeedPrice.Text=sqldr9.ToString();txtGoodsNoPrice.Text=s
18、qldr10.ToString();txtGoodsSellPrice.Text=sqldr8.ToString();txtGoodsRemark.Text=sqldrl l.ToString();txtJhCompName.Text = sqldr2J.ToString();txtGoodsID.Text 二 sqldr0.ToStringO; txtGoodsID.Enabled = false;)catch (Exception ee)MessageBox.Show(ee.ToStringO);)private void comboBox 1 _SelectedIndexChanged(
19、object sender, EventArgs e)private void toolAdd_Click(object sender, EventArgs e)ControlStatus();ClearContorl();intFalg = 1;添加标记txtGoodsID.Text = jhMenthod.JhGoodsID();txtGoodsID.Enabled = false;)private void toolAmend_Click(object sender, EventArgs e) ControlStatus();ClearContorl();intFalg = 2;/添加标
20、记)private void toolrefulsh_Click(object sender, EventArgs e) ControlStatus();ClearContorl();private void toolExit_Click(object sender, EventArgs e)(this.Close();)private void toolCancel_Click(object sender, EventArgs e) ControlStatus();ClearContorl();private void toolSave_Click(object sender, EventA
21、rgs e)if (getIntCount() = 1)(if (intFalg = 1)(if (jhMenthod.tb_JhGoodsInfoMenthodAdd(jhGood):=2)(MessageBox.Show(“ 添力口成功提示);intFalg = 0;jhMenthod.tb_JhGoodsInfoFind(nn,5,dataGridViewl);ControlStatus();ClearContorl();)else(MessageBox.Show,添力口失贝攵提示);intFalg = 0;jhMenthod.tb_JhGoodsInfoFind(nn, 5, data
22、GridViewl);ControlStatus();ClearContorl();)if (intFalg = 2)if (jhMenthod.tb_JhGoodsInfoMenthodUpdate(jhGood)= 1)MessageBox.Show(修改成功,”提示);intFalg = 0;jhMenthod.tb_JhGoodsInfoFind(nn, 5, dataGridViewl);ControlStatus();ClearContorl();)else(MessageBox.Show(修改失败“,”提示)intFalg = 0;jhMenthod.tb_JhGoodsInfo
23、Find(nn, 5, dataGridViewl);ControlStatus();ClearContorl();)if (intFalg = 3)(if (jhMenthod.tb_JhGoodsInfoMenthodDelete(jhGood)= I)(MessageBox.Show,删除成功“,”提示)intFalg = 0;jhMenthod.tb_JhGoodsInfoFind(nn, 5, dataGridViewl);Control Status();ClearContorl();elseMessageBox.ShowC 删除失败“,”提示)intFalg = 0;jhMent
24、hod.tb_JhGoodsInfoFind(nn, 5, dataGridViewl);Controls tatus();ClearContorl();)private void dataGridViewl_CellClick(object sender,DataGrid V iewCellE vent Args e)if (intFalg = 2 | intFalg = 3)(FillControls();)private void txtGoodsJhPrice_TextChanged(object sender, EventArgs e)if (txtGoodsNum.Text !=
25、1,n)txtGoodsNeedPrice.Text=Convert.ToString(Convert.ToInt32(txtGoodsJhPrice.Text)Convert.ToInt32(txtGoods Num.Text);private void txtGoodsSellPrice_KeyPress(object sender,KeyPressEventArgs e)if (e.KeyChar != 8 & !char.IsDigit(e.KeyChar)&e.KeyChar!=7)MessageBox.ShowC请输入数字e.Handled = true;)private void
26、 txtGoodsNum_KeyPress(object sender, KeyPressEventArgs e)if (e.KeyChar != 8 & !char.IsDigit(e.KeyChar)MessageBox.Show。请输入数字e.Handled 二 true;private void txtGoodsJhPrice_KeyPress(object sender, KeyPressEventArgse)if (e.KeyChar != 8 & !char.IsDigit(e.KeyChar) & e.KeyChar != 7)MessageBox.Show(请输入数字);e.
27、Handled = true;)private void txtGoodsNoPrice_KeyPress(object sender, KeyPressEventArgs e)(if (e.KeyChar != 8 & !char.IsDigit(e.KeyChar) & e.KeyChar != 7)MessageBox.Show(请输入数字);e.Handled = true;)/供应商信息private void button 1 _Click(object sender, EventArgs e)(frmGonYingShang frmgong = new frmGonYingSha
28、ngO;frmgong.Owner = this;frmgong.ShowDialogO;private void tollDelete_Click(object sender, EventArgs e)ControlStatus();ClearContorl();intFalg = 3;/添加标记附录二:库存查询代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using Sys
29、tem.Windows.Forms;using CHEXC.GoodMenhod;using CHEXC.ClassInfo;namespace CHEXC(public partial class frmKcGoodFind : Formpublic frmKcGoodFind()InitializeComponent(); tb_KcGoodsMenthod tb_GoodMenthd = new tb_KcGoodsMenthod();tb_KcGoods kcgood = new tb_KcGoods();private void button 1 _Click(object send
30、er, EventArgs e) (if (comboBoxl.Text = )(MessageBox.Show(请选择查询条件!); return;)if (txtkey.Text =)(MessageBox.Show(”请输入查询信息”);return;)switch (comboBox 1 .Text)(case ”商品编号“商品编号”:kcgood.strGoodsID = txtkey.Text;tb_GoodMenthd.tb_ThGoodsFind(dataGridView 1,1,kcgood);break;case ”商品名称”:商品名称”kcgood.strKcGoodsN
31、ame 二 txtkey.Text;tb_GoodMenthd.tb_ThGoodsFind(dataGridView 1,2,kcgood);break; 深对数据库基础理论和基本知识的理解,进一步掌握了使用数据库进行软件设计 的基本思想和方法,提高了运用数据库理论解决实际问题的能力,锻炼了实际动 手能力、创新能力,培养了调查研究、查阅技术文献、资料、手册以及编写文档 的能力。二、需求分析系统开发的总体任务是实现各种信息的系统化、规范化和自动化。系统功能 分析是在系统开发的总体任务的基础上完成。本仓库管理系统需要完成功能主要 有:用户登录。实现根据不同用户的权限进行登录,并转到相应权限的操作
32、。用户管理。实现管理人员添加、修改、删除用户;一般用户修改信息等功 能。货物管理。实现管理人员对货物进库、退库的添加、修改、删除等功能。入库与出库管理。实现管理人员对货物进行入库、出库操作,并可查询相 应货物的出入库信息。监控管理。在货物管理中加入最高储备和最低储备字段,对仓库中的产品 实现监控和报警。三、数据库系统设计1 .数据库逻辑设计private void frmKcGoodFind_Load(object sender, EventArgs e)图4.1数据库逻辑结构图2 .数据流图图4.2管理员数据流图图4.3用户数据流图3 .数据库表设计3. 1表汇总也询表名类型说明用户信息表(
33、Emplnfo)基本表集中保存系统中用户的帐号、密码等信息货物信息表(KcGoods)基本式集中存放货物的相关信息销售商信息表(Company)基本表存放销售商的角色)信息入库信息表(JhGoodsInfo)基本表集中存放入库货物的相关信息出库信息表(SellGoods)基本表集中存放出库货物的相关信息退货信息表(ThGoodsInfo)基本表集中存放退货的相关信息3. 2详细表设计用户表:Emplnfo字段类型长度说明约束Empld文本50员工编号主键EmpName文本10角色名称权限EmpLoginName文本50密码EmpSex文本2性别EmpBrithday日期50出生日期EmpDep
34、t文本10所属部门EmpPost文本10职务EmpPhone文本20联系电话EmpPhoneM文本20传真EmpAddress文本20地址EmpRemark文本50备注货物表:KcGoods字段类型长度说明约束GoodsID文本50货物编号主键KcGoodsName文本50货物名称KcNum文本50货物数量KcDeptName文本50存放仓库KcUnit文本50存放单位KcTime文本50存放时间KcRemark文本50备注销售商表:Company字段类型长度说明约束CompanyName文本50公司名称主键CompanyDirect文本10公司负责人CompanyPhone文本10公司电话C
35、ompanyFax文本10公司传真CompanyAddress文本50公司地址Remark文木50备注入库信息表:jhGoodsInfo字段类型长度说明约束GoodsID文本50入库编号主键EmpID文本50进货员工编号GoodsNum文本50入库数量GoodsJhPrice文本50入库单价DoodsNeedPrice文本50入库总值DoodTime日期50入库时间DepotName文本50存入的仓库Remark文本50备注出库信息表:SellGoods字段类型长度说明约束GoodsID文本50出库编号主键EmpID文本50货员工编号SellGoodsNum文本50出库数量Sellprice文
36、本50出库单价SellNeedPrice文本50出库总值SellGoodsTime日期50出库时间SellRemark文本50备注四.程序代码实现1 .系统全部类汇总类名说明frm.cs程序主模块frmCompanyInfo.cs查询修改添加删除销售商信息frmDataBack.cs数据备份frmDataReole.cs数据还原frmEmpInfo.cs查询修改添加删除员工信息frmFindGood.cs查询货物信息frmGonYingShang.cs选择供应商信息frmGoodID.es选择商品名称frmJhGoodsInfo.es进货信息frmKcGoodFind.es选择查询条件frmK
37、cGoods.es查询库存信息及设置警报数量frmLogin.es用户登录frmMain.es程序主界面frmSellGoodInfo.es商品销售信息frmSellGoods.es修改添加删除商品销售信息frmThGoodsInfo.es查询修改添加删除商品销售信息Program.es应用程序的主入口点2 .相关类详细设计2.1 添加入库信息的实现 添加入库信息设计:进入主界面后,点击【进货管理】-【商品进货信息】即可打开添加入库 界面。下面给出完成添加功能的关键代码:public partial class frmJhGoodsInfo : Formpublic frmJhGoodsInf
38、o()InitializeComponent();public frmJhGoodsInfo(int intCdo)InitializeComponent();tbJhGoodsInfo jhGood=new tbJhGoodsInfo();tb JhGoodsInfoMenthod jhMenthod=new tb JhGoodsInfoMenthod();public static int intFalg = 0;private void Controlstatus()this.toolSave. Enabled = !this.toolSave. Enabled;this.toolAdd
39、. Enabled = !this.toolAdd. Enabled;this. toolCancel. Enabled = !this. toolCancel. Enabled;this. toolAmend. Enabled =!this. toolAmend. Enabled;this. tollDelete. Enabled =!this. tollDelete. Enabled;)2.2 库存查询类的实现库存查询界面:进入主界面后,选择【库存管理】一【库存查询】即可进入入库信息的查询 界面。本系统共提供两种查询方式,分别是商品编号查询、商品名称查询查询,选 择任意一种查询方式并输入要
40、查询的值,点击【查询】按钮,系统会根据输入的 查询值以及选取的查询方式在数据库中进行检索,并将查询结果显示在界面下方 的空白区域。完成库存查询功能的核心代码:namespace CHEXC(public partial class frmKcGoodFind : Formpublic frmKcGoodFind()(InitializeComponent();tbKcGoodsMenthod tbGoodMenthd 二 new tbKcGoodsMenthod();tbKcGoods kcgood = new tb_KcGoods();private void buttonl_Click(object sender, EventArgs e) if (comboBoxl. Text = )(MessageBox. Show (请选择查询条件! );return;