CREATE Procedure InsertGood
(--插入产品信息 返回插入的ID @AlignGoods int, @GoodCost varchar(50), @GoodNum int, @GoodMake varchar(50), @GoodsBZ varchar(50), @InputTime datetime, @GoodsID int output)
AS
Begin
Insert Into GoodList
(AlignGoods,GoodCost,GoodNum,GoodMake,GoodsBZ,InputTime) values(@AlignGoods,@GoodCost,@GoodNum,@GoodMake,@GoodsBZ,@InputTime);
Select @GoodsID = @@IDENTITY
End
GO
5.系统详细设计与实现
本系统主要是货物入库、出库、退库、借出、归还、调拨、盘点等多种操作。
本章首先阐述了系统公共类的设计,然后将分模块叙述本系统的详细设计方案,分为:登陆模块、系统管理模块、仓库管理模块。
5.1公共类设计
在开发过程中,经常会用到一些公共模块,如数据库连接及操作的类、字符串处理的类等。因此,数据库操作类用来完成数据库的连接操作,以及数据库的查询、添加、删除、和修改操作。将这几种操作编写到一个公共类里,可以减少重复代码的编写,有利于代码的文护。设计的公共类:
在SqlDataBase类中定义了13个方法:
(1) Close()方法用于关闭连接,无返回值。
(2) NoreturnSql()方法用于执行简单的SQL语句无返回值。
(3) ReturnSQL()方法用于返回首列单行的SQL语句。
(4) GetDS()方法用于返回SQL语句的DateSet数据集。
(5) DV()方法用于返回一个DataView视图。
(6) DT()方法用于返回一个DataTable对象。
(7) TwoDS()方法用于返回一个含有两个DataTable的DataSet数据集。
(8) GRead()方法用于返回一个SqlDataReader。
(9) ReturnCM()方法用于创建一个Command来执行存储过程。
(10) RunInsert()方法用于返回带参数的存储过程。
(11) IntParam()方法用于传入输入的参数,并返回SqlParameter类型数据。
(12) OutParam()方法用于传入返回值参数, 并返回SqlParameter类型数据。
(13) MakeParam()用于生成存储过程参数,并返回SqlParameter类型数据。
CheckLogin类中定义了5个方法:
(14) GiveID()方法返回一个int类型的参数来判断该用户的权限。
(15) CheckAdmin()返回一个bool型数据,用来判断该用户是不是管理员。
(16) GiveCheckAd()方法返回一个int类型数据。
(17) GiveMsgGod()方法返回对应仓库的数量超限产品。
(18) CheckKeepAdmin()方法用于返回一个bool类型的数据。
其它还有Admin类、Goods类、Keeps类、Sums类、UserAction类的设计。
5.2登录模块
登录过程是一个验证过程,应用程序首先从数据库获取该仓储人员的信息,检索用户信息表,核对用户名和密码。若用户登录成功,则进入主操作页面,不同权限的用户进入不同的主操作界面,如果用户名不存在或者密码输入不正确,登录不成功,并对登录页面刷新。
5.3系统管理模块
5.3.1人员管理子模块
人员管理主要对系统的使用者进行管理,可以为用户创建新账户,修改用户信息(只能单个修改),也可以批量删除一切用户。本模块必须具有管理员角色的用户方可使用。
5.3.2 系统通知管理子模块
已登录的系统管理员可以删除系统通知,也可以发布通知。
5.3.3 仓库基本信息管理子模块
系统管理员可以为创建新仓库,修改仓库信息(只能单个修改),也可以批量删除一切仓库(若仓库中还有产品则提示“有产品存在,该仓库不允许删除!”)。 C#物流运输管理系统的设计与实现+ 需求分析(4):http://www.youerw.com/jisuanji/lunwen_1325.html