基于C#的仓库管理信息系统设计报告书.doc_第1页
基于C#的仓库管理信息系统设计报告书.doc_第2页
基于C#的仓库管理信息系统设计报告书.doc_第3页
基于C#的仓库管理信息系统设计报告书.doc_第4页
基于C#的仓库管理信息系统设计报告书.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

仓库管理信息系统设计报告1、 设计简述在仓库管理信息系统中,需要从大量的日常仓库存取中提取相关信息,以反映库存情况。传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范教学管理行为,从而提高了管理效率和水平。仓库管理信息系统是针对企业仓库货品的出入库登记和查询统计等方面工作而开发的管理软件,是一个非常实用的管理信息系统。它可以针对各个仓库的实际需要,设定不同的仓库管理系统的功能,实现物资信息的登记、入库登记、出库登记等任务。管理者可以通过相应的模块,对仓库里的物资的基本情况进行修改、删除和查询,对物资的入库和出库进行管理,对出入库的物资进行查询,并能生成相应的报表,对使用该系统的用户进行修改、添加等,查询等其他系统设计实现的管理系统能够正确有效地完成仓库管理的日常工作,并能够根据需要进行灵活的查询。系统与数据库管理系统紧密结合,为仓库管理提供了功能较为强大的数据安全功能。二、设计目的仓库信息管理系统以计算机为工具,通过对出库、入库、库存等所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,把仓库管理的井井有条,便于统计,结构清晰。本课程设计目的是培养学生在Visual Studio.NET开发环境下利用面向对象的编程语言C#开发一个Windows应用程序的能力。通过开发一个功能完善具有实际价值的管理信息系统,让学生全面实践本课程所学的编程知识,包括对C#编程语言的掌握与应用、VS.NET开发环境下的各种工具的运用、Windows环境下的数据库编程、实际工程中数据结构和算法思想的基本实现等。三、设计步骤1功能需求分析、系统总体结构设计,功能模块的划分、画出流程图。2数据库需求分析、画出E-R图。3数据库的实现,要求最好使用SQL 2005(酌情使用ACCESS)4各个功能模块的设计及实现。5综合调试、运行及发布。四、设计要求(4.1)设计目标要求本次综合实训要求学生完成一个具有实用价值的仓库管理信息系统,能够方便地被具企业的仓库管理所使用,应达到如下的设计要求: 系统用户管理模块要求实现:对系统操作用户及权限的管理。 登录模块 用户身份的识别、用户输入的验证。企业物资信息的管理 包括添加、浏览、修改、查看企业现有的物资情况企业物资出、入库信息管理 所有物资入库、出库的管理。(4.2)系统的性能要求要求系统界面美观,布局合理,菜单设置方便操作;系统各项功能正常。 5、 需求分析(5.1)系统需求分析 本系统的具体要求为:1.通过使用计算机能方便地维护(包括插入、删除、修改)各信息表; 2.能组合查询基于某信息表的所需信息; 3.能方便地实现基于多个表的连接查询; 4.能方便地实现基于单个或多个表的统计功能; 5.系统具有操作方便、简捷等特点。 (5.2)功能需求分析1.系统管理:用户和管理者的设置2.物资信息管理:物资的一般信息3.入库信息管理:入库物资的所有信信息包括时间、价格、日期、型号等4.出库信息管理:出库物资的所有信信息包括时间、价格、日期、型号等5.库存信息管理:出库物资的所有信信息包括时间、价格、日期、型号等6.用户操作:通过登录对仓库进行管理以及密码的修改6、 系统模型简述(6.1)构成系统的实体型1.本系统包括管理员,物资,出库,入库,,库存,五个主要实体。2.管理员实体型属性有用户名、密码、角色名。3.物资实体型属性有物资编号、物资名称、物资型号、规格型号、类型、单位4.入库实体型属性有物资编号、物资名称、物资型号、规格型号、类型、单位、数量、单价、金额、入库时间、经办人、保管人、仓库5.出库实体型属性有物资编号、物资名称、物资型号、规格型号、类型、单位、数量、单价、金额、入库时间、经办人、保管人、仓库6.库存实体型属性有物资编号、物资名称、物资型号、类型、单位、金额、入库时间、经办人、保管人、仓库修改出库信息修改入库信息修改物资信息重新操作修改密码查询库存信息浏览库存信息库存信息管理用户操作出库信息管理添加出库信息浏览出库信息查询出库信息入库信息管理添加入库信息浏览入库信息查询入库信息物资信息管理添加物资信息浏览物资信息查询物资信息 系统管理添加用户新建角色仓库管理信息系统(6.2)系统功能模块(6.3)数据库表的结构得出数据表的各个关系模式后,需要给出是各数据表结构。考虑系统的兼容性及编写程序的方便性,可将关系模式的属性对应为表字段的英文名。同时,考虑到数据依赖关系和数据完整性,需要指出表的主码和外码,以及字段的值域约束和数据类型。系统各表的结构如下所示入库信息表(ininfo)列 名数据类型长 度说 明InIDint入库编号(自动编号,主键)MIDchar10物资编号InAccountint 数量InPriceint单价InValueint金额InDateDatetime入库时间InDealerchar10经办人InSaverchar10保管人InStorechar10仓库Remarkchar40备注出库信息表(outinfo)列 名数据类型长 度说 明OutIDint出库编号(自动编号,主键)MIDchar10物资编号OutAccountint 数量OutPriceint单价OutValueint金额OutDateDatetime入库时间OutDealerchar10经办人OutUserchar10领取人OutStorechar10仓库Remarkchar40备注物资信息表(materialinfo)列 名数据类型长 度说 明MIDchar10物资编号(主键)MNamechar10物资名称MModelchar10物资型号MTypechar10类型MUnitchar10单位用户表信息表(userinfo)列 名数据类型长 度说 明UIDchar10用户名(主键)PWDchar10密 码RoleNamechar10角 色 名七、部分程序代码和分析1.登录界面:用户通过用户名和密码登录代码如下:private void button1_Click(object sender, System.EventArgs e)/确定 if (name.Text.Trim() = | password.Text.Trim() = ) MessageBox.Show(请输入用户名和密码, 提示); else sqlConnection1.Open(); SqlCommand cmd = new SqlCommand(, sqlConnection1); string sql = select RoleName from userinfo where UID= + name.Text.Trim() + and PWD= + password.Text.Trim() + ; cmd.CommandText = sql; string rolename; if (null != cmd.ExecuteScalar() rolename = cmd.ExecuteScalar().ToString(); /隐藏登录窗口 this.Visible = false; /创建并打开主界面 Main main = new Main(); main.Tag = this.FindForm(); sql = select * from roles where RoleName= + rolename + ; SqlDataReader dr; cmd.CommandText = 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); main.statusBarPanel5.Text = name.Text.Trim(); main.ShowDialog(); else MessageBox.Show(用户名或密码错误, 警告); sqlConnection1.Close(); private void button2_Click(object sender, System.EventArgs e)/取消 this.Close(); 2.添加用户:登录主界面之后添加用户代码如下:private void btAdd_Click(object sender, System.EventArgs e) if (textName.Text.Trim()=|textPassword.Text.Trim()=|textPWDNew.Text.Trim()=|comRole.Text.Trim()=)MessageBox.Show(请输入完整信息!,警告);elseif (textPassword.Text.Trim()!=textPWDNew.Text.Trim()MessageBox.Show(两次密码输入不一致!,警告); elsesqlConnection1.Open();SqlCommand cmd = new SqlCommand(,sqlConnection1);string sql = select * from userinfo where UID = +textName.Text.Trim()+;cmd.CommandText = sql; if (null = cmd.ExecuteScalar() string sql1 = insert into userinfo (UID,PWD,RoleName) +values (+textName.Text.Trim()+,+textPWDNew.Text.Trim()+,+comRole.Text.Trim()+);cmd.CommandText = sql1;cmd.ExecuteNonQuery();MessageBox.Show(添加用户成功!,提示);this.Close(); elseMessageBox.Show(用户名+textName.Text.Trim()+已经存在!,提示);sqlConnection1.Close(); 3.通过主页面进入物资信息管理点击浏览物资信息出现如下:代码如下: 点击修改出现如下页面:/修改private void btModify_Click(object sender, System.EventArgs e) if (dataGrid1.DataSource != null | dataGrid1dataGrid1.CurrentCell != null)materailModify = new MaterialModify();materailModify.textID.Text=ds.Tables0.RowsdataGrid1.CurrentCell.RowNumber0.ToString().Trim();materailModify.textName.Text=ds.Tables0.RowsdataGrid1.CurrentCell.RowNumber1.ToString().Trim();materailModify.textModel.Text=ds.Tables0.RowsdataGrid1.CurrentCell.RowNumber2.ToString().Trim();materailModify.textType.Text=ds.Tables0.RowsdataGrid1.CurrentCell.RowNumber3.ToString().Trim();materailModify.textUnit.Text=ds.Tables0.RowsdataGrid1.CurrentCell.RowNumber4.ToString().Trim();materailModify.ShowDialog();elseMessageBox.Show(没有指定物资信息!,提示);/删除 private void btDel_Click(object sender, System.EventArgs e)if (dataGrid1.CurrentRowIndex=0 & dataGrid1.DataSource!=null & dataGrid1dataGrid1.CurrentCell!=null)string sql =select * from ininfo where MID=+ds.Tablesmaterial.RowsdataGrid1.CurrentCell.RowNumber0.ToString().Trim()+;SqlCommand cmd = new SqlCommand(sql,oleConnection1);SqlDataReader dr;dr = cmd.ExecuteReader();if (dr.Read()MessageBox.Show(删除物资+ds.Tablesmaterial.RowsdataGrid1.CurrentCell.RowNumber1.ToString().Trim()+失败,请先删除该物资入库信息!,提示);dr.Close();elsedr.Close();string sql1=delete * from materialinfo where MID = +ds.Tablesmaterial.RowsdataGrid1.CurrentCell.RowNumber0.ToString().Trim()+;cmd.CommandText = sql1;cmd.ExecuteNonQuery();MessageBox.Show(删除物资+ds.Tablesmaterial.RowsdataGrid1.CurrentCell.RowNumber1.ToString().Trim()+成功!,提示);elseMessageBox.Show(没有指定物资信息!,提示);/退出private void btClose_Click(object sender, System.EventArgs e) this.Close();4.通过主页面进入物资信息管理点击查询物资信息出现如下:代码如下:/查询 private void btQuery_Click(object sender, System.EventArgs e)bool flag =true;string sql = select MID as 物资编号,MName as 物资名称,MModel as 物资型号,Mtype as 类型,MUnit as 单位+from materialinfo where ;if (textID.Text.Trim()=&textName.Text.Trim()=&textModel.Text.Trim()=)MessageBox.Show(请输入查询条件!,警告);return;else if (textID.Text.Trim() != )sql = sql+MID= +textID.Text.Trim()+;elseif (textName.Text.Trim() != )sql = sql+MName= +textName.Text+;flag = false; if (textModel.Text.Trim() != )if (flag)sql = sql+MModel= +textModel.Text+;else sql = sql+ and MModel= +textModel.Text+; oleConnection1.Open();SqlDataAdapter adp = new SqlDataAdapter(sql,oleConnection1);DataSet ds = new DataSet();ds.Clear();adp.Fill(ds,material);dataGrid1.DataSource=ds.Tables0.DefaultView;dataGrid1.CaptionText=共有+ds.Tables0.Rows.Count+条查询记录;oleConnection1.Close();/重置private void btNew_Click(object sender, System.EventArgs e) this.textID.Text=;this.textModel.Text=;this.textName.Text=;5.通过主页面进入物资信息管理点击添加物资信息出现如下:代码如下:/确定 private void btAdd_Click(object sender, System.EventArgs e)if (textID.Text.Trim()=)MessageBox.Show(请输入物资编号!,提示);elseoleConnection1.Open();string sql = select * from materialinfo where MID = +textID.Text.Trim()+;this.oleCommand1.CommandText = sql;if (null = oleCommand1.ExecuteScalar()string sql1 = insert into materialinfo values (+textID.Text.Trim()+,+textName.Text.Trim()+,+textModel.Text.Trim()+,+textType.Text.Trim()+,+textUnit.Text.Trim()+);oleCommand1.CommandText=sql1;oleCommand1.ExecuteNonQuery();MessageBox.Show(添加物资信息成功!,提示);elseMessageBox.Show(物资编号+textID.Text.Trim()+已经存在!,警告);oleConnection1.Close(); 综上所述是物资信息的添加、删除、查询、修改等一系列操作的实现,以此类推,关于入库信息管理、出库信息管理、库存信息管理都是大同小异而论的。6.通过主页面进入用户操作点击修改密码出现如下:代码如下:/确定 private void btSave_Click(object sender, System.EventArgs e)if(textName.Text.Trim()=|textPWD.Text.Trim()=|textPWDNew.Text.Trim()=|textPWDNew2.Text.Trim()=)MessageBox.Show(请填写完整信息!,提示);elseoleConnection1.Open();SqlCommand cmd = new SqlCommand(,oleConnection1);string sql = select * from userinfo wh

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论