




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、仓库管理系统毕业论文 目录第一章 系统概述 . 11.1仓库管理信息系统的特点 . 11.2系统功能与应用背景 . 21.3系统预览 . 2第二章 系统设计 . 32.1系统设计思想 . 32.2 系统功能模块设计 . 32.3 数据库设计 . 4第三章 登录界面与模块设计 . 73.1 登录界面设计 . 73.2 用户模块设计 . 83.3 系统模块设计 . 9第四章 物资信息管理 . 124.1 添加物资信息 . 124.2浏览物资信息 . 134.3 修改物资信息 . 154.4 查询物资信息 . 16第五章 入库信息管理 . 185.1 添加入库信息 . 185.2 浏览如信息 . 2
2、0 5.3 修改入库信息 . 225.4 查询入库信息 . 23第六章 出库信息管理 . 246.1 添加出出库信息 . 246.2 浏览出库信息 . 276.3 修改出库信息 . 286.4 查询出库信息 . 30第七章 库存信息管理 . 317.1 浏览库存信息 . 317.2 查询库存信息 . 32 第一章 系统概述1.1仓库管理信息系统的特点本仓库管理信息系统具有一下特点:实现仓库物资的入库、出库、查询等操作;实现用户权限管理提高系统安全性;界面设计简单、操作方便;本系统后台数据库采用Microsoft Access,前台采用Visual C#作为主要开发工具。采用ADO技术链接数据库
3、,完成数据库的一系列操作。本系统按照面向对象的思想,进行程序开发,程序设计调理清楚。11.2系统功能与应用背景仓库关系系统在企业的整个管理过程中起着至关重要的作用,如果不能保证正确的进货、库存控制及发货,将会导致管理费用的增加,服务质量也难以得到保证,从而影响企业的竞争力。仓库管理涉及计划、物料平衡、采购、入库、出库、库存等业务,这些业务涉及大量的数据和信息,而且对这些数据和信息的准确性、及时性都要求非常高,任何错误和遗漏都会造成公司的损失,若采用纯人工的方法进行管理有一定的难道。因此,采用计算机技术实现仓库管理,是提高公司管理水平的有效方法。仓库管理信息系统能够提高仓库管理的质量和效率,降低
4、仓库管理信息系统的成本,以合理库存量控制库存和采购。其功能包括采购申请、物品收发与报废、库存管理、往来单位、部门及人员管理等。本仓库管理信息系统完成的主要功能有: 权限控制; 仓库物资信息设置; 入库管理; 出库管理; 库存管理;不同的单位有不同的需求,本系统大体上能瞒住一下几方面的需求: 用户的信息需求:随时查询库存状况,进行库存物资汇总,对库存数据能够随时进行删除、插入及恢复操作; 用户的处理需求:能随时添加、删除、修改每一条库存记录。1.3系统预览图1-1为仓库管理信息系统的登录界面。输入图用户名和密码(默认的用户名和密码分别是admin和admin),单击【确定】按钮,进入程序主界面,
5、如图1-2所示。 图1-1 仓库管理信息系统登录界面2 图1-2 程序主界面 第二章 系统设计2.1系统设计思想本系统只要完成对仓库的库存管理,包括入库、出库、库存以及密码管理等几个方面,系统可以完成各类信息的浏览、查询、添加、删除、修改等操作。系统的核心是入库、库存和出库之间的关系,每个数据库表的修改都将影响到其他的表,当完成入库或出库操作时,库存信息会自动修改。2.2 系统功能模块设计根据系统的设计思想,本系统完成的主要功能有:库存物资基本信息、物资入库信息和物资出库信息的输入、查询、修改,以及库存余额信息的查询等。因此系统由物资信息设置、入库管理、出库管理和库存管理等模块。1. 物资信息
6、设置模块可以删除、添加、修改和查询物资的基本信息。2. 入库管理模块可以删除、添加、修改和查询物资的入库信息。3. 出库管理模块可以删除、添加、修改和查询物资的出库信息。4. 库存管理模块可以浏览、查询物资的库存信息仓库管理信息系统的系统功能结构如图2-1所示。32-1 系统功能结构图分析各模块功能,可以得出本系统的数据流程图如图2-2所示。 图2-2 系统数据流程图2.3 数据库设计根据仓库管理信息系统的功能要求和数据和流程分析,该系统的数据库命名为StoreMIS,数据库中包括:用户信息表(userinfo);物资基本信息表(materialinfo);入库信息表(ininfo);出库信息
7、表(outinfo);t=sql; dr=cmd.ExecuteReader(); dr.Read(); main.menuItem1.Visible=(bool)(dr.GetValue(1); main.menuItem4.Visible=(bool)(dr.GetValue(2); main.menuItem5.Visible=(bool)(dr.GetValue(3); main.menuItem6.Visible=(bool)(dr.GetValue(4); if(name.Text.Trim()=""|password.Text.Trim()=&
8、amp;quot;") sqlConnection1.Open(); OleDbCommand cmd=new OleDbCommand("",sqlConnection1); string sql="select RoleName from userinfo where UID="+name.Text.Trim()+" and cmd.CommandText=sql; string rolename; MessageBox.Show("请输入用户名和密码&qu
9、ot;,"提示"); else PWD="+password.Text.Trim()+""7 else MessageBox.Show("用户名或密码错误","警告"); sqlConnection1.Close(); main.statusBarPanel5.Text=name.Text.Trim(); main.ShowDialog();3.2 用户模块设计在主界面中选择【用户管理】|【修改密码】命令菜单,即可进入修改密码界面如图
10、3-1所示。在该界面中用户可以修改自己的密码,修改密码的代码如程序-2所示,单击【用户管理】|【重新登录】命令即可退出当前用户,进入登录界面重新登录,代码如程序-3所示。 图3-1 修改密码界面程序-2 修改密码的代码 private void btSave_Click(object sender, System.EventArgs e) if(textName.Text.Trim()=""|textPWD.Text.Trim()=""|textPWDNew.Text.Trim()=""
11、|textPWDNew2.Text.Trim()="") if (null!=cmd.ExecuteScalar() if (textPWDNew.Text.Trim()!=textPWDNew2.Text.Trim() 8 oleConnection1.Open(); OleDbCommand cmd = new OleDbCommand("",oleConnection1); string sql = "select * from userinfo where UID="+textN
12、ame.Text.Trim()+" and cmd.CommandText = sql; MessageBox.Show("请填写完整信息!","提示"); else PWD="+textPWD.Text.Trim()+"" else MessageBox.Show("密码错误!","提示"); oleConnection1.Close(); string sql1 = &
13、quot;update userinfo set PWD="+textPWDNew.Text.Trim()+" cmd.CommandText = sql1; cmd.ExecuteNonQuery(); MessageBox.Show("密码修改成功!","提示"); this.Close(); MessageBox.Show("两次密码输入不一致!","警告"); else where UID="
14、;+textName.Text.Trim()+""程序-3 用户重新登录代码private void menuItem24_Click(object sender, System.EventArgs e) (System.Windows.Forms.Form)this.Tag).Visible=true; this.Close();3.3 系统模块设计在主界面中选择【系统管理】|【添加用户】命令菜单,即可进入添加用户界面,如图3-2所示。 图3-2 添加用户界面在该界面中需要把数据库中的数据和ComboBox空间绑定,这样用户就可以设置用户名和密码,并选择角
15、色。代码如程序-4所示。程序-4 添加用户的代码9 private void btAdd_Click(object sender, System.EventArgs e) if(textName.Text.Trim()=""|textPassword.Text.Trim()=""|textPWDNew.Text.Trim()=""|comRole.Text.Trim()="") private void AddUser_Load(object send
16、er, System.EventArgs e) /数据绑定 DataSet ds = new DataSet(); OleDbDataAdapter adp = new OleDbDataAdapter("",sqlConnection1); if (null = cmd.ExecuteScalar() else MessageBox.Show("用户名"+textName.Text.Trim()+"已经存在!","提示"); sqlConnectio
17、n1.Close(); string sql1 = "insert into userinfo (UID,PWD,RoleName) "+ "values else if (textPassword.Text.Trim()!=textPWDNew.Text.Trim() else sqlConnection1.Open(); OleDbCommand cmd = new OleDbCommand("",sqlConnection1); string sql = "select * fro
18、m userinfo where UID = cmd.CommandText = sql; MessageBox.Show("两次密码输入不一致!","警告"); MessageBox.Show("请输入完整信息!","警告"); "+textName.Text.Trim()+"" ("+textName.Text.Trim()+","+text
19、PWDNew.Text.Trim()+","+comRole.Text.Trim()+")" cmd.CommandText = sql1; cmd.ExecuteNonQuery(); MessageBox.Show("添加用户成功!","提示"); this.Close();10 adp.SelectCommand.CommandText = "select RoleName from roles" adp.Fi
20、ll(ds); comRole.DataSource=ds.Tables0.DefaultView; comRole.DisplayMember="RoleName" comRole.ValueMember="RoleName"选择【系统管理】|【新建角色】命令菜单,即可进入新建角色界面,如图3-3所示。 图3-3 新建角色界面在该界面中,用户可以设置角色名称,并为每个角色选择权限,根据权限的不同,用户可以进入的界面也会不同。代码如程序-5所示。程序-5 新建角色的代码 private void btAdd_Click(o
21、bject sender, System.EventArgs e) sqlConnection1.Open(); OleDbCommand cmd = new OleDbCommand("",sqlConnection1); if (textRole.Text.Trim()!="") string sql = "select * from roles where RoleName = "+textRole.Text.Trim()+"" cmd.Comm
22、andText = sql; if (null = cmd.ExecuteScalar() string sql1 = "insert into roles values ""+ckIn.Checked+","+ckOut.Checked+")" private void btClose_Click(object sender, System.EventArgs e) this.Close(); ("+textRole.Text.Trim()+&
23、;quot;,"+ckSys.Checked+","+ckMate.Checked+","+11 else MessageBox.Show("角色名称不能为空!","警告"); sqlConnection1.Close(); else MessageBox.Show("角色名称重复!","警告"); cmd.CommandText = sql1; cmd.Exec
24、uteNonQuery(); MessageBox.Show("新建角色成功!","提示");第四章 物资信息管理4.1 添加物资信息在主界面中选择【物资信息管理】|【添加物资信息】命令菜单即可进入添加物资信息界面,如图4-1所示。 图4-1 添加物资信息界面在这个界面完成物资信息录入的过程中,需要解决的问题包括:物资信息标号不能为空字符串,新添加的物资编号不能与已有的物资编号重复,否则会给出警告提示。单击【确定】按钮,就把填写的数据保存到相应的数据库表中,代码如程序-6所示。程序-6 物资信息添加的代码 private
25、void btAdd_Click(object sender, System.EventArgs e) 12 private void btClose_Click(object sender, System.EventArgs e) this.Close(); if (null = oleCommand1.ExecuteScalar() else MessageBox.Show("物资编号"+textID.Text.Trim()+"已经存在!","警告"); oleConnection1
26、.Close(); oleCommand1.CommandText=sql1; oleCommand1.ExecuteNonQuery(); MessageBox.Show("添加物资信息成功!","提示"); string sql1 = "insert into materialinfo values if (textID.Text.Trim()="") MessageBox.Show("请输入物资编号!","提示
27、"); oleConnection1.Open(); string sql = "select * from materialinfo where MID = "+textID.Text.Trim()+"" this.oleCommand1.CommandText = sql; else ("+textID.Text.Trim()+","+textName.Text.Trim()+","+ "&am
28、p;quot;+textModel.Text.Trim()+","+textType.Text.Trim()+","+textUnit.Text.Trim()+")"4.2浏览物资信息在主界面中选择【物资信息管理】|【浏览物资信息】命令菜单,即可进入浏览物资信息界面,如图4-2所示。13 图4-2 浏览物资信息界面在这个界面中主要设置一个DataGrid控件,该控件所提供的数据绑定功能可用于显示程序中所检索出的数据集,该界面中显示的是物资信息,数据绑定的代码如程序-7所示。程序-7 浏览
29、物资信息的代码 private void Material_Load(object sender, System.EventArgs e) oleConnection1.Open(); string sql = "select MID as 物资编号,MName as 物资名称,MModel as 物资型号,Mtype as OleDbDataAdapter adp = new OleDbDataAdapter(sql,oleConnection1); ds = new DataSet(); ds.Clear(); adp.Fill(ds,"material
30、"); dataGrid1.DataSource=ds.Tables0.DefaultView; dataGrid1.CaptionText="共有"+ds.Tables0.Rows.Count+"条记录" oleConnection1.Close(); 类型,MUnit as 单位from materialinfo"在这个界面中还包括3个Button控件,分别是【修改】、【删除】、【退出】。删除某条信息之前,还必须要考虑该信息相关的其他信息是否存在,如果没有则可直接删除,钩子未来数据的
31、完整性,则不允许直接该条信息。【删除】按钮的处理代码可参考程序-8.程序-8 【删除】按钮的处理代码 private void btDel_Click(object sender, System.EventArgs e) if (dataGrid1.CurrentRowIndex>=0 && dataGrid1.DataSource!=null && string sql ="select * from ininfo where dataGrid1dataGrid1.CurrentCell!=nul
32、l)14MID="+ds.Tables"material".RowsdataGrid1.CurrentCell.RowNumber0.ToString().Trim()+"" OleDbCommand cmd = new OleDbCommand(sql,oleConnection1); OleDbDataReader dr; dr = cmd.ExecuteReader(); if (dr.Read() MessageBox.Show("删除物资"+ds.Tables
33、"material".RowsdataGrid1.CurrentCell.RowNumber1.ToString().Trim()+"失败,请先删除该物资入库信息!","提示"); else dr.Close(); string sql1="delete * from materialinfo where MID = cmd.CommandText = sql1; cmd.ExecuteNonQuery(); MessageBox.Show("删除物资
34、dr.Close(); "+ds.Tables"material".RowsdataGrid1.CurrentCell.RowNumber0.ToString().Trim()+"""+ds.Tables"material".RowsdataGrid1.CurrentCell.RowNumber1.ToString().Trim()+"成功!","提示"); else Messag
35、eBox.Show("没有指定物资信息!","提示"); 4.3 修改物资信息在物资信息浏览界面中,单击【修改】按钮,进入修改物资信息界面,如图4-3所示。15 图4-3 修改物资信息界面对用户选中的物资信息进行修改时,需要从物资信息浏览界面中将所选中的物资信息的参数传递到物资信息修改界面中,作为物资信息修改界面的初始化数据,该部分代码如程序-9所示。在物资修改界面中,物资编号为只读,其他属性都是可以修改的。修改完后,单击【确定】按钮,把修改的数据更新到数据库相应的字段中。【确定】按钮的处理代码可参考程序-10.程序-9
36、数据绑定传递的代码 程序-10 【确定】按钮的处理代码 private void btAdd_Click(object sender, System.EventArgs e) oleConnection1.Open(); string sql = "update materialinfo set "MType="+textType.Text.Trim()+",MUnit="+textUnit.Text.Trim()+" where MName="+textName.Te
37、xt.Trim()+",MModel="+textModel.Text.Trim()+","+ MID="+textID.Text.Trim()+"" oleCommand1.CommandText = sql; oleCommand1.ExecuteNonQuery(); MessageBox.Show("修改信息成功!","提示"); this.Close(); oleConnection1.C
38、lose(); 4.4 查询物资信息在主界面中选择【物资信息管理】|【查询物资信息】命令菜单,即可进入查询物资信息界面,如图4-4所示。16 4-4 查询物资信息界面 在该界面中,共有3个查询条件:物资编号、物资名称和物资型号。可以根据任意一个条件进行查询,也可以根据物资名称和物资型号两个条件进行查询。查询功能的代码可以参考程序-11。程序-11 查询功能的代码private void btQuery_Click(object sender, System.EventArgs e)bool flag =true;string sql = "select MID as 物资编号
39、,MName as 物资名称,MModel as 物资型号,Mtype as 类型,MUnit as 单位"+"from materialinfo where "if(textID.Text.Trim()=""&&textName.Text.Trim()=""&&textModel.Text.Trim()="") MessageBox.Show("请输入
40、查询条件!","警告");return;else if (textID.Text.Trim() != "")sql = sql+"MID= "+""+textID.Text.Trim()+""elseif (textName.Text.Trim() != "")sql = sql+"MName= "+"&
41、;quot;+textName.Text+""flag = false;if (textModel.Text.Trim() != "")if (flag)sql = sql+"MModel= "+""+textModel.Text+""17 else sql = sql+" and MModel= "+""+textModel.Text+&
42、;quot;" oleConnection1.Open(); OleDbDataAdapter adp = new OleDbDataAdapter(sql,oleConnection1); DataSet ds = new DataSet(); ds.Clear(); adp.Fill(ds,"material"); dataGrid1.DataSource=ds.Tables0.DefaultView; dataGrid1.CaptionText="共有"+ds.Tables0.Rows.Count+
43、"条查询记录" oleConnection1.Close(); 第五章 入库信息管理5.1 添加入库信息在主界面中选择【入库信息管理】|【添加入库信息】命令菜单。即可进入添加入库信息界面,如图4-5所示、 图 5.1 添加入库信息界面这个界面分为两个部分:物资信息和入库信息。物资信息是从物资信息表中得到,把物资编号与ComboBox控件绑定,然后通过选择物资编号来确定物资信息, 18并把它们显示到相应的TextBox控件中。该部分的代码参考程序-12。在入库信息部分,把相应的数据填写完整,单击【确定】按钮,把物资信息和入库信息保存到入库信息表中。该部分的代码
44、参考程序-13. 程序-12 物资信息显示的代码 private void InAdd_Load(object sender, System.EventArgs e) DataSet ds = new DataSet(); OleDbDataAdapter adp = new OleDbDataAdapter("",oleConnection1); adp.SelectCommand.CommandText = "select MID from materialinfo" adp.Fill(ds); comMID.Data
45、Source=ds.Tables0.DefaultView; comMID.DisplayMember = "MID" comMID.ValueMember = "MID"private void comMID_SelectedIndexChanged(object sender, System.EventArgs e) DataSet ds = new DataSet();OleDbDataAdapter adp = new OleDbDataAdapter("",oleConnect
46、ion1); string sql = "select * from materialinfo whereMID="+comMID.Text.Trim()+""adp.SelectCommand.CommandText = sql;adp.Fill(ds);this.textName.Text = ds.Tables0.Rows01.ToString().Trim(); this.textModel.Text = ds.Tables0.Rows02.ToString().Trim(); this.textType.Text
47、 = ds.Tables0.Rows03.ToString().Trim(); this.textUnit.Text = ds.Tables0.Rows04.ToString().Trim(); 程序-13 【确定】按钮的代码private void btAdd_Click(object sender, System.EventArgs e)if (comMID.Text.Trim()="")MessageBox.Show("请填写物资编号!","提示");elseoleConnecti
48、on1.Open();string sql = "select * from ininfo whereMID="+comMID.Text.Trim()+""this.oleCommand1.CommandText = sql; if (null = oleCommand1.ExecuteScalar()19string sql1 = "insert into ininfo(MID,InAccount,InPrice,InValue,InDate,InDealer,InSaver,InStore,Remar
49、k) values "+"("+comMID.Text.Trim()+","+textAccount.Text.Trim()+","+ ""+textPrice.Text.Trim()+","+textValue.Text.Trim()+","+date1.Text.Trim()+","+textDealer.Text.Trim
50、()+","+ ""+textSaver.Text.Trim()+","+textStore.Text.Trim()+","+textRemark.Text.Trim()+")"oleCommand1.CommandText=sql1;oleCommand1.ExecuteNonQuery();MessageBox.Show("添加入库信息成功!","提示&
51、;quot;);this.Close();elseMessageBox.Show("物资编号"+comMID.Text.Trim()+"已经存在!","警告");oleConnection1.Close();5.2 浏览如信息在主界面中选择【入库信息管理】|【浏览入库信息】命令菜单,即可进入入库信息浏览界面,如图5-2所示。 图 5-2 入库信息界面20在这个界面中有一个DataGrid控件,该控件所提供的数据绑定功能可用于显示程序中检索出的数据集,在该界面中显示的是入库信息,数据绑定的
52、代码如程序-14所示。程序-14 数据绑定的代码DataSet ds;private void In_Load(object sender, System.EventArgs e)oleConnection1.Open();string sql ="select MName as 物资名称,MModel as 物资型号,Mtype as 类型,MUnit as 单位,InAccount as 数量,"+"InPrice as 单价,InValue as 金额,InDate as 入库时间,InDealer as 经办人,InSaver as
53、 保管人,InStore as 仓库,Remark as 备注,"+"ininfo.MID as 物资编号,InID as 入库编号from materialinfo,ininfo where materialinfo.MID = ininfo.MID"OleDbDataAdapter adp = new OleDbDataAdapter(sql,oleConnection1); ds=new DataSet();ds.Clear();adp.Fill(ds,"in");dataGrid1.DataSou
54、rce=ds.Tables0.DefaultView;dataGrid1.CaptionText="共有"+ds.Tables0.Rows.Count+"条记录" oleConnection1.Close();在这个界面中还包括三个Button控件,分别是【修改】、【删除】、【退出】。删除某条信息之前,还必须考虑该信息相关的信息是否存在,如果没有,则可直接删除掉,否则未来数据的完整性,则不允许直接删除该条信息。【删除】按钮的处理代码可参考程序-15.程序-15 【删除】按钮的处理代码private void btDel_C
55、lick(object sender, System.EventArgs e)if (dataGrid1.CurrentRowIndex>=0 && dataGrid1.DataSource != null && dataGrid1dataGrid1.CurrentCell != null)string sql="delete * from ininfo whereInID="+ds.Tables"in".RowsdataGrid1.Curren
56、tCell.RowNumber13.ToString().Trim()+""oleConnection1.Open();oleCommand1.CommandText = sql;oleCommand1.ExecuteNonQuery();MessageBox.Show("删除进货"+ds.Tables"in".RowsdataGrid1.CurrentCell.RowNumber0.ToString().Trim()+"成功","提示");oleConnection1.Close();else21 MessageBox.Show("没有指定进货信息!","提示"); 5.3 修改入库信息在入库信息浏览界面中,单击【修改】按钮,进入修改入库信息界面,如图5-3所示。 图 5-3 修改入库信息界面在该界面中物资信息为只读,修改的只是入库信息部分的数据。对用户中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 半导体引线框架研发与市场推广合作协议
- 紧急救援私人飞机航线申请与保障合同
- 国际艺术品物流保险及风险防控合同
- 股权激励合同模板:核心员工激励方案
- 先进工业模具技术升级合同补充条款
- 豪华游艇卫星电话租赁及全球语音数据传输合同
- 规范中小学校园设置管理
- Part5 Unit2 Health and Fitness 课件-【中职专用】高一英语(高教版2021基础模块2)(2023修订版)
- 妇科护理病历讨论
- 门球培训班宣传
- 湖南省长沙市师范大学附属中学2025届高三下学期模拟试卷二地理试题 含解析
- 产后康复培训课件
- 2025年中考历史总复习《中国历史》七年级上册全册重点知识复习梳理(全册)
- 足疗店装修施工合同协议
- 装饰布展项目合同协议
- 《骨膜下注射技术》课件
- 建筑垃圾清运服务方案投标文件(技术方案)
- 2025-2030中国前列腺癌筛查行业市场发展趋势与前景展望战略研究报告
- 社保知识视频课件
- JJG 134-2023 磁电式速度传感器检定规程
- (高清版)TDT 1055-2019 第三次全国国土调查技术规程
评论
0/150
提交评论