还剩68页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
任务书
1、课程设计题目仓库管理系统
2、设计任务和内容一个小型通用的仓库管理系统是实现企业对库存商品出库、入库进行高效的管理通过应用系统应能结合销售情况对库存商品进行录入、删除、修改等操作按照一定的条件,查询、统计符合条件的商品信息;并且对查询、统计的结果有一定的输出本课题任务是开发一个小型的仓库管理系统,并撰写符合规范的课程设计说明书以体现设计过程和设计结果
3、设计步骤和要求设计步骤首先进行相关资料查阅和学习,了解基本的业务流程和系统数据功能要求然后结合软件工程的理论和教材中数据库设计的六个阶段(重点是前三个阶段)完成设计任务,即系统结构设计(需求分析、概念结构设计、逻辑结构设计、物理结构设计)和系统功能设计设计要求
1、撰写课程设计说明书其要求如下
(1)基本要求
①能反映完成了上述设计内容要求
②要求撰写不少于5000个文字(20页)的文档
③文档中至少要包括数据流图、数据字典、E-R图、数据库表的详细说明、系统功能结构图、主要功能模块说明
④课程设计说明书一律用碳素墨水书写,其中用户界面设计可以附界面的计算机截图或手工绘图
(2)文档格式要求(遵循数据库原理及应用课程设计大纲上的要求)其中,正文部分
①分章、层次等,每一章从新一页开始
②章节安排可如下安排.概述包括项目背景、编写目的、软件定义、开发环境等内容 .需求分析问题陈述、需完成的功能以数据流图和数据字典表达.概念结构设计将上述需求分析的成果抽象为ER模型图 .逻辑结构设计把ER模型图转换为关系表;描述每一个基本表关系并进行规范化;定义视图、定义索引、主关键字、定义权限.软件功能设计画出系统功能结构图,描述每个功能所完成的任务 .代码设计和界面设计给出主要功能的代码并有适当的说明;界面设计要合理,给出主要界面
2、一个可运行的仓库管理系统原型(可选)教师签名摘 要随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现管理企业势在必行而仓库管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面对前者要求建立起数据一致性和完整性强、数据安全性好的库而对于后者则要求应用程序功能完备,易使用等特点本文通过分析浏览器/服务器结构的特点并结合企业仓储管理的实际情况,提出了基于B/S结构中小型企业仓库管理系统的基本设计思想,简要介绍了系统各功能模块及数据库的设计,着重讨论了用ASP.NET技术和SQLServer2005开发企业仓库管理系统时的数据库访问技术和动态网页制作技术并给出了部分实现代码通过该系统,使学生可以方便地在企业内部网上进行仓储管理该B/S结构的系统在WindowsXP系统和VS.NET平台下开发完成,使用C#作为ASP.NET的开发语言,SQLServer2005作为后台数据库,该数据库系统在安全性、准确性、运行速度方面均有绝对的优势,并且能够对容量较大的数据库进行处理,效率高系统有较高的安全性和较好的性能本文中除了有对程序的系统分析、总体设计、数据库设计、功能实现等主体部分外,在这之前还介绍了与企业仓库管理系统相关的信息、VS.NET与SQL的无缝链接技术等关键词仓库管理;信息管理系统;B/S结构;数据库管理目录第1章概述
1.1项目背景
1.2编写目的
1.3软件定义
1.4开发环境第2章需求分析
2.1可行性分析
2.2功能分析
2.3数据流图
2.4数据字典第3章概念结构设计
3.1E-R图第4章逻辑结构设计
4.1关系表
4.2基本表关系
4.3规范化第5章软件功能设计
5.1系统功能结构图
5.2功能任务简介第6章代码设计和界面设计第1章概述
1.1项目背景仓库存放的货物品种繁多,堆存方式以及处理过程也非常复杂,随着业务量的增加,仓库管理者需要处理的信息量会大幅上升,因此往往很难及时准确的掌握整个仓库的运作状态针对这一情况,本系统在满足仓库的基本管理功能基础上发挥信息系统的智能化,减轻仓库管理人员和操作人员的工作负担系统主要的实现目标是监控整个仓库的运转情况;提供完善的出入库登记功能且拥有便捷的查询功能
1.2编写目的根据任务书要求,假想一小型企业拥有多个仓库,拥有多种物品,且物品在仓库中存在耗损情况开发数据库和系统平台解决此问题
1.3软件介绍本系统包括一下几个模块1)货物管理提供入库登记、出库登记、损耗登记三个方面的登记功能方便的修改库存信息2)档案管理提供货物档案设置、仓库设置、分类设置三个方面的内容分别允许用户更改货物的属性,仓库的属性,分类的属性3)查询统计提供入库查询、出库查询、耗损查询、库存查询四个方面的内容允许用户随时查询仓库的现状4)系统维护提供货物档案设置、仓库设置、分类设置三个方面的内容分别允许用户更改货物的属性,仓库的属性,分类的属性5)系统信息提供用户管理,更改密码,系统说明,退出系统四项功能使软件功能更加完善
1.4开发环境语言环境C#语言平台环境SQLServer2000VisualStudio2005系统开发环境Win7处理器T8300内存2G显卡Geforce8600GT系统运行环境WinXp/Vista/Win7处理器PentiumII300以上,内存64M以上,硬盘空间3G以上,显卡普通VGA显卡第二章需求分析
2.1可行性分析本软件所有处理流程内置通过界面操作可以完成所有功能能使用者无需具备SQL及C#语言知识且软件所有功能完全可以达成编写目的软件运行硬件要求不高开发软件是完全可行的
2.2功能分析本软件所有处理流程内置通过界面操作可以完成所有功能能使用者无需具备SQL及C#语言知识且软件所有功能完全可以达成编写目的软件运行硬件要求不高开发软件是完全可行的
2.3数据流图略
2.4数据字典
1.数据项数据项名别名含义说明类型长度取值范围GoodsID物品号标志每个物品int40-65535SN库存编号标志每条库存信息int40-65535SortID类别ID标志类别int40-65535StorageID仓库ID标志仓库编号int40-65535InOrder入库单号每条入库操作对应单号int40-65535OutOrder出库单号每条出库操作对应单号int40-65535BreakOrder损耗单号每条损耗操作对应单号int40-
655352.数据流数据流名说明数据来源数据去向组成存储入库单把入库信息存入入库单货物入库单入库单号仓库号物品号入库数量入库单位入库日期存储出库单把出库信息存入出库单仓库出库单出库单号仓库号物品号出库数量出库单位出库日期存储耗损单把损耗信息存入损耗单仓库损耗表耗损单号仓库号物品号耗损数量耗损日期损耗备注
3.数据结构数据结构名含义说明组成货物操作入库出库及损耗的物品物品号物品名类别名称规格仓库存放所有货物的载体仓库ID仓库名称
4.数据存储数据存储名说明编号流入数据流流出数据流组成入库单所有入库信息记录D1入库单号仓库号物品号入库数量入库单位入库日期入库备注入库单号仓库号物品号入库数量入库单位入库日期入库备注出库单所有出库信息记录D2出库单号仓库号物品号出库数量出库单位出库日期出库备注出库单号仓库号物品号出库数量出库单位出库日期出库备注损耗单所有损耗信息记录D3耗损单号仓库号物品号耗损数量耗损日期损耗备注耗损单号仓库号物品号耗损数量耗损日期损耗备注
5.处理过程处理过程名说明输入输出处理入库审核对入库申请进行审核入库申请同意的入库申请驳回的入库申请判断入库信息完整及数据正确与否均正确则通过否则驳回入库处理将物品存入库并登记入库表同意的入库申请入库信息入库单把货物入库并把信息记录到入库单出库审核对出库申请进行审核出库申请同意的出库申请驳回的出库申请判断出库操作是否够权限并核对仓库中货物是否足够操作均正确则通过否则驳回出库处理将物品出库并登记入出库表同意的出库申请出库信息出库单把货物出库并把信息记录到出库单损耗审核对损耗申请进行审核损耗申请同意的损耗申请驳回的损耗申请判断损耗操作权限是否够及仓库中是否有此物均正确则通过否则驳回损耗处理将物品损耗报废并登记入损耗表同意的损耗申请损耗信息损耗表把货物损耗报废并把信息记录到损耗单第三章概念结构设计
3.1E-R图图略第四章逻辑结构设计
4.1关系表
1.类别信息表类别信息SortInfo字段名数据类型主键必填字段备注SortIDint是是类别IDSortNameVarchar10是类别名称SortLimitInt是类别权限
2.仓库信息表仓库信息StorageInfo字段名数据类型主键必填字段备注StoragetIDint是是仓库IDStorageNameVarchar20是仓库名称
3.物品信息表物品信息GoodsInfo字段名数据类型主键必填字段备注GoodsIDint是是类别IDGoodsNameVarchar20是类别名称SortIDInt是类别权限SpecVarchar10类别权限库存信息StoreInfo字段名数据类型主键必填字段备注SNint是是库存自动编号StoreIDInt是仓库号GoodsIDInt是物品号SortIDInt是类别IDGoodsNumInt是数量EditDateDateTime修改日期
4.库存信息
5.入库信息入库信息InInfo字段名数据类型主键必填字段备注InOrderint是是入库单号StorageIDInt是仓库号GoodsIDInt是物品号InNumInt是入库数量InUnitVarchar20是入库单位InDateDateTime入库日期InRemarkVarchar100入库备注
6.出库信息出库信息OutInfo字段名数据类型主键必填字段备注OutOrderint是是出库单号StorageIDInt是仓库号GoodsIDInt是物品号OutNumInt是出库数量OutUnitVarchar20是出库单位OutDateDateTime出库日期OutRemarkVarchar100出库备注
7.入库信息损耗信息BreakInfo字段名数据类型主键必填字段备注BreakOrderint是是损耗单号StorageIDInt是仓库号GoodsIDInt是物品号BreakNumInt是损耗数量BreakDateDateTime损耗日期BreakRemarkVarchar100损耗备注
8.用户信息用户信息UserInfo字段名数据类型主键必填字段备注UserIDint是是用户IDUserNameVarchar20是用户名称UserPasswordVarchar8是用户密码UserLimitint是用户权限
4.2基本表关系
4.3规范化createdatabaseStoreage--物品信息ifexistsselect*fromdbo.sysobjectswhereid=object_idN[dbo].[GoodsInfo]andOBJECTPROPERTYidNIsUserTable=1droptableGoodsInfoGOCREATETABLEGoodsInfoGoodsIDintidentity11primarykey--物品号编号主GoodsNamevarchar20notnull--物品名SortIDintnotnull--类别ID外Specvarchar10--规格可空--类别信息ifexistsselect*fromdbo.sysobjectswhereid=object_idN[dbo].[SortInfo]andOBJECTPROPERTYidNIsUserTable=1droptableSortInfoGOCREATETABLESortInfoSortIDintidentity11primarykey--类别ID主SortNamevarchar10notnull--类别名称SortLimitintnotnull--类别权限--仓库信息ifexistsselect*fromdbo.sysobjectswhereid=object_idN[dbo].[StorageInfo]andOBJECTPROPERTYidNIsUserTable=1droptableStorageInfoGOCREATETABLEStorageInfoStorageIDintidentity11primarykey--仓库ID主StorageNamevarchar20notnull--仓库名称--库存信息ifexistsselect*fromdbo.sysobjectswhereid=object_idN[dbo].[StoreInfo]andOBJECTPROPERTYidNIsUserTable=1droptableStoreInfoGOCREATETABLEStoreInfoSNintidentity11primarykey--库存自动编号主StoreIDintnotnull--仓库号外GoodsIDintnotnull--物品号外SortIDintnotnull--类别ID外GoodsNumintnotnull--物品数量EditDatedatetime--修改日期可空--入库信息ifexistsselect*fromdbo.sysobjectswhereid=object_idN[dbo].[InInfo]andOBJECTPROPERTYidNIsUserTable=1droptableInInfoGOCREATETABLEInInfoInOrderintidentity11primarykey--入库单号主StorageIDintreferencesStorageInfoStorageIDnotnull--仓库号外GoodsIDintreferencesGoodsInfoGoodsIDnotnull--物品号外InNumintnotnull--入库数量InUnitvarchar20--入库单位可空InDatedatetime--入库日期可空InRemarkvarchar100--入库备注可空--出库信息ifexistsselect*fromdbo.sysobjectswhereid=object_idN[dbo].[OutInfo]andOBJECTPROPERTYidNIsUserTable=1droptableOutInfoGOCREATETABLEOutInfoOutOrderintidentity11primarykey--出库单号主StorageIDintreferencesStorageInfoStorageIDnotnull--仓库号外GoodsIDintreferencesGoodsInfoGoodsIDnotnull--物品号外OutNumintnotnull--出库数量OutUnitvarchar20--出库单位可空OutDatedatetime--出库日期可空OutRemarkvarchar100--出库备注可空--损耗信息ifexistsselect*fromdbo.sysobjectswhereid=object_idN[dbo].[BreakInfo]andOBJECTPROPERTYidNIsUserTable=1droptableBreakInfoGOCREATETABLEBreakInfoBreakOrderintidentity11primarykey--损耗单号主StorageIDintreferencesStorageInfoStorageIDnotnull--仓库号外GoodsIDintreferencesGoodsInfoGoodsIDnotnull--物品号外BreakNumintnotnull--损耗数量BreakDatedatetime--损耗日期可空BreakRemarkvarchar100--损耗备注可空--用户信息ifexistsselect*fromdbo.sysobjectswhereid=object_idN[dbo].[UserInfo]andOBJECTPROPERTYidNIsUserTable=1droptableUserInfoGOCREATETABLEUserInfoUserIDintidentity11primarykey--用户ID主UserNamevarchar20--用户名UserPasswordvarchar8--用户密码UserLimitint--类别权限第五章软件功能设计
5.1系统功能结构图图略
5.2功能任务简介简述个部分功能代码设计
1.主界面usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceXRX{publicpartialclassMain:Form{publicMain{InitializeComponent;}privatevoid入库登记objectsenderEventArgse{GoodsManage.InManageAa=newXRX.GoodsManage.InManage;Aa.ShowDialog;}privatevoid出库登记objectsenderEventArgse{GoodsManage.OutManageAb=newXRX.GoodsManage.OutManage;Ab.ShowDialog;}privatevoid耗损登记objectsenderEventArgse{GoodsManage.BreakManageAc=newXRX.GoodsManage.BreakManage;Ac.ShowDialog;}privatevoid货物档案设置objectsenderEventArgse{InfoManage.GoodsInfoBa=newXRX.InfoManage.GoodsInfo;Ba.ShowDialog;}privatevoid仓库档案设置objectsenderEventArgse{InfoManage.StoreInfoBb=newXRX.InfoManage.StoreInfo;Bb.ShowDialog;}privatevoid分类档案设置objectsenderEventArgse{InfoManage.SortInfoBc=newXRX.InfoManage.SortInfo;Bc.ShowDialog;}privatevoid入库查询objectsenderEventArgse{QueryManage.InQueryCa=newXRX.QueryManage.InQuery;Ca.ShowDialog;}privatevoid出库查询objectsenderEventArgse{QueryManage.OutQueryCb=newXRX.QueryManage.OutQuery;Cb.ShowDialog;}privatevoid损耗查询objectsenderEventArgse{QueryManage.BreakQueryCc=newXRX.QueryManage.BreakQuery;Cc.ShowDialog;}privatevoid库存查询objectsenderEventArgse{QueryManage.StoreQueryCd=newXRX.QueryManage.StoreQuery;Cd.ShowDialog;}privatevoid备份数据objectsenderEventArgse{SysManage.DataStoreDa=newXRX.SysManage.DataStore;Da.ShowDialog;}privatevoid恢复数据objectsenderEventArgse{SysManage.DataRevertDb=newXRX.SysManage.DataRevert;Db.ShowDialog;}privatevoid用户管理objectsenderEventArgse{OtherManage.UserManageEa=newXRX.OtherManage.UserManage;Ea.ShowDialog;}privatevoid更改密码objectsenderEventArgse{OtherManage.EditPasswordEb=newXRX.OtherManage.EditPassword;Eb.ShowDialog;}privatevoid系统说明objectsenderEventArgse{OtherManage.HelpEc=newXRX.OtherManage.Help;Ec.ShowDialog;}privatevoid退出系统objectsenderEventArgse{Application.Exit;}privatevoidMain_FormClosingobjectsenderFormClosingEventArgse{ifMessageBox.Show您真的要退出本系统吗?提示MessageBoxButtons.OKCancelMessageBoxIcon.Information==DialogResult.OKApplication.Exit;}privatevoidMain_LoadobjectsenderEventArgse{}}}
2.登陆界面usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceXRX{publicpartialclassLogin:Form{publicstaticstringstrUName=;publicstaticstringstrUPwd=;publicLogin{InitializeComponent;}privatevoidLogin_LoadobjectsenderEventArgse{Useru=newUser;DataSetds=u.showLogin;this.cboxUName.DataSource=ds.Tables
[0].DefaultView;this.cboxUName.DisplayMember=UserName;}privatevoidLogin_ClickobjectsenderEventArgse{DataBasedb=newDataBase;SqlParameter[]Pa=newSqlParameter
[3];Pa
[0]=db.MakeInParam@UserNameSqlDbType.VarChar20this.cboxUName.Text;Pa
[1]=db.MakeInParam@UserPasswordSqlDbType.VarChar20this.txtPwd.Text;Pa
[2]=db.MakeOutParam@rtnSqlDbType.Int20;db.ExecuteNonQueryCommandType.StoredProceduresp_LoginPa;stringrtn=Pa
[2].Value.ToString;ifrtn==1{Mainmain=newMain;strUName=this.cboxUName.Text;strUPwd=this.txtPwd.Text;this.Hide;main.Show;}elseMessageBox.Show密码错误!登陆失败MessageBoxButtons.OKMessageBoxIcon.Exclamation;}privatevoidExit_ClickobjectsenderEventArgse{Application.Exit;}privatevoidcboxUName_SelectedValueChangedobjectsenderEventArgse{DataBasedb=newDataBase;SqlDataReaderdr=db.ExecuteReaderCommandType.TextselectUserLimitfromUserInfowhereUserName=+this.cboxUName.Text.Trim+null;ifdr.Read{stringa=dr[UserLimit].ToString;ifa==1this.labURight.Text=一级用户;ifa==2this.labURight.Text=二级用户;ifa==3this.labURight.Text=三级用户;ifa==4this.labURight.Text=管理员;ifa==5this.labURight.Text=超级管理员;}dr.Close;}privatevoidcboxUName_SelectedIndexChangedobjectsenderEventArgse{}privatevoidLogin_FormClosingobjectsenderFormClosingEventArgse{Application.Exit;}}}
3.1入库管理界面usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceXRX.GoodsManage{publicpartialclassInManage:Form{inta=0aa=0bb=0;publicInManage{InitializeComponent;}privatevoidInManage_LoadobjectsenderEventArgse{aaa;}privatevoidaaa{DataBasedb=newDataBase;DataSetds=db.GetDsCommandType.StoredProcedureup_findStronull;this.dgvISManage.DataSource=ds.Tables
[0];this.cboxSName.DataSource=ds.Tables
[0].DefaultView;this.cboxSName.DisplayMember=StorageName;this.comboBox
1.DataSource=ds.Tables
[0].DefaultView;this.comboBox
1.DisplayMember=GoodsName;this.dgvISManage.Columns
[0].Visible=false;this.dgvISManage.Columns
[1].HeaderText=仓库名;this.dgvISManage.Columns
[2].HeaderText=物品名;this.dgvISManage.Columns
[3].HeaderText=入库数量;this.dgvISManage.Columns
[4].HeaderText=入库单位;this.dgvISManage.Columns
[5].HeaderText=入库日期;this.dgvISManage.Columns
[6].HeaderText=备注;this.dgvISManage.Columns
[1].Width=100;this.dgvISManage.Columns
[2].Width=80;this.dgvISManage.Columns
[3].Width=80;this.dgvISManage.Columns
[4].Width=80;this.dgvISManage.Columns
[5].Width=80;this.dgvISManage.Columns
[6].Width=100;this.dgvISManage.ReadOnly=true;//只读dgvISManage.SelectionMode=DataGridViewSelectionMode.FullRowSelect;//选中行this.dgvISManage.AllowUserToResizeRows=false;this.dgvISManage.AllowUserToResizeColumns=false;//禁止拖动this.dgvISManage.DefaultCellStyle.Alignment=DataGridViewContentAlignment.MiddleCenter;//文本居中this.dgvISManage.ColumnHeadersDefaultCellStyle.Alignment=DataGridViewContentAlignment.MiddleCenter;//表头居中}privatevoiddgvISManage_CellClickobjectsenderDataGridViewCellEventArgse{try{a=Convert.ToInt32this.dgvISManage.Rows[e.RowIndex].Cells
[0].Value.ToString;this.cboxSName.Text=this.dgvISManage.Rows[e.RowIndex].Cells
[1].Value.ToString;this.textBox
1.Text=this.dgvISManage.Rows[e.RowIndex].Cells
[7].Value.ToString;this.comboBox
1.Text=this.dgvISManage.Rows[e.RowIndex].Cells
[2].Value.ToString;this.txtGSpec.Text=this.dgvISManage.Rows[e.RowIndex].Cells
[3].Value.ToString;this.dateTimePicker
1.Value=Convert.ToDateTimethis.dgvISManage.Rows[e.RowIndex].Cells
[5].Value.ToString;this.txtGIPrice.Text=this.dgvISManage.Rows[e.RowIndex].Cells
[4].Value.ToString;this.txtISRemark.Text=this.dgvISManage.Rows[e.RowIndex].Cells
[6].Value.ToString;}catch{}}privatevoidbtnAdd_ClickobjectsenderEventArgse{DataBasedb=newDataBase;SqlParameter[]Pa=newSqlParameter
[6];Pa
[0]=db.MakeInParam@StorageIDSqlDbType.Int4aa;Pa
[1]=db.MakeInParam@GoodsIDSqlDbType.Int4bb;Pa
[2]=db.MakeInParam@InNumSqlDbType.Int4Convert.ToInt32this.txtGSpec.Text;Pa
[3]=db.MakeInParam@InUnitSqlDbType.VarChar20this.txtGIPrice.Text;Pa
[4]=db.MakeInParam@InDateSqlDbType.VarChar20this.dateTimePicker
1.Value;Pa
[5]=db.MakeInParam@InRemarkSqlDbType.VarChar20this.txtISRemark.Text;intb=db.ExecuteNonQueryCommandType.StoredProcedureup_InStorePa;intAdd=db.ExecuteNonQueryCommandType.TextinsertintoInInfoStorageIDGoodsIDInNumInUnitInDateInRemarkvalues+aa++bb++this.txtGSpec.Text++this.txtGIPrice++this.dateTimePicker
1.Value++this.txtISRemark.Text+null;ifAdd==1{MessageBox.Show添加入库信息成功添加成功MessageBoxButtons.OKMessageBoxIcon.Exclamation;aaa;}else{MessageBox.Show添加入库信息失败添加失败MessageBoxButtons.OKMessageBoxIcon.Exclamation;}}privatevoidcboxSName_SelectedIndexChangedobjectsenderEventArgse{DataBasedb=newDataBase;SqlDataReaderdr=db.ExecuteReaderCommandType.TextselectStorageIDfromStorageInfowhereStorageName=+this.cboxSName.Text+null;ifdr.Readaa=Convert.ToInt32dr[StorageID].ToString;dr.Close;SqlDataReaderdr2=db.ExecuteReaderCommandType.TextselectGoodsIDfromGoodsInfowhereGoodsName=+this.comboBox
1.Text+null;ifdr
2.Readbb=Convert.ToInt32dr2[GoodsID].ToString;dr
2.Close;}privatevoidbtnExit_ClickobjectsenderEventArgse{this.Close;}privatevoidbtnDel_ClickobjectsenderEventArgse{DataBasedb=newDataBase;intDelete=db.ExecuteNonQueryCommandType.TextdeletefromInInfowhereInOrder=+a+null;ifDelete==1{MessageBox.Show删除入库信息成功修改成功MessageBoxButtons.OKMessageBoxIcon.Exclamation;aaa;}else{MessageBox.Show删除入库信息失败修改失败MessageBoxButtons.OKMessageBoxIcon.Exclamation;}}}}
3.2出库管理界面usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceXRX.GoodsManage{publicpartialclassOutManage:Form{inta=0aa=0bb=0;publicOutManage{InitializeComponent;}privatevoidbtnAdd_ClickobjectsenderEventArgse{DataBasedb=newDataBase;SqlParameter[]Pa=newSqlParameter
[6];Pa
[0]=db.MakeInParam@StorageIDSqlDbType.Int4aa;Pa
[1]=db.MakeInParam@GoodsIDSqlDbType.Int4bb;Pa
[2]=db.MakeInParam@OutNumSqlDbType.Int4Convert.ToInt32this.txtGSpec.Text;Pa
[3]=db.MakeInParam@OutUnitSqlDbType.VarChar20this.txtGIPrice.Text;Pa
[4]=db.MakeInParam@OutDateSqlDbType.VarChar20this.dateTimePicker
1.Value;Pa
[5]=db.MakeInParam@OutRemarkSqlDbType.VarChar20this.txtISRemark.Text;intb=db.ExecuteNonQueryCommandType.StoredProcedureup_OutStorePa;intAdd=db.ExecuteNonQueryCommandType.TextinsertintoOutInfoStorageIDGoodsIDOutNumOutUnitOutDateOutRemarkvalues+aa++bb++this.txtGSpec.Text++this.txtGIPrice++this.dateTimePicker
1.Value++this.txtISRemark.Text+null;ifAdd==1{MessageBox.Show添加出库信息成功添加成功MessageBoxButtons.OKMessageBoxIcon.Exclamation;aaa;}else{MessageBox.Show添加出库信息失败添加失败MessageBoxButtons.OKMessageBoxIcon.Exclamation;}}privatevoidbtnDel_ClickobjectsenderEventArgse{DataBasedb=newDataBase;intDelete=db.ExecuteNonQueryCommandType.TextdeletefromOutInfowhereOutOrder=+a+null;ifDelete==1{MessageBox.Show删除入库信息成功修改成功MessageBoxButtons.OKMessageBoxIcon.Exclamation;aaa;}else{MessageBox.Show删除入库信息失败修改失败MessageBoxButtons.OKMessageBoxIcon.Exclamation;}}privatevoidbtnExit_ClickobjectsenderEventArgse{this.Close;}privatevoidOutManage_LoadobjectsenderEventArgse{aaa;}privatevoidaaa{DataBasedb=newDataBase;DataSetds=db.GetDsCommandType.StoredProcedureup_findStrobnull;this.dgvISManage.DataSource=ds.Tables
[0];this.cboxSName.DataSource=ds.Tables
[0].DefaultView;this.cboxSName.DisplayMember=StorageName;this.comboBox
1.DataSource=ds.Tables
[0].DefaultView;this.comboBox
1.DisplayMember=GoodsName;this.dgvISManage.Columns
[0].Visible=false;this.dgvISManage.Columns
[1].HeaderText=仓库名;this.dgvISManage.Columns
[2].HeaderText=物品名;this.dgvISManage.Columns
[3].HeaderText=出库数量;this.dgvISManage.Columns
[4].HeaderText=出库单位;this.dgvISManage.Columns
[5].HeaderText=出库日期;this.dgvISManage.Columns
[6].HeaderText=备注;this.dgvISManage.Columns
[1].Width=100;this.dgvISManage.Columns
[2].Width=80;this.dgvISManage.Columns
[3].Width=80;this.dgvISManage.Columns
[4].Width=80;this.dgvISManage.Columns
[5].Width=80;this.dgvISManage.Columns
[6].Width=100;this.dgvISManage.ReadOnly=true;//只读dgvISManage.SelectionMode=DataGridViewSelectionMode.FullRowSelect;//选中行this.dgvISManage.AllowUserToResizeRows=false;this.dgvISManage.AllowUserToResizeColumns=false;//禁止拖动this.dgvISManage.DefaultCellStyle.Alignment=DataGridViewContentAlignment.MiddleCenter;//文本居中this.dgvISManage.ColumnHeadersDefaultCellStyle.Alignment=DataGridViewContentAlignment.MiddleCenter;//表头居中}privatevoiddgvISManage_CellClickobjectsenderDataGridViewCellEventArgse{try{a=Convert.ToInt32this.dgvISManage.Rows[e.RowIndex].Cells
[0].Value.ToString;this.cboxSName.Text=this.dgvISManage.Rows[e.RowIndex].Cells
[1].Value.ToString;this.textBox
1.Text=this.dgvISManage.Rows[e.RowIndex].Cells
[7].Value.ToString;this.comboBox
1.Text=this.dgvISManage.Rows[e.RowIndex].Cells
[2].Value.ToString;this.txtGSpec.Text=this.dgvISManage.Rows[e.RowIndex].Cells
[3].Value.ToString;this.dateTimePicker
1.Value=Convert.ToDateTimethis.dgvISManage.Rows[e.RowIndex].Cells
[5].Value.ToString;this.txtGIPrice.Text=this.dgvISManage.Rows[e.RowIndex].Cells
[4].Value.ToString;this.txtISRemark.Text=this.dgvISManage.Rows[e.RowIndex].Cells
[6].Value.ToString;}catch{}}privatevoidcboxSName_SelectedIndexChangedobjectsenderEventArgse{DataBasedb=newDataBase;SqlDataReaderdr=db.ExecuteReaderCommandType.TextselectStorageIDfromStorageInfowhereStorageName=+this.cboxSName.Text+null;ifdr.Readaa=Convert.ToInt32dr[StorageID].ToString;dr.Close;SqlDataReaderdr2=db.ExecuteReaderCommandType.TextselectGoodsIDfromGoodsInfowhereGoodsName=+this.comboBox
1.Text+null;ifdr
2.Readbb=Convert.ToInt32dr2[GoodsID].ToString;dr
2.Close;}}}
3.3损耗管理界面usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceXRX.GoodsManage{publicpartialclassBreakManage:Form{inta=0aa=0bb=0;publicBreakManage{InitializeComponent;}privatevoidbtnAdd_ClickobjectsenderEventArgse{DataBasedb=newDataBase;SqlParameter[]Pa=newSqlParameter
[6];Pa
[0]=db.MakeInParam@StorageIDSqlDbType.Int4aa;Pa
[1]=db.MakeInParam@GoodsIDSqlDbType.Int4bb;Pa
[2]=db.MakeInParam@BreakNumSqlDbType.Int4Convert.ToInt32this.txtGSpec.Text;Pa
[3]=db.MakeInParam@BreakDateSqlDbType.VarChar20this.dateTimePicker
1.Value;Pa
[4]=db.MakeInParam@BreakRemarkSqlDbType.VarChar20this.txtISRemark.Text;intb=db.ExecuteNonQueryCommandType.StoredProcedureup_BreakStorePa;intAdd=db.ExecuteNonQueryCommandType.TextinsertintoBreakInfoStorageIDGoodsIDBreakNumBreakDateBreakRemarkvalues+aa++bb++this.txtGSpec.Text++this.dateTimePicker
1.Value++this.txtISRemark.Text+null;ifAdd==1{MessageBox.Show添加损耗信息成功添加成功MessageBoxButtons.OKMessageBoxIcon.Exclamation;aaa;}else{MessageBox.Show添加损耗信息失败添加失败MessageBoxButtons.OKMessageBoxIcon.Exclamation;}}privatevoidbtnDel_ClickobjectsenderEventArgse{DataBasedb=newDataBase;intDelete=db.ExecuteNonQueryCommandType.TextdeletefromBreakInfowhereBreakOrder=+a+null;ifDelete==1{MessageBox.Show删除入库信息成功修改成功MessageBoxButtons.OKMessageBoxIcon.Exclamation;aaa;}else{MessageBox.Show删除入库信息失败修改失败MessageBoxButtons.OKMessageBoxIcon.Exclamation;}}privatevoidbtnExit_ClickobjectsenderEventArgse{this.Close;}privatevoidBreakManage_LoadobjectsenderEventArgse{aaa;}privatevoidaaa{DataBasedb=newDataBase;DataSetds=db.GetDsCommandType.StoredProcedureup_findStrocnull;this.dgvISManage.DataSource=ds.Tables
[0];this.cboxSName.DataSource=ds.Tables
[0].DefaultView;this.cboxSName.DisplayMember=StorageName;this.comboBox
1.DataSource=ds.Tables
[0].DefaultView;this.comboBox
1.DisplayMember=GoodsName;this.dgvISManage.Columns
[0].Visible=false;this.dgvISManage.Columns
[1].HeaderText=仓库名;this.dgvISManage.Columns
[2].HeaderText=物品名;this.dgvISManage.Columns
[3].HeaderText=损耗数量;this.dgvISManage.Columns
[4].HeaderText=损耗日期;this.dgvISManage.Columns
[5].HeaderText=备注;this.dgvISManage.Columns
[1].Width=100;this.dgvISManage.Columns
[2].Width=80;this.dgvISManage.Columns
[3].Width=80;this.dgvISManage.Columns
[4].Width=80;this.dgvISManage.Columns
[5].Width=100;this.dgvISManage.ReadOnly=true;//只读dgvISManage.SelectionMode=DataGridViewSelectionMode.FullRowSelect;//选中行this.dgvISManage.AllowUserToResizeRows=false;this.dgvISManage.AllowUserToResizeColumns=false;//禁止拖动this.dgvISManage.DefaultCellStyle.Alignment=DataGridViewContentAlignment.MiddleCenter;//文本居中this.dgvISManage.ColumnHeadersDefaultCellStyle.Alignment=DataGridViewContentAlignment.MiddleCenter;//表头居中}privatevoiddgvISManage_CellClickobjectsenderDataGridViewCellEventArgse{try{a=Convert.ToInt32this.dgvISManage.Rows[e.RowIndex].Cells
[0].Value.ToString;this.cboxSName.Text=this.dgvISManage.Rows[e.RowIndex].Cells
[1].Value.ToString;this.textBox
1.Text=this.dgvISManage.Rows[e.RowIndex].Cells
[6].Value.ToString;this.comboBox
1.Text=this.dgvISManage.Rows[e.RowIndex].Cells
[2].Value.ToString;this.dateTimePicker
1.Value=Convert.ToDateTimethis.dgvISManage.Rows[e.RowIndex].Cells
[4].Value.ToString;this.txtGSpec.Text=this.dgvISManage.Rows[e.RowIndex].Cells
[3].Value.ToString;this.txtISRemark.Text=this.dgvISManage.Rows[e.RowIndex].Cells
[5].Value.ToString;}catch{}}privatevoidcboxSName_SelectedIndexChangedobjectsenderEventArgse{DataBasedb=newDataBase;SqlDataReaderdr=db.ExecuteReaderCommandType.TextselectStorageIDfromStorageInfowhereStorageName=+this.cboxSName.Text+null;ifdr.Readaa=Convert.ToInt32dr[StorageID].ToString;dr.Close;SqlDataReaderdr2=db.ExecuteReaderCommandType.TextselectGoodsIDfromGoodsInfowhereGoodsName=+this.comboBox
1.Text+null;ifdr
2.Readbb=Convert.ToInt32dr2[GoodsID].ToString;dr
2.Close;}}}
4.1货物信息管理usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceXRX.InfoManage{publicpartialclassGoodsInfo:Form{publicGoodsInfo{InitializeComponent;}}}
4.2仓库信息管理usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceXRX.InfoManage{publicpartialclassStoreInfo:Form{publicStoreInfo{InitializeComponent;}privatevoidbtnAdd_ClickobjectsenderEventArgse{}privatevoidbtnEdit_ClickobjectsenderEventArgse{}privatevoidbtnDel_ClickobjectsenderEventArgse{}privatevoidbtnExit_ClickobjectsenderEventArgse{}privatevoiddgvPInfo_CellClickobjectsenderDataGridViewCellEventArgse{}privatevoidStoreInfo_LoadobjectsenderEventArgse{}privatevoidaaa{}}}
4.3类型信息管理usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceXRX.InfoManage{publicpartialclassSortInfo:Form{publicSortInfo{InitializeComponent;}}}
5.1入库查询usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceXRX.QueryManage{publicpartialclassInQuery:Form{publicInQuery{InitializeComponent;}privatevoidExit_ClickobjectsenderEventArgse{this.Close;}privatevoidInQuery_LoadobjectsenderEventArgse{Useru=newUser;DataSetds=u.showInInfo;this.dgvBGInfo.DataSource=ds.Tables
[0];this.dgvBGInfo.Columns
[0].HeaderText=仓库名;this.dgvBGInfo.Columns
[1].HeaderText=物品名;this.dgvBGInfo.Columns
[2].HeaderText=入库数量;this.dgvBGInfo.Columns
[3].HeaderText=入库单位;this.dgvBGInfo.Columns
[4].HeaderText=入库日期;this.dgvBGInfo.Columns
[5].HeaderText=备注;this.dgvBGInfo.Columns
[0].Width=70;this.dgvBGInfo.Columns
[1].Width=70;this.dgvBGInfo.Columns
[2].Width=80;this.dgvBGInfo.Columns
[3].Width=80;this.dgvBGInfo.Columns
[4].Width=80;this.dgvBGInfo.Columns
[5].Width=80;this.dgvBGInfo.ReadOnly=true;//只读dgvBGInfo.SelectionMode=DataGridViewSelectionMode.FullRowSelect;//选中行//this.dgvBGInfo.AllowUserToResizeRows=false;this.dgvBGInfo.AllowUserToResizeColumns=false;//禁止拖动this.dgvBGInfo.DefaultCellStyle.Alignment=DataGridViewContentAlignment.MiddleCenter;//文本居中this.dgvBGInfo.ColumnHeadersDefaultCellStyle.Alignment=DataGridViewContentAlignment.MiddleCenter;//表头居中}}}
5.2出库查询usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceXRX.QueryManage{publicpartialclassOutQuery:Form{publicOutQuery{InitializeComponent;}privatevoidExit_ClickobjectsenderEventArgse{this.Close;}privatevoidOutQuery_LoadobjectsenderEventArgse{Useru=newUser;DataSetds=u.showOutInfo;this.dgvBGInfo.DataSource=ds.Tables
[0];this.dgvBGInfo.Columns
[0].HeaderText=仓库名;this.dgvBGInfo.Columns
[1].HeaderText=物品名;this.dgvBGInfo.Columns
[2].HeaderText=出库数量;this.dgvBGInfo.Columns
[3].HeaderText=出库单位;this.dgvBGInfo.Columns
[4].HeaderText=出库日期;this.dgvBGInfo.Columns
[5].HeaderText=备注;this.dgvBGInfo.Columns
[0].Width=70;this.dgvBGInfo.Columns
[1].Width=70;this.dgvBGInfo.Columns
[2].Width=80;this.dgvBGInfo.Columns
[3].Width=80;this.dgvBGInfo.Columns
[4].Width=80;this.dgvBGInfo.Columns
[5].Width=80;this.dgvBGInfo.ReadOnly=true;//只读dgvBGInfo.SelectionMode=DataGridViewSelectionMode.FullRowSelect;//选中行//this.dgvBGInfo.AllowUserToResizeRows=false;this.dgvBGInfo.AllowUserToResizeColumns=false;//禁止拖动this.dgvBGInfo.DefaultCellStyle.Alignment=DataGridViewContentAlignment.MiddleCenter;//文本居中this.dgvBGInfo.ColumnHeadersDefaultCellStyle.Alignment=DataGridViewContentAlignment.MiddleCenter;//表头居中}}}
5.3耗损查询usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceXRX.QueryManage{publicpartialclassBreakQuery:Form{publicBreakQuery{InitializeComponent;}privatevoidExit_ClickobjectsenderEventArgse{this.Close;}privatevoidBreakQuery_LoadobjectsenderEventArgse{Useru=newUser;DataSetds=u.showBreakInfo;this.dgvBGInfo.DataSource=ds.Tables
[0];this.dgvBGInfo.Columns
[0].HeaderText=仓库名;this.dgvBGInfo.Columns
[1].HeaderText=物品名;this.dgvBGInfo.Columns
[2].HeaderText=损坏数量;this.dgvBGInfo.Columns
[3].HeaderText=损坏日期;this.dgvBGInfo.Columns
[4].HeaderText=备注;this.dgvBGInfo.Columns
[0].Width=70;this.dgvBGInfo.Columns
[1].Width=70;this.dgvBGInfo.Columns
[2].Width=80;this.dgvBGInfo.Columns
[3].Width=80;this.dgvBGInfo.Columns
[4].Width=80;this.dgvBGInfo.ReadOnly=true;//只读dgvBGInfo.SelectionMode=DataGridViewSelectionMode.FullRowSelect;//选中行//this.dgvBGInfo.AllowUserToResizeRows=false;this.dgvBGInfo.AllowUserToResizeColumns=false;//禁止拖动this.dgvBGInfo.DefaultCellStyle.Alignment=DataGridViewContentAlignment.MiddleCenter;//文本居中this.dgvBGInfo.ColumnHeadersDefaultCellStyle.Alignment=DataGridViewContentAlignment.MiddleCenter;//表头居中}}}
5.4库存查询usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceXRX.QueryManage{publicpartialclassStoreQuery:Form{publicStoreQuery{InitializeComponent;}privatevoidStoreQuery_LoadobjectsenderEventArgse{Useru=newUser;DataSetds=u.showStoreInfo;this.dgvBGInfo.DataSource=ds.Tables
[0];this.dgvBGInfo.Columns
[0].HeaderText=仓库名;this.dgvBGInfo.Columns
[1].HeaderText=物品名;this.dgvBGInfo.Columns
[2].HeaderText=类别名;this.dgvBGInfo.Columns
[3].HeaderText=物品数量;this.dgvBGInfo.Columns
[4].HeaderText=修改日期;this.dgvBGInfo.Columns
[0].Width=70;this.dgvBGInfo.Columns
[1].Width=70;this.dgvBGInfo.Columns
[2].Width=70;this.dgvBGInfo.Columns
[3].Width=80;this.dgvBGInfo.Columns
[4].Width=80;this.dgvBGInfo.ReadOnly=true;//只读dgvBGInfo.SelectionMode=DataGridViewSelectionMode.FullRowSelect;//选中行//this.dgvBGInfo.AllowUserToResizeRows=false;this.dgvBGInfo.AllowUserToResizeColumns=false;//禁止拖动this.dgvBGInfo.DefaultCellStyle.Alignment=DataGridViewContentAlignment.MiddleCenter;//文本居中this.dgvBGInfo.ColumnHeadersDefaultCellStyle.Alignment=DataGridViewContentAlignment.MiddleCenter;//表头居中}privatevoidExit_ClickobjectsenderEventArgse{this.Close;}}}
6.1数据备份usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO;usingSystem.Data.SqlClient;namespaceXRX.SysManage{publicpartialclassDataStore:Form{publicDataStore{InitializeComponent;}XRX.BaseClass.DataCondatacon=newXRX.BaseClass.DataCon;privatevoidbtnSel_ClickobjectsenderEventArgse{fbDialogFile.ShowDialog;txtDSPath.Text=fbDialogFile.SelectedPath.ToString.Trim+\\;}privatevoidbtnDStore_ClickobjectsenderEventArgse{try{ifFile.ExiststxtDSPath.Text.Trim+.bak{MessageBox.Show该文件已经存在!提示MessageBoxButtons.OKMessageBoxIcon.Information;txtDSPath.Text=;txtDSPath.Focus;}else{datacon.getcombackupdatabaseStoragetodisk=+txtDSPath.Text.Trim+.bak;MessageBox.Show数据备份成功!提示MessageBoxButtons.OKMessageBoxIcon.Information;}}catchExceptionex{MessageBox.Showex.Message提示MessageBoxButtons.OKMessageBoxIcon.Information;}}privatevoidbtnExit_ClickobjectsenderEventArgse{this.Close;}}}
6.2数据恢复usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceXRX.SysManage{publicpartialclassDataRevert:Form{publicDataRevert{InitializeComponent;}XRX.BaseClass.DataCondatacon=newXRX.BaseClass.DataCon;privatevoidbtnSel_ClickobjectsenderEventArgse{ofDialogFile.InitialDirectory=D:\\;ofDialogFile.Filter=bakfiles*.bak|*.bak;ofDialogFile.RestoreDirectory=true;ofDialogFile.ShowDialog;txtDRPath.Text=ofDialogFile.FileName.ToString.Trim;}privatevoidbtnDRevert_ClickobjectsenderEventArgse{try{datacon.getcomusemasterrestoredatabaseStoragefromdisk=+txtDRPath.Text.Trim+;MessageBox.Show数据还原成功!提示MessageBoxButtons.OKMessageBoxIcon.Information;}catchExceptionex{MessageBox.Showex.Message提示MessageBoxButtons.OKMessageBoxIcon.Information;}}privatevoidbtnExit_ClickobjectsenderEventArgse{this.Close;}privatevoidfrmDataRevert_FormClosedobjectsenderFormClosedEventArgse{this.Close;}}}
6.3数据备份恢复调用文件DataCon.csusingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Data;usingSystem.Data.SqlClient;namespaceXRX.BaseClass{classDataCon{#region建立数据库连接///summary///建立数据库连接.////summary///returns返回SqlConnection对象/returnspublicSqlConnectiongetcon{stringM_str_sqlcon=DataSource=.;Database=Storage;Userid=sa;PWD=;SqlConnectionmyCon=newSqlConnectionM_str_sqlcon;returnmyCon;}#endregion#region执行SqlCommand命令///summary///执行SqlCommand////summary///paramname=M_str_sqlstrSQL语句/parampublicvoidgetcomstringM_str_sqlstr{SqlConnectionsqlcon=this.getcon;sqlcon.Open;SqlCommandsqlcom=newSqlCommandM_str_sqlstrsqlcon;sqlcom.ExecuteNonQuery;sqlcom.Dispose;sqlcon.Close;sqlcon.Dispose;}#endregion#region创建DataSet对象///summary///创建一个DataSet对象////summary///paramname=M_str_sqlstrSQL语句/param///paramname=M_str_table表名/param///returns返回DataSet对象/returnspublicDataSetgetdsstringM_str_sqlstrstringM_str_table{SqlConnectionsqlcon=this.getcon;SqlDataAdaptersqlda=newSqlDataAdapterM_str_sqlstrsqlcon;DataSetmyds=newDataSet;sqlda.FillmydsM_str_table;returnmyds;}#endregion#region创建SqlDataReader对象///summary///创建一个SqlDataReader对象////summary///paramname=M_str_sqlstrSQL语句/param///returns返回SqlDataReader对象/returnspublicSqlDataReadergetreadstringM_str_sqlstr{SqlConnectionsqlcon=this.getcon;SqlCommandsqlcom=newSqlCommandM_str_sqlstrsqlcon;sqlcon.Open;SqlDataReadersqlread=sqlcom.ExecuteReaderCommandBehavior.CloseConnection;returnsqlread;}#endregion}}
7.1用户管理usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceXRX.OtherManage{publicpartialclassUserManage:Form{publicUserManage{InitializeComponent;}privatevoidUserManage_LoadobjectsenderEventArgse{aaa;}privatevoidaaa{Useru=newUser;DataSetds=u.showUserInfo;this.UserInfo.DataSource=ds.Tables
[0];this.UserInfo.Columns
[0].HeaderText=用户ID;this.UserInfo.Columns
[1].HeaderText=用户名;this.UserInfo.Columns
[3].HeaderText=用户权限;this.UserInfo.Columns
[0].Width=70;this.UserInfo.Columns
[1].Width=100;this.UserInfo.Columns
[3].Width=80;this.UserInfo.Columns
[2].Visible=false;this.UserInfo.ReadOnly=true;//只读UserInfo.SelectionMode=DataGridViewSelectionMode.FullRowSelect;//选中行this.UserInfo.AllowUserToResizeRows=false;this.UserInfo.AllowUserToResizeColumns=false;//禁止拖动this.UserInfo.DefaultCellStyle.Alignment=DataGridViewContentAlignment.MiddleCenter;//文本居中this.UserInfo.ColumnHeadersDefaultCellStyle.Alignment=DataGridViewContentAlignment.MiddleCenter;//表头居中}privatevoidUserAddobjectsenderEventArgse{DataBasedb=newDataBase;SqlParameter[]Pa=newSqlParameter
[2];Pa
[0]=db.MakeInParam@UserNameSqlDbType.VarChar20this.txtUName.Text;Pa
[1]=db.MakeOutParam@rtnSqlDbType.Int20;db.ExecuteNonQueryCommandType.StoredProceduresp_findLoginPa;stringrtn=Pa
[1].Value.ToString;ifthis.txtUPwd.Text==MessageBox.Show密码为空添加失败MessageBoxButtons.OKMessageBoxIcon.Exclamation;else{ifthis.txtUName.Text==MessageBox.Show用户为空添加失败MessageBoxButtons.OKMessageBoxIcon.Exclamation;else{ifrtn==1MessageBox.Show已有此用户添加失败MessageBoxButtons.OKMessageBoxIcon.Exclamation;else{intLimit=1;ifthis.cboxURight.Text==超级管理员Limit=5;elseifthis.cboxURight.Text==管理员Limit=4;elseifthis.cboxURight.Text==三级用户Limit=3;elseifthis.cboxURight.Text==二级用户Limit=2;elseifthis.cboxURight.Text==一级用户Limit=1;intAdd=db.ExecuteNonQueryCommandType.TextinsertintoUserInfoUserNameUserPasswordUserLimitvalues+this.txtUName.Text++this.txtUPwd.Text++Limit+null;ifAdd==1{MessageBox.Show添加新用户成功添加成功MessageBoxButtons.OKMessageBoxIcon.Exclamation;aaa;}else{MessageBox.Show添加新用户失败添加失败MessageBoxButtons.OKMessageBoxIcon.Exclamation;}}}}}privatevoidUser_EditobjectsenderEventArgse{DataBasedb=newDataBase;SqlParameter[]Pa=newSqlParameter
[3];Pa
[0]=db.MakeInParam@UserNameSqlDbType.VarChar20this.txtUName.Text;Pa
[1]=db.MakeInParam@UserPasswordSqlDbType.VarChar20this.txtUPwd.Text;Pa
[2]=db.MakeOutParam@rtnSqlDbType.Int20;db.ExecuteNonQueryCommandType.StoredProceduresp_LoginPa;stringrtn=Pa
[2].Value.ToString;ifthis.txtUName.Text==MessageBox.Show用户为空修改失败MessageBoxButtons.OKMessageBoxIcon.Exclamation;else{ifthis.txtUPwd.Text==MessageBox.Show密码为空修改失败MessageBoxButtons.OKMessageBoxIcon.Exclamation;else{ifrtn!=1MessageBox.Show没有有此用户修改失败MessageBoxButtons.OKMessageBoxIcon.Exclamation;else{intLimit=1;ifthis.cboxURight.Text==超级管理员Limit=5;elseifthis.cboxURight.Text==管理员Limit=4;elseifthis.cboxURight.Text==三级用户Limit=3;elseifthis.cboxURight.Text==二级用户Limit=2;elseifthis.cboxURight.Text==一级用户Limit=1;intEdit=db.ExecuteNonQueryCommandType.TextupdateUserInfosetUserName=+txtUName.Text+UserPassword=+txtUPwd.Text+UserLimit=+Limit+whereUserName=+txtUName.Text+null;ifEdit==1{MessageBox.Show修改用户成功修改成功MessageBoxButtons.OKMessageBoxIcon.Exclamation;aaa;}else{MessageBox.Show修改用户失败修改失败MessageBoxButtons.OKMessageBoxIcon.Exclamation;}}}}}privatevoidUser_DeleteobjectsenderEventArgse{DataBasedb=newDataBase;SqlParameter[]Pa=newSqlParameter
[3];Pa
[0]=db.MakeInParam@UserNameSqlDbType.VarChar20this.txtUName.Text;Pa
[1]=db.MakeInParam@UserPasswordSqlDbType.VarChar20this.txtUPwd.Text;Pa
[2]=db.MakeOutParam@rtnSqlDbType.Int20;db.ExecuteNonQueryCommandType.StoredProceduresp_LoginPa;stringrtn=Pa
[2].Value.ToString;ifrtn!=1MessageBox.Show没有有此用户或密码错误删除失败MessageBoxButtons.OKMessageBoxIcon.Exclamation;else{intDelete=db.ExecuteNonQueryCommandType.TextdeletefromUserInfowhereUserName=+this.txtUName.Text+null;ifDelete==1{MessageBox.Show删除用户成功修改成功MessageBoxButtons.OKMessageBoxIcon.Exclamation;aaa;}else{MessageBox.Show删除用户失败修改失败MessageBoxButtons.OKMessageBoxIcon.Exclamation;aaa;}}}privatevoidUserInfo_CellClickobjectsenderDataGridViewCellEventArgse{try{this.txtUName.Text=this.UserInfo.Rows[e.RowIndex].Cells
[1].Value.ToString;stringLimit=this.UserInfo.Rows[e.RowIndex].Cells
[3].Value.ToString;ifLimit==1this.cboxURight.Text=一级用户;elseifLimit==2this.cboxURight.Text=二级用户;elseifLimit==3this.cboxURight.Text=三级用户;elseifLimit==4this.cboxURight.Text=管理员;elseifLimit==5this.cboxURight.Text=超级管理员;}catch{}}}}
7.2密码更改usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceXRX.OtherManage{publicpartialclassEditPassword:Form{publicEditPassword{InitializeComponent;}privatevoidbtnOKobjectsenderEventArgse{DataBasedb=newDataBase;SqlParameter[]Pa=newSqlParameter
[3];Pa
[0]=db.MakeInParam@UOPwdSqlDbType.VarChar8this.txtUOPwd.Text;Pa
[1]=db.MakeInParam@UNPwdSqlDbType.VarChar8this.txtUNPwd.Text;Pa
[2]=db.MakeInParam@FUNPwdSqlDbType.VarChar8this.txtFUNPwd.Text;ifthis.txtFUNPwd.Text!=this.txtUNPwd.TextMessageBox.Show两次密码不一致修改失败MessageBoxButtons.OKMessageBoxIcon.Exclamation;else{ifthis.txtUOPwd.Text!=Login.strUPwdMessageBox.Show原密码错误修改失败MessageBoxButtons.OKMessageBoxIcon.Exclamation;else{db.ExecuteNonQueryCommandType.TextupdateUserInfosetUserPassword=+txtUNPwd.Text+null;MessageBox.Show修改密码成功修改成功MessageBoxButtons.OKMessageBoxIcon.Exclamation;Login.strUPwd=this.txtUNPwd.Text;}}}privatevoidbtnCancleobjectsenderEventArgse{this.Close;}privatevoidEditPassword_LoadobjectsenderEventArgse{this.txtUName.Text=Login.strUName;}}}
7.3帮助文档特别说明:文档文本放在Bin文件夹下可以随时更改usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceXRX.OtherManage{publicpartialclassHelp:Form{publicHelp{InitializeComponent;}privatevoidExit_ClickobjectsenderEventArgse{this.Close;}privatevoidHelp_LoadobjectsenderEventArgse{stringpath=Application.StartupPath+\\Help.txt;System.IO.StreamReaderreader=newSystem.IO.StreamReaderpathSystem.Text.Encoding.Default;this.txtAboutUs.Text=reader.ReadToEnd;reader.Close;}}}
8.1调用文件User.csusingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Data.SqlClient;usingSystem.Data;usingSystem.Configuration;namespaceXRX{classUser{DataBasedb=newDataBase;#region登陆显示用户publicDataSetshowLogin{try{DataSetds=db.GetDsCommandType.TextselectUserNamefromUserInfonull;returnds;}catch{returnnull;}}#endregion#region显示用户信息publicDataSetshowUserInfo{try{DataSetds=db.GetDsCommandType.Textselect*fromUserInfonull;returnds;}catch{returnnull;}}#endregion#region显示库存信息publicDataSetshowStoreInfo{try{DataSetds=db.GetDsCommandType.StoredProcedureup_StoreInfonull;returnds;}catch{returnnull;}}#endregion#region显示入库信息publicDataSetshowInInfo{try{DataSetds=db.GetDsCommandType.StoredProcedureup_InInfonull;returnds;}catch{returnnull;}}#endregion#region显示出库信息publicDataSetshowOutInfo{try{DataSetds=db.GetDsCommandType.StoredProcedureup_OutInfonull;returnds;}catch{returnnull;}}#endregion#region显示耗损信息publicDataSetshowBreakInfo{try{DataSetds=db.GetDsCommandType.StoredProcedureup_BreakInfonull;returnds;}catch{returnnull;}}#endregion}}
8.2调用文件DataBass.csusingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Data.SqlClient;usingSystem.Data;usingSystem.Configuration;usingSystem.Windows.Forms;namespaceXRX{classDataBase{#region构造函数publicDataBase{conn=getConn;}#endregion#region获取连接词///summary///获取连接词////summary///returns连接词/returnsprivatestringgetConnStr{//returnSystem.Configuration.ConfigurationSettings.AppSettings[ConnStr].ToString;;uid=sa;pwd=sa;returnserver=.;database=Storeage;uid=sa;pwd=;;//return@server=.Local\\;AttachDbFilename=+Application.StartupPath+\\DATA\\Patient.mdf;IntegratedSecurity=True;;}#endregion#region获取连接///summary///获取连接////summary///returns连接/returnspublicSystem.Data.SqlClient.SqlConnectiongetConn{try{conn=newSystem.Data.SqlClient.SqlConnectiongetConnStr;conn.Open;}catchException{returnnull;}returnconn;}#endregion#region打开连接publicvoidOpenConn{ifConnectionState.Open!=conn.State{conn.Open;}}#endregion#region关闭连接publicvoidCloseConn{ifConnectionState.Open==conn.State{conn.Close;}}#endregion
9.1其他截图总体结构按钮设计图标设计
9.2运行截图。