1、第 18 章最常用的操作 信息查询系统o 数据库操作中使用最频繁是查询,就是通过系统在数据库中查找所需要 的结果。本章通过向 “ 人力资源管理系统 ” 查询和浏览员工奖惩信息模块介绍如果查询和浏览数据库中的记录,本系统采用三层体系架构进行分析、设计和实现,并描述了开发过程中常见的问题及解决方法。o o 系统分析o 数据库分析和设计o 系统设计o 运行系统o 在我的 WinForm应用中应用本系统o 开发过程常见问题及解决o 系统分析o 数据库分析和设计o 系统设计o 运行系统o 在我的 WinForm应用中应用本系统o 开发过程常见问题及解决18.1 系统分析o 查询是使用最频繁的一种操作,
2、“ 人力资源管理系统 ” 的主要功能模块中都涉及到查询数据库表中记录,并显示查询结果的操作。如:n 员工管理模块中查询和浏览所有员工信息和查询满足条件的员工信息;n 考评管理模块中查询和浏览有员工的考评信息和查询满足条件的员工考评信息;n 员工调动管理模块中查询和浏览员工的调动信息;n 培训管理模块中查询和浏览员工的培训信息;n 奖惩管理模块中查询和浏览员工的奖惩信息等。o 这些对信息的查询和浏览操作基本上是类似的,在三层体系结构中,表示层提供查询和浏览的操作界面,业务逻辑层实现具体查询和浏览的业务逻辑,数据访问层负责把在数据库中进行检索。本章下面以查询和浏览员工奖惩信息为例来介绍如何在数据库
3、中进行查询和浏览操作。o 系统分析o 数据库分析和设计o 系统设计o 运行系统o 在我的 WinForm应用中应用本系统o 开发过程常见问题及解决18.2 数据库分析和设计o 查询和浏览员工奖惩信息涉及到四个表:一个是存放员工奖惩信息的员工奖惩表,其他三个是员工信息表和其有外键约束的员工职位表和员工部门表。数据库设计如下:o 员工奖惩表( RewardsInfo)是记录员工奖惩信息的,其中 Rid是主键, Eid是外键约束。员工信息表( EmployInfo)部门表和职位表在第 16章已经列出, 在员工信息表中,字段 Sid和 Pid的值来自职位表和部门表中的字段。o 员工奖惩表( Rewar
4、dsInfo)结构如下:o o 由于奖惩信息表中存储的是员工编号,为了能显示出培训员工的姓名,职位和所属部门,需要在多个表中进行 LINQ查询。和第 17章一样我们创建一个视图用于查询,视图名为 RewardsView。列名 数据类型是否空描述RId Int No 标识列,编号Eid Varchar(10)No 员 工编号Date Varchar(12)No 日期Type Varchar(5)No 奖惩类型ReasonInt Yes 原因Score Int Yes 奖惩分数remarksVarchar(200)Yes 备 注创建视图 RewardsView的步骤如下。o 打开 SQL Server 2008或 2005,或在 Visual Studio 2008中打开服务器资源管理器,展开数据库 Hrmanage下的视图项,在视图上单击鼠标右键创建新视图。o 添加所用到的四个表和所需的字段,一个新的视图就创建好了。o 单击保存按钮,保存视图待用。o 系统分析o 数据库分析和设计o 系统设计o 运行系统o 在我的 WinForm应用中应用本系统o 开发过程常见问题及解决18.3 系统设计o 本节和第 17章类似,使用 LINQ to SQL从视图中进行信息查询。分别在 HrDAL、 HrBLL表示数据访问层和业务逻辑层添加相应的查询方法,在表示层实现操作界面。下面介绍代码的编写。