《2022年数据库课程方案报告》由会员分享,可在线阅读,更多相关《2022年数据库课程方案报告(23页珍藏版)》请在金锄头文库上搜索。
1、个人资料整理仅限学习使用洛阳理工学院课程设计报告课程名称 数据库课程设计设计题目超市信息管理系统专业班级学号姓名完成日期 2018/01/06 课 程 设 计 任 务 书设计题目:超市信息管理系统设计内容与要求:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 23 页个人资料整理仅限学习使用设计内容:调研大型超市的业务流程,设计一个用于超市工作人员信息管理、商品采购管理、商品销售管理的信息系统。支持会员卡业务。顾客可以从总服务台上查询本超市有无指定的商品、查询自己的积分情况。1. 基本信息管理:包括商品信息、员工信息等的查询、删除、修改
2、等功能;2. 用户信息维护:包括用户添加、密码修改、用户切换、退出、权限修改;3. 采购管理:包括商品采购管理,退货管理、缺货管理;4. 销售管理:销售单管理、销售查询。设计要求:1. 要求完成需求分析,写出功能需求和数据需求描述;2. 在需求分析的基础完成数据库概念结构设计、逻辑结构设计、物理结构设计;3. 用 C#语言,完成信息系统的部分程序模块的界面设计。指导教师:2018年 1 月 6 日课 程 设 计 评 语成绩:指导教师: _ 年月日精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 23 页个人资料整理仅限学习使用目录1 概述
3、超市管理系统是针对超级市场的销售而开发的。应用超市管理系统能够转变超市的工作方式,有效提高销售速度和服务水平,提高客户对超市的信任度和满意度,改精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 23 页个人资料整理仅限学习使用善客户关系。运用超市管理系统,在销售商品时实行出口一次性付款,可以实现超市内部现代化管理,能够准确把握每一种商品的销售动态,防止商品断档或过量储备,商品开发方向、进货的适时化都可通过超市管理系统来完成。超市管理系统将手工编制好的销售账目或根据原始超市销售记录直接在系统内制作超市销售信息,同时可对输入的超市销售信息进行
4、修改、查询等操作。这种集约化的销售管理模式既便于对超市销售信息的收集、整理和加工,又便于操作员的需求信息在最短的时间内得到反馈,同时超市管理系统可自动分析各种商品销售变化规律,商品销售结构、居民消费变化等,从而为合理进货、经营、加工、库存、销售等提供科学的决策依据。超市管理系统充分运用计算机管理信息技术,建立数据库,对超市的进销存过程进行详细分析,实现了对超市的进货、销售和库存的科学管理。2 需求分析2.1用户分析超市管理系统的使用者,即超市的员工主要由超市经理、信息管理员、采购员、收银员组成。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页
5、,共 23 页个人资料整理仅限学习使用信息管理员:超市管理系统的系统管理者,进行系统的日常管理维护,负责单据录入、采购计划、发货计划的编制,对商品、员工、会员进行各种管理,比如添加、修改、删除、更新等。采购员:根据采购计划进行商品的采购。收银员:根据顾客选购的商品进行销售数据的输入,超市管理系统的客户端使用者。2.2系统功能需求分析(1 用户登录时,若用户输入的用户名不存在时,提示用户重新填写,并重新回到登录界面;用户登录时,若用户输入的密码错误时,提示用户重新填写,返回登录界面。如果输入的信息不全,则要求正确填写必须输入的表项。如果输入信息正确,将提示注册完成,用户可以正常登录,进行不同权限
6、的数据管理。用户能够根据不同权限添加、修改和删除系统不同级别的数据。(2 管理员登录,可以从事以下操作:员工管理,可以查看登录次数和时间,并可以删除。添加新用户功能,可以修改用户权限。对用户进行修改、删除。管理员工信息,可以对信息进行查询、添加、修改。折扣与 VIP客户管理。查看供货商数据,并可以对数据进行管理。修改管理员密码,保证安全性。添加新商品功能,可增加删改商品信息。添加新商品,选择商品类别,输入商品名称,进行商品说明。类别管理,可以更改类别名称,可以添加和删除类别。管理销售单,可以销售单进行条件查询,并进行管理。查看库存数据,并可以对数据进行管理。(3用户界面本系统采用Microso
7、ft Visual Studio 2008设计,用户交互界面采用的是基于Windows的窗口界面,并结合TelerikRadControls for WinForms设计美观易懂的用户界面,数据库采用Microsoft SQL Server 2005设计。2.3数据需求(1 顶层数据流程精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 23 页个人资料整理仅限学习使用图 2-1 顶层数据流程图(2 第 0 层数据流程图 2-2 第 0 层数据流程图(3)第 1 层数据流程图 2-3 第 1 层数据流程图3 概念结构设计3.1 各个表信息的
8、实体图设计1 员工信息实体图设计员工信息表:此表记录员工所有信息,管理员通过此表进行员工查询,添加,删除,修改等操作。员工信息实体图如图3-1 所示。要 求 处理类型采购信息销售信息商品信息用户信息员工信息超市数据库超市信息管理超市人员超 市 管 理系统顾客 /会员处理查询处理要求检 查 有 效性精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 23 页个人资料整理仅限学习使用图 3-1 员工信息实体图2 商品信息实体图设计商品信息表:此表记录超市所有商品信息,管理员通过此表进行商品查询,添加,删除,修改等操作,此外,采购管理及销售管理都
9、涉及到此表。商品信息实体图如图3-2所示。图 3-2 商品信息实体图3供应商信息实体图设计供应商信息表:此表记录所有供应商基本信息,管理员通过此表进行供货商查询,添加,删除,修改等操作。供应商信息实体图如图3-3 所示。图 3-3 供应商信息实体图4商品销售单表实体图设计供应商信息名称地址联系人编号库存量商品信息表规格供应商商品编号会员价单价种类名称备注身份证号工号性别姓名职务员工表联系电话精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 23 页个人资料整理仅限学习使用商品销售单表:此表记录员工销售商品的所有信息,此表对应多个销售详单。
10、商品销售单信息实体图如图3-4 所示。图 3-4 商品销售单实体图5商品销售详单实体图设计商品销售详单表:此表与商品销售单表为一对多关系,记录商品销售情况。商品销售详单信息实体图如图3-5 所示图 3-5 商品销售详单实体图6商品采购详单实体图设计商品采购详单表:此表与商品采购单表为一对多关系,记录商品采购情况。商品采购详单信息实体图如图3-6 所示图 3-6 商品采购详单实体图7商品采购单表实体图设计商品采购单表:此表记录员工采购商品的所有信息,此表对应多个采购详单。商品采购单信息实体图如图3-7 所示总金额采购详单表采购单号价格数量编号商品编号总金额销售详单表销售单号价格数量编号商品编号销
11、售员销售单表会员号备注时间编号精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 23 页个人资料整理仅限学习使用图 3-7 商品采购单实体图8会员信息实体图设计会员信息表:此表记录所有会员基本信息,管理员通过此表进行会员查询,添加,删除,修改等操作。会员信息实体图如图3-8 所示图 3-8 会员信息实体图3.2E-R 图设计超市管理系统数据库E-R模型,如图 3-9 所示:办卡时间会员信息积分备注联系电话编号姓名采购员采购单表供应商号状态编号时间精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第
12、9 页,共 23 页个人资料整理仅限学习使用图 3-9 超市管理系统数据库E-R 模型4 逻辑结构设计实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:一个 m :n 联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。一个 1:n 联系可以转换为一个独立的关系模式,也可以与n 端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n 端实体的码。一个 1:1 联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合
13、并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实名称备注进货日期电话地址供货商编号供货商进货进货单号商品编号名称价格商品会员价m n m n 联系人供货销售日期数量精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 23 页个人资料整理仅限学习使用体码的组合实体型转换为关系模式如下:1 商品信息表 员工表 商品销售单表 商品销售详单表详单编号,商品编号,数量,销售单编号单价,总金额,备注)5) 供货商表 会员信息表 会员号,姓名,积分,联系电话
14、,办卡日期,备注)7) 商品采购单表 商品采购详单表 职务信息表 类别信息表 用户信息表 用户名,用户密码,用户权限6主键Not null商品编号pNamenvarchar(5050Not null商品名称pricedecimal(18,2Not null价格stockNumbigintNot null库存数量categorybigint外键Not null商品类别specificnvarchar(5050 null规格suppliesNonvarchar(66外键Not null供货商编号memberPricedecimal(18,2Not null会员价格精选学习资料 - - - - -
15、- - - - 名师归纳总结 - - - - - - -第 11 页,共 23 页个人资料整理仅限学习使用notenvarchar(MAXnull备注2员工信息表 , 包含员工号、姓名等信息,具体结构如表5-2 所示。表 5-2 员工信息表字段名字段类型长度主 / 外键字段值约束对应中文名employeeNonvarchar(44主键Not null员工号namenvarchar(5050Not null姓名idCardnvarchar(1818Not null身份证号dutynvarchar(44外键Not null职务sexnvarchar(22Not null性别notenvarchar
16、(MAXnull备注3供货商信息表 , 包含供货商编号、供货商名称等信息,具体结构如表5-3 所示。表 5-3 供货商信息表字段名字段类型长度主 / 外键字段值约束对应中文名suppliesNonvarchar(66主键Not null供货商编号namenvarchar(5050Not null供货商名称addressnvarchar(5050Null供货商地址personPhonenvarchar(1111Not null供货商电话personnvarchar(5050Not null联系人notenvarchar(MAXNull备注4采购单信息表 , 包含采购单编号、供货商编号等信息,具体
17、结构如表5-4 所示。表 5-4 采购单信息表字段名字段类型长度主 / 外键字段值约束对应中文名importBillNonvarchar(66主键Not null采购单编号suppliesIdnvarchar(66外键Not null供货商编号importDatedatetimeNot null采购日期employeeIdnvarchar(44外键Not null采购员编号statetinyintNot null采购单状态notenvarchar(MAXNull备注5采购详单信息表 , 包含采购详单编号、采购单编号等信息,具体结构如表5-5 所示。表 5-5 采购详单信息表字段名字段类型长度主
18、 / 外键字段值约束对应中文名importBillDetailNonvarchar(66主键Not null采购详单编号productNonvarchar(66外键Not null商品编号importBillNonvarchar(66外键Not null采购单编号quantityInt4Not null采购数量pricedecimal(18,2Not null单价totalMoneydecimal(18,2Not null总金额精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 23 页个人资料整理仅限学习使用notenvarchar(M
19、AXNull备注6销售单信息表 , 包含销售单编号、销售员编号等信息,具体结构如表5-6 所示。表 5-6 销售单信息表字段名字段类型长度主 / 外键字段值约束对应中文名saleBillNonvarchar(66主键Not null销售单编号saleDatedatetimeNot null销售日期employeeIdnvarchar(44外键Not null销售员编号VipNonvarchar(2020外键Not null会员编号notenvarchar(MAXNull备注7销售详单信息表 , 包含销售详单编号、销售单编号等信息,具体结构如表5-7 所示。表 5-7 销售详单信息表字段名字段类
20、型长度主 / 外键字段值约束对应中文名saleBillDetailNonvarchar(66主键Not null销售详单编号productIdnvarchar(66外键Not null商品编号saleBillNonvarchar(66外键Not null销售单编号saleNumInt4Not null销售数量pricedecimal(18,2Not null单价totalMoneydecimal(18,2Not null总金额notenvarchar(MAXNull备注8商品类别信息表 , 包含类别编号、名称等信息,具体结构如表5-8 所示。表 5-8 商品类别信息表字段名字段类型长度主 /
21、外键字段值约束对应中文名categoryIdnvarchar(44主键Not null类别编号namenvarchar(2020Not null名称Remarknvarchar(MAXNull备注9职务信息表 , 包含职务编号、职务名称等信息,具体结构如表5-9 所示。表 5-9 职务信息表字段名字段类型长度主 / 外键字段值约束对应中文名dutyIdnvarchar(44主键Not null职务编号dutyNamenvarchar(2020Not null职务名称Remarknvarchar(MAXNull职务简介10用户信息表 , 包含用户编号、密码、权限等信息,具体结构如表5-10 所示
22、。表 5-10 用户信息表字段名字段类型长度主 / 外键字段值约束对应中文名loginNonvarchar(44主键Not null用户名精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 23 页个人资料整理仅限学习使用passWordnvarchar(88Not null密码powernvarchar(44外键Not null用户权限11会员信息表 , 包含会员编号、姓名等信息,具体结构如表5-11 所示。表 5-11 会员信息表字段名字段类型长度主 / 外键字段值约束对应中文名vipNonvarchar(2020主键Not null
23、会员编号vipNamenvarchar(5050Not null姓名CreateDatedatetimeNot null办卡日期vipScoreint4Not null积分phonenvarchar(1111Not null联系电话notenvarchar(MAXNull备注5.2 完整性设计数据库完整性是指数据库中数据的正确性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。数据库完整性约束可以通过DBMS 或应用程序来实现,基于DBMS 的完整性约束作为模式的一部分存入数据库中。通过DBMS 实现的数据库完整性按照数据库设计步骤进行设
24、计,而由应用软件实现的数据库完整性则纳入应用软件设计数据库完整性对于数据库应用系统非常关键,其作用主要体现在以下几个方面:1数据库完整性约束能够防止合法用户使用数据库时向数据库中添加不合语义的数据。2利用基于 DBMS 的完整性控制机制来实现业务规则,易于定义,容易理解,而且可以降低应用程序的复杂性,提高应用程序的运行效率。同时,基于DBMS 的完整性控制机制是集中管理的,因此比应用程序更容易实现数据库的完整性。3合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的效能。比如装载大量数据时,只要在装载之前临时使基于DBMS 的数据库完整性约束失效,此后再使其生效,就能保证既不影响数据装载
25、的效率又能保证数据库的完整性。4在应用软件的功能测试中,完善的数据库完整性有助于尽早发现应用软件的错误。在实施数据库完整性设计的时候,有一些基本的原则需要把握:1 根据数据库完整性约束的类型确定其实现的系统层次和方式,并提前考虑对系统性能的影响。一般情况下,静态约束应尽量包含在数据库模式中,而动态约束由应用程序实现。2 实体完整性约束、参照完整性约束是关系数据库最重要的完整性约束,在不精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 23 页个人资料整理仅限学习使用影响系统关键性能的前提下需尽量应用。用一定的时间和空间来换取系统的易用性
26、是值得的。5.3 安全性设计数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。信息系统尽管功能强大,技术先进,但由于受到自身体系结构,设计思路以及运行机制等限制,也隐含许多不安全因素。常见因素有:数据的输入,输出,存取与备份,源程序以及应用软件,数据库,操作系统等漏洞或缺陷,硬件,通信部分的漏洞,企业内部人员的因素,病毒,“黑客”等因素。因此,为使本系统能够真正安全,可靠,稳定地工作,必须考虑如下问题:为保证安全,不致使系统遭到
27、意外事故的损害,系统因该能防止火,盗或其他形式的人为破坏。1)系统要能重建2)系统应该是可审查的3)系统应能进行有效控制,抗干扰能力强4)系统使用者的使用权限是可识别的SQL Server 提供多层安全。在最外层,SQL Server的登录安全性直接集成到Widows NT/2000 的安全上,它允许Windows NT 服务器验证用户。使用这种Windows 验证SQL Server就可以利用Windows NT/2000 的安全特性,例如安全验证和密码加密、审核、密码过期、最短密码长度,以及在多次登录请求无效后锁定帐号。精选学习资料 - - - - - - - - - 名师归纳总结 - -
28、 - - - - -第 15 页,共 23 页个人资料整理仅限学习使用6 应用程序设计6.1 系统功能结构图一般的超市商品管理系统,主要由四大模块组成,即基本信息管理模块,系统用户管理模块,销售管理模块,货物管理模块,此系统也不例外,主要有此四大模块组成。图 6-1 系统功能结构图。图 6-1 系统功能结构图6.2 模块设计与实现 用户登录界面运行超市管理信息系统后,首先进入用户登录界面,用户输入用户名和密码后,系统进行验证,验证通过进入程序的主界面。在进行系统登录过程中,登录模块将调用数据库里的用户信息表,并对用户名和密码进行验证,只有输入了正确的账号和密码后,系统登录才会成功。在登录模块中
29、,对系统的尝试登录次数进行了限制,禁止用户无终止的进行系统登录尝试,在本超市信息管理系统系统用户管理基本信息管理员工信息管理商品信息管理供货商信息管理会员信息管理添加用户修改密码修改权限切换用户货物管理商品采购管理退货管理缺货管理销售管理销售单管理销售查询精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 23 页个人资料整理仅限学习使用系统中,当用户对系统的三次登录失败后,系统将自动机制登录,突出登录模块。并在输入了错误的或者是不存在的账户和密码时,系统会给出出错信息提示,指明登录过程中的错误输入或者错误操作,以便用户进行正确的登录。登
30、录界面如图6-2所示。图 6-2 登录界面主要实现代码如下:/ 登录privatevoidradBtnOk_Click( object sender , EventArgs e try if ( radTxtBoxUser . Text . Trim ( = this . radLbInfo . Text = 请输入您的用户名!。 elseif ( radTxtBoxPsw . Text . Trim ( = this . radLbInfo . Text = 请输入您的密码!。 else commandUnitcom = newcommandUnit( 。stringstr = select
31、 * from UserInfo where loginNo = + radTxtBoxUser .Text . ToString ( + 。DataTable table = com. GetDataSet ( str 。if ( table . Rows . Count this . radLbInfo . Text = 用户名不存在! 。radTxtBoxUser .Text = 。radTxtBoxPsw . Text = 。return 。 str = select * from UserInfo where loginNo = + radTxtBoxUser . Text . To
32、String ( + and passWord = + radTxtBoxPsw . Text . ToString ( + 。DataTable tableUser = com . GetDataSet ( str 。if ( tableUser .Rows. Count 0 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 23 页个人资料整理仅限学习使用_currentUser = radTxtBoxUser . Text 。_currentPsw = radTxtBoxPsw . Text 。IsLogin = true 。th
33、is . Close ( 。 else this . radLbInfo . Text = 密码错误! 。radTxtBoxPsw . Text = 。 catch ( System.Exception ex throw ex。 2 主界面系统登录成功后,进入主界面菜单。主界面如图6-3 所示。图 6-3 主界面3 修改密码界面成功登录系统后,单击“用户信息管理”菜单的“修改密码”,可以进入“修改密码”界面,进行密码的修改。修改密码界面如图6-4 所示。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 23 页个人资料整理仅限学习使用图
34、 6-4 修改密码界面主要实现代码如下:/ 修改密码protectedvirtualvoidradBtnOk_Click( object sender , EventArgs e if ( radTxtBoxOldPsw . Text = null | radTxtBoxOldPsw . Text . Trim ( = MessageBox. Show ( 请输入旧密码!。 , 提醒 , MessageBoxButtons . OK , MessageBoxIcon. Information。return 。 if ( radTxtBoxNewPsw. Text = null | radTxt
35、BoxNewPsw. Text . Trim ( = | radTxtBoxEnterPsw .Text = null | radTxtBoxEnterPsw . Text . Trim ( = MessageBox. Show ( 请输入新密码!。 , 提醒 , MessageBoxButtons . OK , MessageBoxIcon. Information。return 。 stringcurrPwd = RFrmLogin. CurrentPsw 。if ( currPwd = radTxtBoxOldPsw . Text . Trim ( if ( isSame( comman
36、dUnitcom = newcommandUnit( 。stringstr = update UserInfo set passWord = + radTxtBoxEnterPsw .Text . ToString ( + where loginNo = + RFrmLogin. CurrentUser + 。if ( com . ExecuteCommand ( str 0 MessageBox. Show ( 密码修改成功!。 , 提醒 , MessageBoxButtons . OK , MessageBoxIcon. Information。 else MessageBox. Show
37、 ( 密码修改失败,请联系管理员!。 , 提醒 , MessageBoxButtons . OK , 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 19 页,共 23 页个人资料整理仅限学习使用MessageBoxIcon. Information。 else MessageBox. Show ( 两次密码输入不一致! , 提醒 , MessageBoxButtons . OK , MessageBoxIcon. Information。 else MessageBox. Show ( 输入密码错误! , 提醒 , MessageBoxButto
38、ns . OK , MessageBoxIcon. Information。 4 修改密码界面管理员成功登录系统后,单击“用户信息管理”菜单的“修改权限”,可以进入“修改权限”界面,进行员工权限的修改。修改权限界面如图6-5 所示。图 6-5 修改权限界面主要实现代码如下:/ 修改权限protectedoverridevoidradBtnOk_Click( object sender , EventArgs e if ( radTxtBoxOldPsw . Text = null | radTxtBoxOldPsw . Text . Trim ( = MessageBox. Show ( 请输
39、入用户名!。 , 提醒 , MessageBoxButtons . OK , MessageBoxIcon. Information。return 。 if ( radComBoxPower . Text = null | radComBoxPower . Text . Trim ( = 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 20 页,共 23 页个人资料整理仅限学习使用MessageBox. Show ( 请为用户设置权限!。 , 提醒 , MessageBoxButtons . OK , MessageBoxIcon. Informa
40、tion。return 。 commandUnitcom = newcommandUnit( 。stringstr = update UserInfo set power = + radComBoxPower . SelectedValue. ToString ( + where loginNo = + radTxtBoxOldPsw . Text . ToString ( + 。if ( com . ExecuteCommand ( str 0 MessageBox. Show ( 权限修改成功!。 , 提醒 , MessageBoxButtons . OK , MessageBoxIcon
41、. Information。 else MessageBox. Show ( 权限修改失败,请联系管理员!。 , 提醒 , MessageBoxButtons . OK , MessageBoxIcon. Information。 5 编辑员工信息界面管理员成功登录系统后,单击“基本信息管理”菜单的“员工信息”,可以进入“查看员工信息”界面和“编辑员工信息”界面,“查看员工信息”界面只能查看员工信息,“编辑员工信息”界面进行员工信息的修改、添加、删除等功能。编辑员工信息界面如图 6-6 所示。图 6-6 编辑员工信息界面主要实现代码如下:精选学习资料 - - - - - - - - - 名师归
42、纳总结 - - - - - - -第 21 页,共 23 页个人资料整理仅限学习使用/ 保存protectedvirtualvoidtSBtnSave_Click( object sender , EventArgs e try if ( IsVilude( bool isSuccess = false 。commandUnitcom = newcommandUnit( 。EmployeeModel emp 。for ( int j = 0 。 j emp = newEmployeeModel( 。 #region同步数据if ( radWithGV.Rows j . Tag != null
43、emp = radWithGV. Rows j . TagasEmployeeModel。 else emp . EmployeeNo = radWithGV. Rows j . Cells employeeNo . Value . ToString ( 。emp . Name = radWithGV. Rows j . Cells name. Value . ToString ( 。emp . Sex = radWithGV. Rows j . Cells sex . Value . ToString ( 。emp . IdCard = radWithGV. Rows j . Cells i
44、dCard. Value . ToString ( 。emp . Duty = radWithGV. Rows j . Cells duty. Value . ToString ( 。emp . Note = radWithGV. Rows j . Cells note . Value . ToString ( 。emp . IsNew = true 。 #endregion if ( emp . IsNew stringstr = select * from EmployeeInfo where employeeNo = + emp .EmployeeNo + 。DataTable dtab
45、le = com . GetDataSet ( str 。if ( dtable . Rows . Count str = insert into EmployeeInfo values( + emp . EmployeeNo + , + emp . Name + ,+ emp . Sex + , + emp . IdCard + , + emp . Duty + , + emp . Note + 。if ( com . ExecuteCommand ( str 0 _isSaved = true 。isSuccess = true 。emp . IsNew = false 。radWithG
46、V. Rows j . Tag = emp 。 else MessageBox. Show ( 该员工已存在,请审核信息!。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 22 页,共 23 页个人资料整理仅限学习使用 elseif ( emp . IsModified stringstrSql = update EmployeeInfo set name = + emp . Name + ,sex = + emp . Sex+ ,idCard = + emp . IdCard + ,duty = + emp . Duty + ,note = + emp .Note + where employeeNo = + emp . EmployeeNo + 。if ( com . ExecuteCommand ( strSql 0 _isSaved = true 。isSuccess = true 。emp . IsModified = false 。radWithGV. Rows j . Tag = emp 。 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 23 页,共 23 页