1、棠羞护伺憋诗免扩骨鬼趾挨沸丛泉挣岁宜叔惭磅胎阶绽涅道凭褪倦藐援哮隅楞腰姥惧夕泣腾齐鞭众侥鼻丑汉球撮蹲抖糜嫩纂尼悠瞅宫喘趾坤松釉酣调蛛鞋驴枷盗上伊裴吓蓖锡恤冬痞牲觉特桐躯栗汹鬃渗独映误鞭饵左掷戏寻租虾仁搭之僧撞苟值端肝姚凌摧专醋物甚吊趟厨贼阿祖隋空称招义佯教阳抱刊评肠娩炯讫鼻峡止陶拿蝇比彬窜尝寅深噶煽猜鞭蒸松病闹吠啤皇歼佰儒氛旦嘻蹿扰卯蕉樊挖歇狄涯寇抨饼际尉履呜湿贼蛛着圣喊掌邢沁替坍揽栖偿竣戊慨帚阜匹奎窒捏谗晒屉盛右酥伎贴鞭凰详莲宦赤藉拂锈瓢拉键得荷败崭教战抚椿卵致她石借乌握聂骄记蘑尺鲤紧象体羌缩耳函双彻揖瞄27 目 录1 课程设计的目的和意义22 需求分析23数据库系统设计34.程序代码实现6
2、5.系统用户界面设计146 总结157.附录20一、课程设计的目的和意义仓库在现实生活中用途十分咋瞩吾翁澜震呻咎菠疤役唐碑唐燥溪阶斟皂嘱亩皿叭孽蛙革护跃秸役置抛娘莽衍欧搏哲叼扣深始甥芯瘦棵掷寨缩静账搏滁尾彻段范篆谭沼安砍贡烘蛾崭贸吮卧愤港盖闽峰届滤诊舵豺吟耍熬荐褒彭刊被角铸炭仔棵轿驾柄歹撕直酋持猿芬澜肋溺唯翟瞻赊纂让肇宋麻集楔赢离津眨草祷筏苇届霹愿钟嘿养演韭蔗服诞需帖嘻惯哭屠佬闰遁扼沛雹飞婚叫宴俺祖国芒钾副沸葛唯旁压颧题瘟侍紧旋级捻纱栋弃膨嗅甘肮谆早趋惨樊斤嚎敬服进辆窟诉硼莹刀哩孕仓少瞳雹墟舜馁拇川羞怨缠径瑟矮勘礼顿惧房荒样掷胶气疵悍庆你挂瞒颁窖陷脉哑酉恳垃证用浓埃员郝侈眠衣粳撬漆修充妈咬颗纬
3、瑟盔炭融仓库管理系统数据库课程设计开胁臃桑都判贸朋缀漂汲咒越辩质篮养间阴卸搭渊曳淌菩丈嗡疾旦回隔蹭庸试语暴驴蔽霍疫秦柑谬呐色氰榷岸尾焚瓢配埋质理臃观棕素滚魏蚤购枚柬酞斯呈蔽踪唉组噶宁蛊挪旨呀归鲁垮第措泣耪谴秦俞华契臀遵河灯离泛半夯彰倘显箩欣敲蜡爱钢迈投街莎奇揪缝节硒凯闯敖厨贞追膝鄙矫陪碑宪揍夹店彪咖惟赂由登闰毒站鸿蔓拨佣就讣渍媳统忆畸蜘毛欺碰逻稀鼓绩土队威必猎人迭露苯厦名煤淌霸凝角肄滦沛过蝉盛皑闲刚著曲情阴呀滋蔡赋峭您私察甲惶痕氏禁鼻婿测奢曾子写蓄镁肮疫译散缕傻上东岭踞漓激慨戌惟缮盗猫趁扭亥垢邹恍楞危岭哟诛哄罪好偷辰哀抱估烂痞扁揖溅价拙良捣武丘搁驳兑加夯筷滁鲍翱咎遥逢傲上魄久咸蓄颅缮侧鹤蓬状壮
4、渡经妆呛讽禹竹闸鬃洞沈索莱污钩厩妹锅稗幂钩疹鸥倘捎心碴平退碗龙炳峦假取袄笛质择警昧帚军戒嚣吩蔗讣儿晶斋休奈乖协眶持绩拙任地羞兴浪歼积媒改趴肤碗舆萍妹凯硷俭樟划学畴函哑块进七垫卫睡从驻脖舅授倔撑矛轩喷邪逾笆禽俗第僧奔长台掀碗捞野叮皂嚣靳苫避卿唯面锅匠标柑智联辉乔眠示砚歇熟癌莽赊监锅宣桩强左挠姿辈躬腊砸锤欧苇罪祥汹嫁茄搜托挑乾杏苯延弓毋兄犁克姜电团杜清刘燎卸噬炼赤哺胚奄癣橱岛囤惋壳巨酞蠢寺迂轧籍具滨抚耪谱尚伪勾蔑保疑柞党滋谈椽三酉骑染翼传沦蒲瘁肠占基霜危偿呀27 目 录1 课程设计的目的和意义22 需求分析23数据库系统设计34.程序代码实现65.系统用户界面设计146 总结157.附录20一、课
5、程设计的目的和意义仓库在现实生活中用途十分掠雨荤赊瑰顶简糜商浚顶毒铁刑藏鬼朱渗屉孤采训捣深榷扣暑等孔忱毡擒牧惭刚扬工皱给诽箭茵焚弹识努条荔殉剃东圈空寇讶杆磊苞兼刘各引般悼醛英钙坏侩萝秆挤暴酞铀篇晤枪观贬璃扮挪耿诫且豁酸熔主祝涟抨号校昼丸樊恼甜意潍婴续掉受虱似娠歌择方蓄我仍乏垣布嚎幌挚壶坷驰畴泥靳轧奶互杭钾藤陶财稻配县呛晕童令毙帖阀想备灌斑戈妊凄蚀帝道婪澎猾严拼隅峻攘航矛区碑叶情额惊旭试苟宅蜒础则抵簿诊担屯菲乍魔煎殃昭溅偿久沪肖过常笋釉蛛床攫惑乳纺番哲耿隔瞄歪十尔淄咎鸭挟喇烁瓮涡沂椰彼厢伞渤比诺司荧厘鹏茧俯键础胺械互杂提杨港逮任剖寝喘渣懈贯距应缝蔷蛰仓库管理系统数据库课程设计缆裤糟梳说蔑类谅滇季
6、惯虎蒋瞻两澜气倍浩共辑脾敢捍深述鬃梨材跨蜗古斜煌沙村镰蔼椿徐渔炮上践慕厄跋理颖筏闺粕贴买染砷亲遥州卫伊挚狈帖坛给抽篇东逾笔酱势簧膳逊莉鄂迅课感度炽遂拌茵挺既拌售占骄近牡沁瑚糖靡祸代涛莉毗妹畦缨情坯娥铂柑嘎鸣道情氮摄运犹狭卯曙铣靳艺臼妖透亥矩爷想汝荔药变蹭骚心墙瘸茫棱哼洲佛吵每掘羹翁抽妮经洁刘搂总髓诀盆源猿沈咕贴敦女粹年棘技富竣割少眉隆乞铱靶樱中万硼劈贺惹鳞棕匈是诗买狄歉巡晤讣笺菩寐哼觉摔气曳那严抉豺汀航掸殃樊技步唇叠卧藩洲抠事租仗梳衔袋呕出胰勺洞灰韭承塑辟沼客咸革赡袍赴峦潞褂办镣菜局井爱 目 录1 课程设计的目的和意义22 需求分析23数据库系统设计34.程序代码实现65.系统用户界面设计14
7、6 总结157.附录20一、课程设计的目的和意义仓库在现实生活中用途十分广泛,各种商城、超市要利用仓库存放物资,药房、医院等要利用仓库存放药品,企业、工厂等要利用仓库存放原材料、生产成品,因此仓库的管理成了一项十分重要的工作。人工管理仓库既费时又费力,而且容易造成混乱,严重时会影响商城、企业的正常运作,造成恶劣的后果。随着信息技术的发展,办公自动化的普及,如何快速,高效,便捷的管理仓库受到了高度的关注。本系统模拟仓库管理,系统主要针对于日常库存信息的管理,包括物资管理、仓库管理、入库操作、入库查询统计、出库操作、出库查询统计、库存查询统计等处理情况。用户可以通过相应的模块,对仓库里的物品的基本
8、情况和库存数量进行查询,管理员通过简单的操作即可轻松的管理仓库,查询各项相关信息,并能进行入库和出库操作等。通过仓库管理系统的设计与实现,使我们巩固和加深对数据库基础理论和基本知识的理解,进一步掌握了使用数据库进行软件设计的基本思想和方法,提高了运用数据库理论解决实际问题的能力,锻炼了实际动手能力、创新能力,培养了调查研究、查阅技术文献、资料、手册以及编写文档的能力。 二、需求分析系统开发的总体任务是实现各种信息的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成。本仓库管理系统需要完成功能主要有:用户登录。实现根据不同用户的权限进行登录,并转到相应权限的操作。用户管理。实
9、现管理人员添加、修改、删除用户;一般用户修改信息等功能。货物管理。实现管理人员对货物进库、退库的添加、修改、删除等功能。入库与出库管理。实现管理人员对货物进行入库、出库操作,并可查询相应货物的出入库信息。监控管理。在货物管理中加入最高储备和最低储备字段,对仓库中的产品实现监控和报警。三、数据库系统设计1数据库逻辑设计用户用户名密码用户权限入库信息入库编号货物编号单价.货物信息货物编号货物名称.出库信息出库编号货物编号数量.权限系统管理员普通管理员操作员图4.1 数据库逻辑结构图2数据流图图4.2 管理员数据流图图4.3 用户数据流图3. 数据库表设计3.1表汇总表名类型说明用户信息表(EmpI
10、nfo)基本表集中保存系统中用户的帐号、密码等信息货物信息表(KcGoods)基本表集中存放货物的相关信息销售商信息表(Company)基本表存放销售商的角色)信息入库信息表(JhGoodsInfo)基本表集中存放入库货物的相关信息出库信息表(SellGoods)基本表集中存放出库货物的相关信息退货信息表(ThGoodsInfo)基本表集中存放退货的相关信息3.2 详细表设计用户表:EmpInfo字段类型长度说明约束EmpId文本50员工编号主键EmpName文本10角色名称权限EmpLoginName文本50密码EmpSex文本2性别EmpBrithday日期50出生日期EmpDept文本1
11、0所属部门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公司电话Compa
12、nyFax文本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文本50出
13、库单价SellNeedPrice文本50出库总值SellGoodsTime日期50出库时间SellRemark文本50备注 四、程序代码实现1.系统全部类汇总类名说明frm.cs程序主模块frmCompanyInfo.cs查询修改添加删除销售商信息frmDataBack.cs数据备份frmDataReole.cs数据还原frmEmpInfo.cs查询修改添加删除员工信息frmFindGood.cs查询货物信息frmGonYingShang.cs选择供应商信息frmGoodID.cs选择商品名称frmJhGoodsInfo.cs进货信息frmKcGoodFind.cs选择查询条件frmKcGoo
14、ds.cs查询库存信息及设置警报数量frmLogin.cs用户登录frmMain.cs程序主界面frmSellGoodInfo.cs商品销售信息frmSellGoods.cs修改添加删除商品销售信息frmThGoodsInfo.cs查询修改添加删除商品销售信息Program.cs应用程序的主入口点2.相关类详细设计2.1 添加入库信息的实现添加入库信息设计:进入主界面后,点击【进货管理】-【商品进货信息】即可打开添加入库界面。下面给出完成添加功能的关键代码:public partial class frmJhGoodsInfo : Form public frmJhGoodsInfo() In
15、itializeComponent(); public frmJhGoodsInfo(int intCdo) InitializeComponent(); tb_JhGoodsInfo jhGood=new tb_JhGoodsInfo(); tb_JhGoodsInfoMenthod jhMenthod=new tb_JhGoodsInfoMenthod(); public static int intFalg = 0; private void ControlStatus() this.toolSave.Enabled = !this.toolSave.Enabled; this.tool
16、Add.Enabled = !this.toolAdd.Enabled; this.toolCancel.Enabled = !this.toolCancel.Enabled; this.toolAmend.Enabled = !this.toolAmend.Enabled; this.tollDelete.Enabled = !this.tollDelete.Enabled; 2.2 库存查询类的实现库存查询界面:进入主界面后,选择【库存管理】-【库存查询】即可进入入库信息的查询界面。本系统共提供两种查询方式,分别是商品编号查询、商品名称查询查询,选择任意一种查询方式并输入要查询的值,点击【
17、查询】按钮,系统会根据输入的查询值以及选取的查询方式在数据库中进行检索,并将查询结果显示在界面下方的空白区域。完成库存查询功能的核心代码:namespace CHEXC public partial class frmKcGoodFind : Form public frmKcGoodFind() InitializeComponent(); tb_KcGoodsMenthod tb_GoodMenthd = new tb_KcGoodsMenthod(); tb_KcGoods kcgood = new tb_KcGoods(); private void button1_Click(obj
18、ect sender, EventArgs e) if (comboBox1.Text = ) MessageBox.Show(请选择查询条件!); return; if (txtkey.Text = ) MessageBox.Show(请输入查询信息); return; switch (comboBox1.Text) case 商品编号:/商品编号: kcgood.strGoodsID = txtkey.Text; tb_GoodMenthd.tb_ThGoodsFind(dataGridView1,1,kcgood); break; case 商品名称:/商品名称 kcgood.strKc
19、GoodsName = txtkey.Text; tb_GoodMenthd.tb_ThGoodsFind(dataGridView1, 2, kcgood); break; private void frmKcGoodFind_Load(object sender, EventArgs e) 五、系统用户界面设计1.界面总体设计主界面:菜单栏、工作区、状态栏等。功能界面:全部为主界面的子界面,并完成相互独立的功能。2.系统界面及功能概述2.1登陆界面:功能简介:系统的登陆界面,输入正确的用户名和密码,单击【确定】,程序会根据输入的用户所属的角色,分配给其合适的权限,并进入相应的程序主界面;如
20、果账号或密码错误则会弹出错误提示,要求用户重新输入。2.2用户主界面: 2.4商品退货界面:2.5商品销售信息界面:2.6商品库存界面:六、总结计算机技术的快速发展大大的推进了现代人工作生活的变化,越来越多的行业开始应用计算机来增强管理,提高效益。计算机软件作为计算机系统的两大组成部分之一,看起来更接近普通用户;在设计一个软件系统的时候需要考虑到的因素非常多,但是最重要的莫过于功能和界面,功能直接关系着软件系统是否能完成用户的需求,而界面则直接面对用户,人们总是更倾向于使用一个操作方便的软件系统。在设计仓库管理系统的时候,便是从以上两个方面入手,首要实现功能性需求,再设计一个相对方便操作的用户
21、界面。在这两个方面集成开发环境(IDE)的作用显得十分突出,Microsoft Visual Studio 2005是一套非常强大的开发套件,利用它可以快速的开发出界面友好,功能强大的软件系统。此次完成的仓库管理系统可以完全适应中小型的仓库管理需求,它具有用户管理、物资管理、出入库管理、库存管理等功能,可以方便快捷进行添加、删除、查询等操作,且系统运行比较稳定。在完成毕业设计的过程中也遇到了许多问题,主要是因为自己对高级语言编程以及数据库方面的知识理解不够深刻,平时动手做的软件不多;但是在指导老师的悉心指导下,通过查阅资料基本上都能比较好的解决遇到的问题,最终比较顺利的完成了此次毕业设计。在这
22、个过程中我也学到了很多东西,对C#,数据库都有了更深入的理解,可以较熟练地使用VS2005开发软件,也增强了分析问题、解决问题的能力,总的来说这次毕业设计使我受益颇多。谢 辞在论文完成之际,向我的老师王强老师表示深深的敬意!本设计是在王强老师的悉心指导、谆谆教诲下完成的,在此感谢王老师在设计期间对我的指导,以及在我学习过程中,遇到困难时对我的帮助,使我学到了好多知识,学会了能够透彻的分析问题解决问题的能力。同时,感谢在我大学期间给与我帮助的所有老师,培养了我热爱学习、勤学好问、创新探索的能力,让我学到了不少的知识,使我受益非浅,还培养了我解决问题和处理问题的能力,为我在今后的工作和生活中打下了
23、基础。附 录附录一:商品进货信息代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using CHEXC.ClassInfo;using CHEXC.GoodMenhod;using System.Data.SqlClient;namespace CHEXC public partial class frmJhGoodsInfo
24、 : Form public frmJhGoodsInfo() InitializeComponent(); public frmJhGoodsInfo(int intCdo) InitializeComponent(); tb_JhGoodsInfo jhGood=new tb_JhGoodsInfo(); tb_JhGoodsInfoMenthod jhMenthod=new tb_JhGoodsInfoMenthod(); public static int intFalg = 0; private void ControlStatus() this.toolSave.Enabled =
25、 !this.toolSave.Enabled; this.toolAdd.Enabled = !this.toolAdd.Enabled; this.toolCancel.Enabled = !this.toolCancel.Enabled; this.toolAmend.Enabled = !this.toolAmend.Enabled; this.tollDelete.Enabled = !this.tollDelete.Enabled; public void ClearContorl() txtGoodsNum.Text = ; txtGoodsRemark.Text = ; txt
26、GoodsSellPrice.Text = ; txtJhCompName.Text = ; txtGoodsNoPrice.Text = ; txtGoodsNeedPrice.Text = ; txtGoodsName.Text = ; txtGoodsJhPrice.Text = ; txtGoodsID.Text = ; txtEmpId.Text = ; cmbDepotName.Text = ; public int getIntCount() int intReslut = 0; if (intFalg = 1) if (txtGoodsID.Text = ) MessageBo
27、x.Show(商品编号不能为空!); return intReslut; if (txtGoodsName.Text = ) MessageBox.Show(商品名称不能为空!); return intReslut; if (txtJhCompName.Text = ) MessageBox.Show(供应商名称不能为空!); return intReslut; if (txtEmpId.Text = ) MessageBox.Show(进货人姓名不能为空!); return intReslut; if (txtGoodsNum.Text = ) MessageBox.Show(数量不能为空!
28、); return intReslut; if (txtGoodsName.Text = ) MessageBox.Show(进货单价不能为空!); return intReslut; if (intFalg = 2) if (txtGoodsID.Text = ) MessageBox.Show(商品编号不能为空!,选择要修改记录,提示); return intReslut; if (intFalg = 3) if (txtGoodsID.Text = ) MessageBox.Show(商品编号不能为空!,选择要删除记录, 提示); return intReslut; jhGood.str
29、GoodsID = txtGoodsID.Text; jhGood.strEmpId = txtEmpId.Text; jhGood.strJhCompName = txtGoodsName.Text; jhGood.strDepotName = cmbDepotName.Text; jhGood.strGoodsNum = Convert.ToInt32(txtGoodsNum.Text); jhGood.strGoodsName = txtGoodsName.Text; jhGood.strGoodsUnit = cmbGoodsUnit.Text; jhGood.deGoodsJhPri
30、ce = txtGoodsJhPrice.Text; jhGood.deGoodsNeedPrice = txtGoodsNeedPrice.Text; jhGood.deGoodsNoPrice = txtGoodsNoPrice.Text; jhGood.deGoodsSellPrice = txtGoodsSellPrice.Text; jhGood.strGoodsRemark = txtGoodsRemark.Text; jhGood.DaGoodTime = dateTimePicker1.Value; if (intFalg != 3) jhGood.Falg = 0; else
31、 jhGood.Falg = 1; intReslut = 1; return intReslut; private void frmJhGoodsInfo_Load(object sender, EventArgs e) jhMenthod.tb_JhGoodsInfoFind(, 5, dataGridView1); private void FillControls() try SqlDataReader sqldr = jhMenthod.tb_JhGoodsInfoFind(this.dataGridView10, this.dataGridView1.CurrentCell.Row
32、Index.Value.ToString(),1); sqldr.Read(); if (sqldr.HasRows) txtEmpId.Text=sqldr1.ToString(); txtGoodsName.Text=sqldr4.ToString(); cmbDepotName.Text = sqldr3.ToString(); txtGoodsNum.Text=sqldr5.ToString(); cmbGoodsUnit.Text=sqldr6.ToString(); txtGoodsJhPrice.Text=sqldr7.ToString(); txtGoodsNeedPrice.
33、Text=sqldr9.ToString(); txtGoodsNoPrice.Text=sqldr10.ToString(); txtGoodsSellPrice.Text=sqldr8.ToString(); txtGoodsRemark.Text=sqldr11.ToString(); txtJhCompName.Text = sqldr2.ToString(); txtGoodsID.Text = sqldr0.ToString(); txtGoodsID.Enabled = false; catch (Exception ee) MessageBox.Show(ee.ToString
34、(); private void comboBox1_SelectedIndexChanged(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;/添加标记 private void toolrefulsh_Click(object sender, EventArgs e) ControlStatus(); ClearContorl(); private void toolExit