1、第 16 章向数据库中添加记录 信息录入系统o 向数据库中添加数据是一种常见的操作,如何将新的数据添加到数据库中呢?本章通过向 “ 人力资源管理系统 ” 添加员工的操作给大家介绍添加数据的具体方法和步骤,系统采用三层架构进行设计,并介绍了开发过程中常见的问题及解决方法。o 系统分析o 数据库分析和设计o 系统设计o 运行系统o 在我的 WinForm应用中应用本系统o 开发过程常见问题及解决o 系统分析o 数据库分析和设计o 系统设计o 运行系统o 在我的 WinForm应用中应用本系统o 开发过程常见问题及解决16.1 系统分析o 向数据库表中增加新记录是一种常见的操作, “ 人力资源管理系
2、统 ”中的主要功能模块中都涉及到添加记新录到数据库表中的操作。如:o 员工管理模块中添加新员工操作;n 考评管理模块中添加员工的考评信息;n 员工调动管理模块中添加员工的调动信息;n 培训管理模块中添加员工培训的记录信息;n 奖惩管理模块中添加对员工的奖惩信息等。o 上面这些添加信息到数据库表中的操作基本上是类似的,在三层体系结构中,表示层提供添加信息的录入界面,业务逻辑层实现具体的业务逻辑,数据访问层负责把新数据添加到数据库表中。本章以添加员工信息为例来介绍向数据库中添加记录的操作过程和代码的编写。o 系统分析o 数据库分析和设计o 系统设计o 运行系统o 在我的 WinForm应用中应用本
3、系统o 开发过程常见问题及解决16.2 数据库分析和设计o 添加员工信息到数据库中涉及到三个表:一个是存放员工信息的员工信息表,其他两个是和员工信息表有外键约束的员工职位表和员工部门表。数据库设计如下:员工信息表( EmployInfo):用来存储员工的信息。o 在员工信息表中,字段 Sid和Pid的值来自职位表和部门表中的字段。列名 数据 类 型 是否空 描述EId Varchar(10) No 标识 列, 员 工 编号EName Varchar(10) No 姓名ESex Varchar(10) No 性 别EBirthday Varchar(20) Yes 生日Ecard char(18
4、) Yes 身份 证Etel char(13) Yes 电话Eaddress Varchar(30) Yes 地址Sid Int Yes 部 门Pid Int Yes 职务Ewage Money Yes 薪水EnterTime Varchar(50) Yes 入 职时间State Varchar(5) Yes 当前状 态Dimission Varchar(50) Yes 离 职时间Resume Varchar(200) Yes 简历Remarks Varchar(200) Yes 备 注Ephoto Image Yes 照片职位表( PostInfo):用来存储公司所有职位的名称;o 列名 数
5、据类型 是否空 描述Pid int no 编号,自动编号postName Varchar(10) no 职务名 部门表( Section):用来存储公司所有部门的信息。列名 数据类型 是否空 描述 Sid int no 编号,自动编号SectionName Varchar(10) no 部门名 o 系统分析o 数据库分析和设计o 系统设计o 运行系统o 在我的 WinForm应用中应用本系统o 开发过程常见问题及解决16.3 系统设计o 在第 15章中给出了系统的总体设计,本节在第 15章的基础上,使用 LINQ 操作实现添加员工信息的操作。用 HrDAL、 HrBLL、HrMamage分别表示数据访问层、业务逻辑层和表示层, DataLinq层辅助数据库的读写操作。下面介绍代码的编写。o 1. 在 HrDAL数据访问层的 HrDAL.cs文件中的 DALEmployInfo类里添加增加记录的 InsertRecord方法,编写代码如下(代码 16-1-1.txt):o 2. 在 HrDAL数据访问层的 HrDAL.cs文件中的 DALEmployInfo类里添加获取员工标号 Eid字段最大值的 SelectMaxRecordNo方法,编写代码如下(代码 16-1-2.txt):