欢迎来到天天文库
浏览记录
ID:5434959
大小:138.50 KB
页数:23页
时间:2017-12-12
《第17章更新数据——信息修改系统(c#从入门到精通)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第17章更新数据——信息修改系统数据库中的数据是经常改变的,如何将通过系统将改变后的数据保存到数据库中呢?本章通过向“人力资源管理系统”修改员工培训信息模块介绍修改数据的具体方法和步骤,介绍了基于三层体系架构的信息修改模块的分析、设计和实现,并描述了开发过程中常见的问题及解决方法。系统分析数据库分析和设计系统设计运行系统在我的WinForm应用中应用本系统开发过程常见问题及解决系统分析数据库分析和设计系统设计运行系统在我的WinForm应用中应用本系统开发过程常见问题及解决17.1系统分析修改数据库表中的记录也是一种常见的操作,
2、“人力资源管理系统”的主要功能模块中都涉及到修改数据库表中记录的操作有很多。如:员工管理模块中修改员工信息和删除员工信息;考评管理模块中修改员工的考评信息和删除员工的考评信息;员工调动管理模块中修改员工的调动信息和删除员工的调动信息;培训管理模块中修改员工培训的记录信息和员工培训的记录信息;奖惩管理模块中修改员工的奖惩信息和删除员工的奖惩信息等。上面这些修改信息的操作基本上是类似的,在三层体系结构中,表示层提供修改信息的操作界面,业务逻辑层实现具体的修改业务逻辑,数据访问层负责把修改过的数据更新到数据库表中。本章以修改员工培训信
3、息为例来介绍如何修改数据库中员工培训信息记录以及如何删除培训记录的编码过程。系统分析数据库分析和设计系统设计运行系统在我的WinForm应用中应用本系统开发过程常见问题及解决17.2数据库分析和设计修改员工培训信息到数据库中涉及到四个表:一个是存放员工培训信息的员工培训信息表,其他三个是员工信息表和其有外键约束的员工职位表和员工部门表。数据库设计如下:员工培训表(TrainInfo)是记录员工的培训信息,其中Tid是主键,Eid是外键约束。员工信息表(EmployInfo)部门表和职位表在第16章已经列出,在员工信息表中,字段S
4、id和Pid的值来自职位表和部门表中的字段。员工培训表(TrainInfo)结构如下:列名数据类型是否空描述TidIntNo标识列,编号EidVarchar(10)No员工编号DateVarchar(50)Yes日期CourseVarchar(20)No培训课程RemarksVarchar(200)Yes备注由于培训信息表中存储的是员工编号,为了能显示出培训员工的姓名,职位和所属部门,需要在多个表中进行LINQ查询。目前LINQ不支持返回多表联合查询的结果,对于这个情况的一种解决办法是创建一个视图,视图里面包含需要的所有数据列,
5、然后在视图里面查询,返回视图查询的结果。所以我们下面创建一个名为TrainEmployeeView的视图。➊打开SQLServer2008或2005,或在VisualStudio2008中打开服务器资源管理器,展开数据库Hrmanage下的视图项,在视图上单击鼠标右键创建新视图。➋添加所用到的表和所需的字段,保存即可得到所需要的视图。系统分析数据库分析和设计系统设计运行系统在我的WinForm应用中应用本系统开发过程常见问题及解决17.3系统设计在第15章中给出了系统的总体设计,本节在第15章的基础上,使用LINQtoSQL实现
6、从视图中查询信息、修改培训表中记录和删除表中的记录等操作。分别在HrDAL、HrBLL表示数据访问层和业务逻辑层添加相应的编辑和删除表中记录的方法,在表示层实现操作界面。下面介绍代码的编写。1.在DataLinq层在DataLinq层中打开设计好的HrDataLinq.dbml,把新建的视图TrainEmployeeView从服务器资源管理器中拖放到dbml设计器中,单击保存,自动重新生成DataContext类,完成视图对应视图的创建和映射。如下图。2.在HrDAL数据访问层在HrDAL数据访问层HrDAL.cs文件中新建类D
7、ALTrainInfo用于管理对TrainInfo表操作的方法:SelectRecordAll方法用于查询员工的培训信息;UpdateRecord方法用于更新编辑后的记录到数据库;DeleteRecordByTID方法是通过培训编号删除对应的一条记录。代码如下。(1)用于查询员工的培训信息SelectRecordAll方法(代码17-1-1.txt)(2)用于更新编辑后的记录到数据库UpdateRecord方法(代码17-1-2.txt)(3)通过培训编号删除对应的一条记录的DeleteRecordByTID方法(代码17-1-
8、3.txt)3.在业务逻辑层在业务逻辑层,分别添加与数据访问层中的方法的对应方法:SelectRecordAll方法、UpdateRecord方法和DeleteRecordByTID方法分别实现查询视图、编辑记录和删除记录的业务逻辑。在项目HrBLL中HrBLL
此文档下载收益归作者所有