仓库库存管理实验报告.docx
《仓库库存管理实验报告.docx》由会员分享,可在线阅读,更多相关《仓库库存管理实验报告.docx(25页珍藏版)》请在冰豆网上搜索。
![仓库库存管理实验报告.docx](https://file1.bdocx.com/fileroot1/2022-11/25/e5b7edec-7464-4ded-b240-327f316b793b/e5b7edec-7464-4ded-b240-327f316b793b1.gif)
仓库库存管理实验报告
武夷学院
课程设计报告
课程名称:
数据库原理与SQL2005应用教程
设计题目:
仓库库存管理系统
学生班级:
学生姓名:
指导教师:
完成日期:
2011.7.1
数学与计算机系
目录
摘要2
关键词2
第一章前言2
第二章项目简介3
1.项目名称3
2.开发人员4
3.指导教师4
4运行环境4
第三章课程设计任务分配表4
第四章数据库设计5
1需求分析5
1.1功能需求5
1.2用户需求5
2概念结构设计6
2.1库存零件实体E-R图6
2.2入库实体E-R图6
2.3出库实体E-R图6
2.4工作人员实体E-R图7
2.5客户实体E-R图7
2.6系统E-R图8
3逻辑结构设计8
4物理结构设计9
5数据库实施、数据库运行和维护11
6运行结果12
6.1仓库管理系统的登陆界面12
6.2仓库管理系统的主界面12
6.3仓库管理系统功能界面13
7源程序16
7.1出货单查询16
7.2出货单输入18
7.3出货单删除22
8课程设计项目进度表23
9附录24
10设计心得24
11参考文献25
摘要
本论文主要介绍了仓储管理的开发背景,探讨了数据库的功能特点,做出了系统需求分析并在完成数据库设计的基础上进行程序开发和以及系统的运行。
本系统主要完成对仓库的库存管理,包括产品库存查询、进货单输入、进货单查询、出货单输入、出货单查询等几个方面,并通过各个表单的操作来调动数据库系统以完成对各类信息的浏览、查询、添加、删除等功能。
关键词
数据库系统(DBMS) 数据库(DB)SQL仓库管理
第一章前言
仓库管理系统是现代仓储企业进行货物管理和处理的业务操作系统。
它可以实现本地一个或几个仓库的精细化管理,也可实现制造企业、物流企业、连锁业在全国范围内、异地多点仓库的管理;它可以对货物存储和出货等进行动态安排,可以对仓储作业流程的全过程进行电子化操作;可以与客服中心建立数据接口使客户通过互联网实现远程货物管理,可以与企业的ERP系统实现无缝连接。
在现代企业中,仓库管理是一项繁琐复杂的工作,每天要处理大量的单据数据。
为及时结清每笔业务,盘点库存和货物流动情况,保证企业生产用料以及货物安全,库管人员要花费大量人力物力和时间来作数据记录统计工作。
本系统正是根据仓库管理的专业特点而开发的,用现代电子技术提高库管工作的质量和效率。
适用于小型企业库管以及储运业务,界面直观,操作简便,运用鼠标,在窗口的不同部位单击左健,双击左健,单击右健,系统会弹出相应窗口,供使用者录入和查询统计。
在计算机飞速发展的今天,将计算机这一信息处理利器应用于仓库的日常管理已是势必所然,而且这也将为仓库管理带来前所未有的改变,它可以带来意想不到的效益,同时也会为企业的飞速发展提供无限潜力。
采用计算机管理信息系统已成为仓库管理科学化和现代化的重要标志,它给企业管理来了明显的经济效益和社会效益。
主要体现在:
极大提高了仓库工作人员的工作效率,大大减少了以往入出存流程繁琐,杂乱,周期长的弊端。
基于仓库管理的全面自动化,可以减少入库管理,出库管理及库存管理中的漏洞,可以节约不少管理开支,增加企业收入。
仓库的管理的操作自动化和信息的电子化,全面提高了仓库的管理水平。
随着我国改革开放的不断深入,经济飞速的发展,企业要想生存,发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的,仓库管理的全面自动化,信息化则是其中极其重要的部分。
为了加快仓库管理自动化的步伐,提高仓库的管理业务处理效率,建立仓库管理系统已变得十分心要。
入库,库存,出库还是现在企业仓库管理的常规基本模式,虽然最近又出现了很多新的管理模式,如:
基于零库存思想的沃尔玛特管理方式,但这些新的思想在中国大部
分企业的管理中还是难以实现的。
所以如何设计好仓库管理系统,尽可能地减少仓库管理的重复性和低效性就成为当前最为重要的问题是仓库管理的核心是入库,库存和出库之间的联系,如何处理好三者之间的关系是系统最为关键的部分。
另外,设备在库信息和设备更新的管理也是仓库管理中一个必不可少的部分,它提供着与入库和出库相关的地一些信息,使得整个系统更加完整,更加实用。
通过对仓库管理日常工作的详细调查,搜集了大量的资料,从系统结构的组织,功能的实现,技术的要求以及可行性等多方面进行考虑,认为本课题是一个适应现今仓库管理需求的计算机信息管理系统,具有一定的实际开发价值和使用价值。
第二章项目简介
1.项目名称
仓库库存管理系统
2.开发人员
09计科
(1)班吴婷燕郑基源郭威
3.指导教师
黄风
4运行环境
系统开发平台:
MicrosoftVisualStudio2008。
系统开发语言:
C++。
数据库管理系统:
MicrosoftACESS。
运行平台:
WindowsXP(SP2)。
运行环境:
MicrosoftVisualStudio2008。
第三章课程设计任务分配表
成员
座号
项目内容
序号
吴婷燕
30号
需求分析,进货单查询设计,删除进货和出货记录,写实验报告,对数据库进行优化
01
郑基源
21号
需求分析,出货单查询设计,登录界面设计,新进产品输入设计,对数据库进行优化
02
郭威
20号
需求分析,出货单输入,登录界面设计,写实验报告,对数据库进行优化
03
第四章数据库设计
1需求分析
1.1功能需求
(1)系统功能包括:
产品进货登记、产品出货登记、确认进货单输入查询、库存零件查询、出货单输出查询、新产品登记管理.
(2)用户功能包括:
查询库内信息、查询出库信息、查询入库信息。
1.2用户需求
根据用户需求,该系统应该实现以下功能:
(1)进、出库管理。
对进、出库信息进行记录。
(2)查询功能。
仓库管理对查询要求高,根据用户的账号和密码,进入主菜单,通过主菜单记录当前操作用户的用户编号,保证了对进、出库信息录入负责人的确认。
(3)可以查询某一个工作人员某一段时间共进货和出货多少产品,当有新产品入库时,可以查看有哪些新进产品。
(4)应用计算机管理后,由于计算机能存贮大量的数据,而且数据只要一次存入,便可多次重复使用,所以管理数据达到完整,统一,原始记录能保证及时,准确。
(5)应用计算机管理后,许多重复性的工作,都可由计算机去执行,从而使管理人员从事务性工作解脱出来,真正变为从事一些信息的分析,判断,决策等创造性的工作。
2概念结构设计
2.1库存零件实体E-R图
2.2入库实体E-R图
2.3出库实体E-R图
2.4工作人员实体E-R图
2.5客户实体E-R图
2.6系统E-R图
3逻辑结构设计
将E-R图转换为关系模型,关系的主码用下划线划出:
工作人员表(人员编号,姓名,性别,出生日期,职务)
客户(客户编号,客户名称,城市)
库存零件(零件编号,零件名称,数量,颜色,重量)
进货单(进货单编号,进货时间,人员编号,客户编号,零件编号)
出货单(出货单编号,出货时间,人员编号,客户编号,零件编号)
4物理结构设计
4.1客户表
列名
数据类型
可否为空
默认值
说明
客户编号
Char(10)
Nutnull
无
每个客户的编号(主键)
客户名称
Char(20)
Nutnull
无
客户名称
城市
Char(10)
null
无
客户所在的城市
4.2库存零件表
列名
数据类型
可否为空
默认值
说明
零件编号
Char(10)
Nutnull
无
每个零件的编号(主键)
零件名称
Char(20)
Nutnull
无
零件名称
数量
Int
Nutnull
0
零件存货数量
颜色
Char(10)
Null
无
零件颜色
重量
int
null
无
零件重量
4.3进货单表
列名
数据类型
可否为空
默认值
说明
进货单号
Char(10)
Nutnull
无
每个进货单的编号(主键)
进货时间
Smalldatetime
Nutnull
无
进货单进货的时间
零件编号
Char(10)
Nutnull
无
进货的零件编号
客户编号
Char(10)
Nutnull
无
进货的供货客户编号
客户编号
Char(10)
Nutnull
无
进货单填写的人员的编号
数量
Char(10)
Nutnull
无
零件数量
4.4出货单表
列名
数据类型
可否为空
默认值
说明
出货单编号
Char(10)
Nutnull
无
每个出货单的编号(主键)
出货时间
Smalldatetime
Nutnull
无
出货单出货的时间
零件编号
Char(10)
Nutnull
无
出货的零件编号
客户编号
Char(10)
Nutnull
无
出货的提货客户编号
人员编号
Char(10)
Nutnull
无
出货单填写人员的编号
数量
int
Nutnull
无
零件的数量
4.5工作人员表
列名
数据类型
可否为空
默认值
说明
人员编号
Char(10)
Nutnull
无
每个人员的编号(主键)
姓名
Char(6)
Nutnull
无
人员的姓名
性别
Char
(2)
Nutnull
无
人员的性别
出生日期
Smalldatetime
Nutnull
无
人员的出生日期
职位
Char(10)
Nutnull
无
人员的职位
5数据库实施、数据库运行和维护
在SQL2005中创建表成功后,向表中添加数据,将各种记录添加到各个表中.
6运行结果
6.1仓库管理系统的登陆界面
系统登录窗口功能:
运行本系统的登录模块,用户只需输入用户名和密码,单击“登入”按钮进行验证。
其界面设计如下所示:
6.2仓库管理系统的主界面
程序启动后,系统在“登陆界面”验证用户以及密码后,将进入此界面。
系统主界面主要功能:
通过菜单功能可以简洁明了的对系统管理,设备库存信息,设备入库,出库,还库以及设备需求,并可查询相应的信息。
可通过鼠标点击进入相应子界面。
则系统设计的主界面如下图所示:
6.3仓库管理系统功能界面
6.3.1进货单删除
6.3.2进货单输入
6.3.3进货单查询
6.3.4产品库存查询
6.3.5出货单输入
6.3.6出货单查询
6.3.7出货单删除
7源程序
7.1出货单查询
usingSystem;
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
publicpartialclassCHDCX:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
stringmyConnStr="datasource=127.0.0.1;database=仓库库存管理系统;userid=w;password=w";
//设置要执行的SQL命令
SqlConnectionmyConn=newSqlConnection(myConnStr);
stringsql="select*from出货单表where出货单编号like'%"+this.TextBox1.Text+"%'";
SqlCommandmyComm=newSqlCommand(sql,myConn);
myConn.Open();
SqlDataReadermyReader=myComm.ExecuteReader();
//设置返回查询结果的表变量
DataTabledt=newDataTable();
dt.Columns.Add(newDataColumn("出货单编号",typeof(string)));
dt.Columns.Add(newDataColumn("出货时间",typeof(string)));
dt.Columns.Add(newDataColumn("零件编号",typeof(string)));
dt.Columns.Add(newDataColumn("客户编号",typeof(string)));
dt.Columns.Add(newDataColumn("人员编号",typeof(string)));
dt.Columns.Add(newDataColumn("数量",typeof(string)));
//读查询的结果并放入表中
while(myReader.Read())
{
DataRowdr=dt.NewRow();
dr[0]=myReader.GetValue(0).ToString();
dr[1]=myReader.GetValue
(1).ToString();
dr[2]=myReader.GetValue
(2).ToString();
dr[3]=myReader.GetValue(3).ToString();
dr[4]=myReader.GetValue(4).ToString();
dr[5]=myReader.GetValue(5).ToString();
dt.Rows.Add(dr);
}
//关闭数据库连接
myConn.Close();
//将查询结果显示到表格控件
this.GridView1.DataSource=newDataView(dt);
this.GridView1.DataBind();
}
}
7.2出货单输入
usingSystem;
usingSystem.Collections;
usingSystem.Configuration;
usingSystem.Data;
//usingSystem.Linq;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.HtmlControls;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
//usingSystem.Xml.Linq;
usingSystem.Data.SqlClient;
publicpartialclassCHDSR:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
stringmyConnStr="datasource=127.0.0.1;database=仓库库存管理系统;userid=w;password=w";
SqlConnectionmyConn=newSqlConnection(myConnStr);
stringsql="selectmax(出货单编号)from出货单表";
SqlCommandmyComm=newSqlCommand(sql,myConn);
myConn.Open();
intmaxNum=Convert.ToInt32(myComm.ExecuteScalar())+1;
this.TextBox1.Text=maxNum.ToString();
//设置要执行的SQL命令
//取出所有零件编号并设置到控件
sql="select零件编号from库存零件表";
myComm=newSqlCommand(sql,myConn);
SqlDataReadermyReader=myComm.ExecuteReader();
if(string.Equals(DropDownList1.Text.Trim(),""))
{
while(myReader.Read())
this.DropDownList1.Items.Add(myReader.GetValue(0).ToString());
}
myReader.Close();
//设置要执行的SQL命令
//取出所有客户编号并设置到控件
sql="select客户编号from客户表";
myComm=newSqlCommand(sql,myConn);
myReader=myComm.ExecuteReader();
if(string.Equals(DropDownList2.Text.Trim(),""))
{
while(myReader.Read())
this.DropDownList2.Items.Add(myReader.GetValue(0).ToString());
}
myReader.Close();
//设置要执行的SQL命令
//取出所有人员编号并设置到控件
sql="select人员编号from工作人员表";
myComm=newSqlCommand(sql,myConn);
myReader=myComm.ExecuteReader();
if(String.Equals(DropDownList3.Text.Trim(),""))
{
while(myReader.Read())
this.DropDownList3.Items.Add(myReader.GetValue(0).ToString());
myReader.Close();
}
//关闭数据库连接
myConn.Close();
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
if(this.TextBox3.Text.Trim().Length==0)
{Response.Write("alert('必须填写数据!
')");}
else
{
try
{
stringmyConnStr="datasource=127.0.0.1;database=仓库库存管理系统;userid=w;password=w";
SqlConnectionmyConn=newSqlConnection(myConnStr);
stringsql="";
{
//在表中加入进货单数据并同时修改库存零件的剩余数量
sql="insertinto出货单表(出货单编号,出货时间,零件编号,客户编号,人员编号,数量)values('"
+this.TextBox1.Text+"','"+
this.TextBox2.Text+"','"+
this.DropDownList1.Text+"','"+
this.DropDownList2.Text+"','"+
this.DropDownList3.Text+"','"+
this.TextBox3.Text+"');";
sql+="update库存零件表set数量=数量-"+this.TextBox3.Text
+"where零件编号='"+this.DropDownList1.Text+"'";
}
SqlCommandmyComm=newSqlCommand(sql,myConn);
myConn.Open();
myComm.ExecuteNonQuery();
myConn.Close();
//提示用户操作成功
this.Response.Write("alert('出货单输入成功!
')");
}
catch{}
}
}
}
7.3出货单删除
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
publicpartialclassSC2:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
stringmyConnStr="datasource=127.0.0.1;database=仓库库存管理系统;userid=w;password=w";
SqlConnectionmyConn=newS