![服装管理小助手_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/b0f5e7bc-19f6-4ba5-8bfc-22a530dc4d9c/b0f5e7bc-19f6-4ba5-8bfc-22a530dc4d9c1.gif)
![服装管理小助手_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/b0f5e7bc-19f6-4ba5-8bfc-22a530dc4d9c/b0f5e7bc-19f6-4ba5-8bfc-22a530dc4d9c2.gif)
![服装管理小助手_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/b0f5e7bc-19f6-4ba5-8bfc-22a530dc4d9c/b0f5e7bc-19f6-4ba5-8bfc-22a530dc4d9c3.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录第一部分 引言 2.1.1编写目的 2.第二部分 总体设计 2.2.1需求规定 2.2.2基本设计理念 2.2.3 运行环境 2.2.4 设计概念和处理流程 3.第三部分 详细设计概述 字段命名 常量命名 4.主要控件名简写对照表 4.3.3语言编写规范 SQL 语言规范 存储过程命名 5.第四部分 数据库搭建 5.4.1 数据库关系陈述 5.4.2 为表添加约束 6.第五部分 启用开发环境、搭建三层架构 9.5.1 架构设计陈述 9.第六部分 开发与存储过程的编写 9.6.1 用户登录功能的实现 用户登录功能
2、大致流程图 1.06.12 本模块涉及的相关存储过程 1. 06.13 实现本模块三层架构 1.06.2 员工管理窗口的实现 员工窗口流程图 本模块涉及的相关存储过程 实现本模块三层架构 1.56.3 管理员窗口的实现 管理员窗口流程图 本模块涉及的存储过程 实现本模块三层架构 1.9第一部分 引言1. 1 编写目的本软件专门为小型服装销售个体户所编写,希望为小于服装销售个体户提供生意上、管 理上的便利。第二部分 总体设计2.1 需求规定需求规定的详细内容,请参考独立的文档 : 项目需求
3、说明 ;2.2 基本设计理念1. 基于.NET平台架构。2. 客户机单用户方式实现;2.3 运行环境2.3.1 设备开发工具:系统: windows xp 开发平台: MS VS 2005 数据库支持: MS SQL Server 2005辅助工具:MS Visio 2007MS Project 20072.3.2 支持软件客户程序软件:Windows /2000/Xp 或更高版本Microsoft .NET Framework 2.02.4 设计概念和处理流程服装批发管理系统分为三个模块:用户登录模块,员工操作模块,老板操作模块。 设计说明:1、各自独立的 WinForm 模块,程序模块清晰
4、 ;2、友好的用户界面 .第三部分 详细设计概述3.1 两种命名方式Pascal 规则 标识符的首字母大写,而每个后面连接的单词的首字母都大写。例如:BackColorCame 规则标识符的首字母小写,而每个后面连接的单词的首字母都大写。例如:BackColor3.2 程序代码命名规范3.2.1 类、文件命名文件名遵从 Pascal 命名法,无特殊情况,扩展名小写。 使用统一而又通用的文件扩展名: ManagerServer.cs3.2.2 字段命名1、 private 、 protected 使用 Camel 大小写。2、 public 使用 Pascal 大小写。3、拼写出字段名称中使用的
5、所有单词。 仅在开发人员一般都能理解时使用缩写。字段名称开头不要使用大 写字母。下面是正确命名的字段的示例。class SampleClassstring url;string destinationUrl;4、不要对字段名使用匈牙利语表示法。好的名称描述语义,而非类型。3.2.3 常量命名所有单词大写,多个单词之间用 _ 隔开。 如 public const string PAGE_TITLE = Welcome;3.2.4 控件命名规则所有控件应尽量避免使用自带名称,控件名应为简写+英文描述,英文描述首字母大写主要控件名简写对照表控件名简写控件名简写LabellblTextBoxtxtBu
6、ttonbtnLinkButtonlnkbtnImageButtonimgbtnDropDownListddlListBoxlstDataGridViewdgvDataListdlCheckBoxchkCheckBoxListchklsRadioButtonrdoRadioButtonListrdoltImageimgPanelpnlCalendercldAdRotatorarTabletblRequiredFieldValidatorrfvCompareValidatorcvRangeValidatorrvRegularExpressionValidatorrevValidatorSumma
7、ryvsCrystalReportViewerrptvew3.3语言编写规范331 SQL语言规范所有编写的T-SQL文件均要保存,方便以后数据库的移植。所有SQL语句均用大写,变量、表、表内字段命名应为Pascal命名法,其中表名前面应有dbo.并能适当添加注释。例如:ALTER PROCEDURE dtoo.uspSelectUserStateUserStateId intASSET NOCOUNT ONSET TRANSACTIOH ISOLATION LEVEL READ COHHITTEDSELECTUserStateld,(JserSta t亡FROMdbo . (JserStat
8、eVHEREUserStateld = UserStateId存储过程命名本软件数据库操作全部由存储过程完成,每个存储过程名称应为dbo.usp_XXXXXXX(注意要有括号!,例子见上机课 MySchool数据库)。每个存储过程名称为:动作名称 + 表 名 + 字段名,由Pacal命名法完成。如 dbo.usp_SelectAdminLoginld,动作名称为Select(查询),表名为(admin),字段为Loginld(登录名)。第四部分数据库搭建4.1数据库关系陈述数据库关系图见文件数据库关系图.vsd其中各表名与各字段名称已经给出,并带有中文说明。数据库的建立要以数据库关系图.VSD
9、为基准,不要以下面的载图为基准。其中黑体字段不能为空,非黑体字段可以为空,如State。里面任何关于金钱的字段属性应为Money ,而不是数据库关系图.vsd里面的Double(主要是Visio 2007没有Money属性给我加)。如:Salary, BuyPrice等。4.2为表添加约束Admin (fif 理员)卩KAdminld(标识.主键)FKLLoginName (K 录名) LoginPwd (醫求密码) NnmedT理员姓名)LoginName字段为外键约束,对应Login表的主键列 LoginName。Adminld 字段为标识列,自增为 1。主键约束。LoginPwd字段为C
10、heck约束,登录密码不能低于6位。rmp Inyrk? L忙)PKEmployeeld(标识、主键)FK1Lo呂inNam电(豊录名) LogifiPffd (登诫整码) Name (JS员姓名)BirthDay (生日Salary (薪水) 血珂姓别) TEL (电话)State (备注LoginName字段为外键约束,对应Login表的主键列 LoginName。Employeeld字段为标识列,自增为 1。主键约束。LoginPwd 字段为Check约束,登录密码不能低于 6位。BirthDay 字段为Check约束,生日不能大于当前日期。Salary字段为Check约束,薪水不能小于
11、 0Sex字段为Check约束,姓别只能为 男或女TEL字段为Check约束,电话号码不能低于 7位Customer (客户)PKCustomerId (S iR.Name(客户姓名)$曲f姓别)尿of年詐)Address (K 系地址) 卅(是否为熟客)TEI.(联系电话) Account (ftifir帐户号) State (备 ft)CustomerId字段为标识列,自增为 1。主键约束。Sex字段为Check约束,姓别只能为男或女。AgeVIPVIPTEL字段为 Check约束,0 Age=0。字段为Check约束,时间不能大于当前日期。字段为Check约束,数量不能小于 0。字段为外
12、键约束,对应Place表的主键列 LocationId。字段为外键约束,对应Supplier表的主键列 SupplierId。字段为外键约束,对应Operator表的主键列 OperatorId。进货的操作可以是员工或者是老板。SalcClothesdli 裝出吿)PK$alaClotheId(标识、主键)FK1Clothesldt外键、服装編号) SalePrice (出售单价)Mtigri i:tude(数虽:)Time (出愕时间)PK2Cusi omer (外键、购买容户)FK3Operator (.操作者)SaleClothesId字段为标识列,自增为1。主键约束。ClothesId
13、字段为外键约束,对应BuyClothes表的主键列BuyClothesIdSalePrice字段为Check约束,出售价不能小于 0Time字段为Check约束, 时间不能大于当前日期。Magnitude 字段为Check约束,数量不能小于0。Customer字段为外键约束,对应Customer表的主键列 CustomerId。Operator字段为外键约束,对应Operator表的主键列 OperatorId 。PKPlacelDC标识、主键)Local i on (地点Placeld字段为标识列,自增为1。主键约束。Suppl ior (供应商PKSupplierlDf标识、主鹽)Name
14、 (8 称)Address (联系地址THI.(联系电话Name字段为唯一约束,因为供应商的名称是唯一的Supplierld 字段为标识列,自增为1。主键约束。TEL字段为Check约束,电话号码不能低于 7位F i nanceDeb i (欠密记录)PKFinanceDebtlcH标识.S)FK2FK1Price(欠款金瀰)SaleClothefiID(|fifr 编号 Custotner(欠费容户) State (是否己付FinanceDebtld SaleClothesId Customer PriceStateState1。主键约束。SaleClothes 表的主键列 SaleClot
15、hes Customer 表的主键列 CustomerId。字段为标识列,自增为 字段为外键约束,对应 字段为外键约束,对应字段为Check约束,Price=0字段为检查约束,只能为“已付”或“未付” 字段为默认约束,默认为“未付”Operat or (JS 作者)PKOoeratorldSort (类别)LoginName (登录名OperatorId字段为标识列,自增为 1。主键约束。Sort字段为Check约束,类别只能为“管理员”或“员工”LoginName字段为外键约束,对应 Login表主键列LoginName。Login (S 录)PKLoginName 录名)FiratTime
16、O 录时间)LafitTimeC登出时何LoginName字段为主键约束。FirstTime字段为默认约束,默认值为当前时间。LastTime字段为默认约束,默认值为当前时间。第五部分启用开发环境、搭建三层架构5.1架构设计陈述本软件为oop实现三层架构设计,其中表示层的名称为:ClothesManager业务逻辑层的名称为:ClothesManagerBLL数据库访问层的名称为:ClothesManagerDAL所有实体类存放类库名称为:ClothesManagerModels ,其中各实体类类名应为数据库表一致,如 Admin表对应的类为也为 Admi n,字段属性与类型也必需一致。表示层
17、引用业务逻辑层, 业务逻辑层引用数据库访问层,三层均引用实体类类库, 但实体类类库不引用任何一层。第六部分开发与存储过程的编写本软件三大模块流程图详见文件项目流程图.vsd,文件内包括对各主要菜单与各主要窗体的命名,其余菜单或窗体命名方法相同。其中员工窗口与管理员窗口为Mdi父级窗口,各展开功能窗口为子窗口。 具体窗体外观设计、 界面图片设计由开发经理 郑佳豪负责,最终 由本人审核。可参照书本 MySchoolPro设计方案进行设计。6.1用户登录功能的实现本软件启动既运行用户登录界面, 用户需要完成登录操作后方可继续运行本软件,用户登录失败则提示出相应信息,注意相应提示信息应尽可能精辟,并带
18、有全角输入的相应符号 。如“你的账号或密码不正确! ”。注意其中的感叹号不应为英文输入的!而应为中文输入法全角状态的!为了区别于其它模块使用类,本模块所有涉及类应该放入同一文件夹(LoginModule )里面以方便管理。用户登录功能大致流程图用户在登录窗口 (LoginForm.cs)类输入相关信息后由系统进行用户密码验证,并按相应用户 类型进入相应 MDI父级窗口。6.12 本模块涉及的相关存储过程本模块涉及的存储过程较少,其命名为 .usp_SelectAdminInfoByLogin ID、.usp_Sele ctE mp lo ye eI nf oB yLo gin ID。命名方式可
19、参照前面相关章节。.usp_SelectAdminlnfoByLoginlD此存储过程为按用户输入的登录名去查询出系统管理员信息,其应带有输入变量Logi nID,返回结果应为对应的 Admin表中一行信息。实现方式为查询 Admin表,按LoginID显示结果,单表查询。.usp_SelectEmployeeInfoByLoginID此存储过程为按用户输入的登录名去查询出系统员工信息,其应带有输入变量LoginID,返回结果应为对应的 Employee表中一行信息。实现方式为查询 Employee表,按LoginID显示结果,单表查询。存储过程的编写可以参照课本MySchool数据库中相应存
20、储过程。6.13 实现本模块三层架构数据库访 问层:其命 名空 间应为:ClothesManager.DAL。两个类对应 相应用 户类型,AdminService, EmployeeService。AdminService类应有 public Admin GetAdminByLoginlD(string loginID)方法。EmployeeService 类应有 public Employee GetEmployeeByLoginlD(string loginID)方法。 业务逻辑层: 其命名空间应为: ClothesManager.BLL 。两个方法对应相应用户类型, private bo
21、ol AdminLogin(string loginID, string password);private bool EmployeeLogin(string loginID, string password);表示层: 通过创建业务逻辑层相应类调用相应方法实现用户登录。 关于三层架构的具体实现可参照课本相关章节。6.2 员工管理窗口的实现员工完成登录后进入员工管理窗口 (EmployeeForm.cs) ,主要可以实现以下两大功能:1、客户信息管理2、服装信息登记除此之外还有帮助窗口或者其它辅助功能窗口不在这里讨论。为了区别于其它模块使用类, 本模块所有涉及类应该放入同一文件夹(Emplo
22、yeeModule )里面以方便管理。621员工窗口流程图本窗体的界面设计规范可参见文档winForm界面风格规范.doc。本窗口至少应该包括以下两个菜单(菜单控件:ToolStrip)选择项。客户信息管理菜单 (tsmiCustomerMa nager.cs)服装售出登记菜单 (tsmiClothesSaled.cs) 上面两大菜单下应有相应子菜单用以激活相应窗口。 详见上图, 如:用户可以点击服装售出 登记菜单 (tsmiClothesSaled) ,接着点击新增销售信息菜单 (tsmiAddSaledMsg) ,最后可以打开 新增销售信息窗体 (AddSaledMsgForm.cs) 进
23、行相应操作。6.2.2 本模块涉及的相关存储过程库存信息窗体 (RepertoryForm.cs) 该窗体应随员工窗口启动而一并启动,以便方便直观的令员工看到当前仓库信息,了 解哪些服装有货,有多少货等信息。仓库中的服装将以列表形式显现,并为选中项实现右键菜单(菜单控件: ContextMenuStrip ), 让 员 工 可 以 利 用 右 键 菜 单 弹 出 新 增 销 售 信 息 窗 体 (AddSaledMsgForm.cs) 、更改销售信息窗体 (ModifySaledMsgForm.cs) 。并对窗体内相关信息 依选中项 实现自动填写 ,继而完成出售登记,销售信息更改等功能。新增客
24、户窗体 (AddCustomerForm.cs)该窗体至少应提供客户类(Customer.cs)的所有字段信息输入控件。注意要对控件框进行 必要的输入检查,保证用户的有效性输入。如客户姓名输入框不能为空等(这里要注意数据库对应的是否为非空字段,可空字段不需要输入前检查)。最后封装到客户类的对象中,对象经过业务逻辑层执行必要处理后到达数据库访问层,由存储过程写入数据库对应的Costomer 表。写入数据库的存储过程名称为:.usp_lnsertCustomer。其输入的参数应为 Customer表中所有字段, CustomerId 除外。单表操作。查询客户窗体 (SearchCustomerFo
25、rm.cs)该窗体应提供多种查询方式,包括查询全部,姓名查询,姓别查询,熟客查询等。其查询出来的结果窗口中除显示出客户基本登记信息外还应显示出该客户累计消费金额, 累计欠费金额 相关信息。查 询 数 据 库 的 存 储 过 程 名 称 按 不 同 的 查 询 方 式 分 为: .usp_SelectCustomerByAll 、 . usp_SelectCustomerByName 、 . usp_SelectCustomerBySex 、 . usp_SelectCustomerByVIP 。如有更多的查询方式其操作的存储过程名称以此类推。 为不同的 查询方式定义相应的输入变量,由于要查询出
26、不存在于 Customer 表的额外信息,所以应该 用到多表查询操作。这里以 .usp_SelectCustomerByName 为例。.usp_SelectCustomerByName由输入变量Name先从 查询出此客户的客户编号(Customerld),并保存到变量 Customerld。由于欠费记录表 (FinanceDebt)中客户(Customer)字段是客戶表(Customer)中客 户编号(CustomerId)的对应外键,所以此时可以用Customerld变量既可查询出欠费记录表中该客户的每次欠款金额(Price),最后采用 Sum()函数完成查询操作,最后保存到变量DebtP
27、rice。由于服装出售表中记录的是每一次的交易记录, 所以查询出客户累计消费金额的方法应 先查出每次交易的金额(售出单价*售出数量),再用聚合函数Sum()完成查询操作。最后保存 到变量 ConsumptionPrice 。将 Customer 表中查询结果与变量 DebtPrive、ConsumptionPrice 结合成一张视图 dbo.vwCustomerlnfo ,最张查询一次视图完成输出所需结果。新增销售信息窗体 (AddSaledMsgForm.cs)该窗体至少应提供服装销售类(SaleClothes.cs)的所有字段信息输入控件。注意要对控件框进行必要的输入检查,保证用户的有效性
28、输入。(注意 SaleClothses 表里面有三个外键 )最后封装到服装销售类的对象中, 对象经过业务逻辑层执行必要处理后到达数据库访问层, 由 存储过程写入数据库对应的 SaleClothes 表。写 入 数 据库 的 存储 过 程 名 称为 : .usp_InsertSaledClothes 。 其输 入 的 参 数应 为 SaledClothes 表中所有字段, SaledClothesId 除外。 注意售出数量不可能超过库存数量 。其中 操 作 者 (Operator) 默 认 应 为 当 前 已 登 录 员 工 , 现 实 方 法 为 编 写 存 储 过 程 .usp_Select
29、OperatorByLoginName 首先从操作者表 (Operator) 中按当前员工登录名查找 出此员工的操作 ID(OperatorId) ,保存到变量 OperatorId 中,接着将 OperatorId 变量写入 销售表(SaleClothes)的中的操作员(Operator)字段。客户字段为可空,如果需要登记客户信息 则应先点击客户信息管理菜单进行相关操作后处理。由 于 一 件 服 装 售 出 后 其 库 存 量 必 然 随 之 减 少 , 对 应 存 储 过 程 名 称 为 .usp_DeleteBuyClothesByClothesId 该 存 储 过 程 应 保 括 输
30、入 变 量 ClothesId 、 Magnitude , ClothesId 等 于 服 装 销 售 表 的 最 新 一 个 销 售 记 录 号 (SaleClothesId) 。 Magnitude 为销售数量, 也就是库存中需要减少的数量。 整个流程的操作应用到 事务处理 , 当发生异常时 (例如售出数量大于进货数量)实现回滚。当员工完成信息录入工作后必需 键入正确当前员工密码 方可完成最终录入操作, 防止他 人执行恶意操作。查询销售信息窗体 (SearchSaledMsgForm.cs)该窗体至少应实现按服装编号查询、出售时间查询、购买客户查询、操作者查询。查询结果中包括服装基本信息、
31、出售单价、出售数量、购买客户ID(不显示出详细客户资料 卜操作者等信息。 所有查询操作均由数据库存储过程完成。 对上述不同查询方式相对应的存储 过程名称为:.usp_SelectSaledMsgByClothesId.usp_SelectSaledMsgByTime.usp_SelectSaledMsgByCustmoer.usp_SelectSaledMsgByOperator 如果还有其它查询方式,那么存储过程的命名以此类推。这里以 .usp_SelectSaledMsgByClothesId 为例。其它存储过程的编写方法雷同。 .usp_SelectSaledMsgByClothesId
32、该 存储过 程应该 包括 一个 输 入变 量 ClothesId ,首 先利用 此变量 查询 出销 售 表 (SaleClothes)中客户编号(Customer)与操作者编号(Operator)并将查出的结果保存到变量CustomerId、 OperatorId 。再利用这些变量在相对应的主键表中查询出所需信息,如 ClothesId 可以在服装进货表 (BuyClothes) 中查询出对应服装信息。 OperatorId 可以在操作 者表(Operator)中查询出对应操作者的类别(Sort)登录名(LoginName)。将三张表中查询出来的信息结合成一张视图 dbo.vwSearchSa
33、ledMsgInfo ,最后查询 一次视图完成输出所需结果。修改销售信息窗体 (ModifySaledMsgForm.cs)该窗体实现将不慎错误输入的销售记录进行修改。 删除操作由存储过程完成, 对应存储 过程的名称应为 .usp_ModifySaleClothes 该存储过程应带有输入变量 SaleClothesId 用以 实现修改。当员工完成修改信息录入工作后必需 键入正确当前员工密码 方可完成最终录入操作, 防 止他人执行恶意操作。以上用到验证员工密码的方法统一由存储过程 .usp_SelectEmployeeInfoByLoginName 完 成。编写方法比较简单,不在这里讨论。6.2
34、.3 实现本模块三层架构数 据 库访 问层 : 其命 名空 间 应为 :ClothesManager.DAL 。 两 个 类 对应 相 应操 作 类型 , CustomerService,SaledClothesService。CustomerService 类里面应至少应该含有的方法:调用存储过程,完成新增客户信息调用存储过程,查询客户信息SaledClothesService 类里面至少应该含有的方法: 调用存储过程,完成新增一个销售信息 调用存储过程,查询销售信息 调用存储过程,更改一个销售信息业务逻辑层: 其命名空间应为: ClothesManager.BLL 。两个类对应相应的数据库
35、防问类CustomerManager 类里面至少应该完成以下处理方法: 对用户输入的客户信息进行封装,并传递到数据库访问层。 对用户不同的查询需要进行分类,调用相应的数据库访问层方法。SaledClothesManager 类里面至少应该完成以下处理方法: 对用户输入的新销售信息进行封装,并传递到数据库访问层。 按用户不同的查询方式调用不同的数据库访问层方法。 对用户更改后的信息进行封装并传递到数据库访问层。表示层: 通过创建业务逻辑层相应类调用相应方法实现相应功能。关于三层架构的具体实现可参照课本相关章节。这里并不具体规定方法名称与方法类 型,由开发人员自由发挥。6.3 管理员窗口的实现管理
36、员窗口流程图所有权限難旬1簾单员带呂罠单(LdtiiElipilujiuc)容卢皆息栗单(iJkClJWtutiLf)阵存信思菜单(I ; Hl IMT)(tyiLKinisnco)taniEClyLlkid制 JMtil finIF j HifciirHNtiilhkrtiiLhl cs)碾凰需户信jAsrnCAddK:u1owrFiP .rs)麻恻址点总窗1 (AildHcjjLiii nuim.eg)海llllft俳口息宙-律加;进張益息fir.CAdjdHkjyCluthLur牢存估皑誉劫STLI Hv;轿LorySwri/hF a Tim ic 对ni枕息疔踊ii讨血 p *k Fn
37、 l.lii.afji1,11 irFim.a *年说过责总u谢Wud i f0UClw Ulvd Fih* ts)UCkfiiT 首息 arc1.妙灯血卩1 ywfbcii, r)書户匕社査W f?l ISpHTf p( Ui i*ii|wiT|4-|ngi,cs)宫户凭戴科洵由口 (CikciiHiiltliihjrai门件h; 讨 i lln佔11时已也曲4时飢CA)宙uXiijrhbdK. jLhrtHum. ck)(由于管理员功能较多,清晰图片请用 Visio 2007查看流程图.vsd)本模块涉及的存储过程添加员工信息窗体 (AddEmployeeForm.cs)此窗体实现管理员添
38、加一个新的雇员,由于数据库员工表(Employee )中登录名(LoginName )为登录表(Login )中外键。所以实现对员工表插入数据前首先应在登录表 (Login )进行插入操作。注意对多表进行插入必需用到事务处理,以便防止突发情况的发 生导致数据出现错误。涉及的存储过程名称为:.usp_lnsertEmployee修改员工信息窗口 (ModifyEmplyeeForm.cs) 一个员工 信息记录。应该注意的是已经登记的信息中员工登录名( LoginName )是不可修改 的,在修改员工登录密码( LoginPwd )前必需先输入旧密码进行确认。此窗体至少应实现管理员对员工已登记信息
39、进行修改,修改包括修改已登记信息与删除涉及的存储过程名称为: .usp_UpdateEmployeeInfo 、 .usp_DeleteEmployee员工信息查询窗口 (SearchEmployeeForm.cs) 此窗体至少应包括以下几种员工信息查询方式,按员工编号( EmployeeId )、员工登录 名(LoginName )、员工姓名(Name)查询。并且应支持模糊查询操作。此窗体的查询操作均有存储过程完成,对应的存储过程名称应为: .usp_SelectEmployeeById .usp_SelectEmployeeByLoginName .usp_SelectEmployeeBy
40、Name每个存储过程应该带有相应的输入参数,如.usp_SelectEmployeeById 应该带有输入参数 EmployeeId ,再根据输入的 ID 值查询出相应信息,另外两个存储过程也类似。模 糊查询方式只需用上 SQL 关键字 LIKE 既可实现,总体实现方式比较简单,这里不做详细 说明。添加客户信息窗口 (AddCustomerForm.cs)该窗口实现添加客户信息功能。 由表示层封装的客户信息经业务逻辑层传递到数据库访 问层, 由存储过程 .usp_InsertCustomer 完成数据库操作。 实现方法比较简单, 在这里不作 详细说明。需要注意的是客户信息的非可空字段。客户信息
41、查询窗口 (SearchCustomerForm.cs)该窗口实现对客户信息的查询, 其功能上与上一阶段的客户信息查询窗口一致。 需要注 意的是这里的操作员为管理员, 所以此时的客户信息可以进行修改与删除的。 应该在已查询 出的用户列表处单击鼠标右键,既而选择是删除一个客户信息,还是修改一个客户信息。删除客户信息由存储过程 .usp_DeleteCustomer 完成。修改客户信息则弹出窗口( ModifyCoustomerForm.cs )进行相应操作。修改客户信息窗口 (ModifyCustomerForm.cs)该窗口 实现对操作员 误输的 客户 信息进 行修改 。 相对应 的数 据库存
42、 储过 程 为 .usp_UpdateCustomerInfo ,由存储过程完成数据库操作。实现方法比较简单,在这里不 作详细说明。添加进货信息窗口 (AddBuyClothesForm.cs) 该窗体实现老板进货功能, 由于货号是由供应商所决定的, 所以一个进货信息的添加包 括对供应商进行添加, 对货号表进行添加, 最后对进货表中的货物属性进行必要说明后添加。 注意存放地点、 操作者都为外键属性, 并建议实现 下拉菜单 选择效果, 以免去手动输入麻烦。 所对应的存储过程名称为:.usp_lnsertBuyClothes。编写时应当按外键的顺序注意三张表的 添加顺序,先写入供应商为表(Supp
43、lier),继而是货号表(ARTNO),最后是进货记录表(BuyClothes) 。进货信息查询窗口 (SearchBuyClothesForm.cs) 该窗体实现管理员对进货信息进行查询。 默认应当显示出所有进货信息, 注意需把进货 表(BuyClothes )中的ID号保存到列表控件的 Tag属性当中,这是一个用户不可见项,但却 可以大大方便开发人员对后续操作对应ID的读取。查询方式至少应该包括以下几种:按货号查询、按自定义名字查询、时间查询等。各查询方式对应的存储过程为: .usp_SelectSaleClothesByARTNO.usp_SelectSaleClothesByName
44、.usp_SelectSaleClothesByTime如有其它的查询方式, 则存储过程的相关命名以此类推。 查询出的信息应包括服装进货 表(SaleClothes)内的所有信息。如货号,名字,操作者等。需要注意的是服装进货表(SaleClothes)内存在三个外键属性,货号( ARTNO )、存放地点(Location )、操作者(Operator)。所以查询所用的存储过程均为多表查询,至于详细查询方法与第二阶段相关 存储过程类同,在这里不做重复陈述。本窗体查询出来的列表结果应该实现右键菜单功能,并通过右键菜单(菜单控件:ContextMenuStrip ) 功 能可 以 实现对 进 货 信 息 修改或 删除。 这 里可 以 考虑 建立视 图 (vwBuyClothesInfo ),因为往后在代码中如果采用DataSe啲话这张视图会大大方便操作。修改进货信息窗口 (ModifyBuyClothesForm.cs)该窗体实现管理员对错误的进货信息进行修改, 需要注意的是第一次的修改操作必需经 由密码确认。 但操作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学六年级数学口算题全集
- 小学二年级下册数学口算题
- 2025年温州货运从业资格模拟考试题
- 电力项目评估合同(2篇)
- 苏科版七年级数学上册《3.2.2代数式》听评课记录
- 临床糖尿病患者围手术期血糖变化、注意事项、降血糖药物选择、血糖控制目标、术后控制及出院前确定降血糖方案
- 2025年税务部门工作总结
- 金融服务战略合作协议书范本
- 小学教研组听评课记录表
- 小学数学苏教版六年级上册《立体图形表面积和体积总复习》听评课记录
- 房地产调控政策解读
- 山东省济宁市2025届高三历史一轮复习高考仿真试卷 含答案
- 五年级数学(小数乘法)计算题专项练习及答案
- 产前诊断室护理工作总结
- 6S管理知识培训课件
- 2024-2025学年八年级数学人教版上册寒假作业(综合复习能力提升篇)(含答案)
- 医院培训课件:《猴痘流行病学特点及中国大陆首例猴痘病例调查处置》
- 氢气-安全技术说明书MSDS
- 产科护士临床思维能力培养
- 《AP内容介绍》课件
- 医生定期考核简易程序述职报告范文(10篇)
评论
0/150
提交评论