VC#.NET数据库应用程序设计 课件第13章 超假罚款计算模块

上传人:w****i 文档编号:92361431 上传时间:2019-07-09 格式:PPT 页数:20 大小:1.02MB
返回 下载 相关 举报
VC#.NET数据库应用程序设计 课件第13章 超假罚款计算模块_第1页
第1页 / 共20页
VC#.NET数据库应用程序设计 课件第13章 超假罚款计算模块_第2页
第2页 / 共20页
VC#.NET数据库应用程序设计 课件第13章 超假罚款计算模块_第3页
第3页 / 共20页
VC#.NET数据库应用程序设计 课件第13章 超假罚款计算模块_第4页
第4页 / 共20页
VC#.NET数据库应用程序设计 课件第13章 超假罚款计算模块_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《VC#.NET数据库应用程序设计 课件第13章 超假罚款计算模块》由会员分享,可在线阅读,更多相关《VC#.NET数据库应用程序设计 课件第13章 超假罚款计算模块(20页珍藏版)》请在金锄头文库上搜索。

1、第13章 超假罚款模块,大连理工大学 出版,模块业务,13.1系统业务 有的公司规定:员工有事可以请假,一年之内,事假不超过3天(含3天),每超过一天从工资中扣50元;病假不超过7天(含7天),每超过一天扣30元; 婚假不超过7天(含7天), 每超过一天扣60元;女员工产假不超过100天(含100天),每超过一天扣40元。,设计测试用例,13.2设计测试用例,基础知识综合应用,13.3基础知识综合应用 13.3.1存储过程应用,存储过程GetDepName,13.3.1.1存储过程GetDepName 从部门Department表中找出两列,部门编号DepartmentID,部门名称Depar

2、tmentName. 代码如下: create proc GetDepName as select DepartmentID,DepartmentName from Department,存储过程GetEmpName,13.3.1.2存储过程GetEmpName 功能是根据从外部传入一个部门的部门名称,在表Department中根据部门名称查找部门号,在表Employee中根据部门号查找该部门的员工姓名。代码如下: create PROCEDURE dbo.GetEmpName ( -从外部传入一个部门的部门名称数 DepName varchar(20) ) AS BEGIN -在表Depar

3、tment中根据部门名称,查找部门号; -在表Employee中根据部门号查找该部门的员工姓名; select EmpID,EmployeeName from Employee where DepartmentID in(select DepartmentID from dbo.Department where DepartmentName=DepName) END,存储过程GetLeaveName,13.3.1.3存储过程GetLeaveName -获取请假的类型名称 create proc GetLeaveName as -选择请假类型表所有的列 select LeaveTypeID,Le

4、aveType,LeaveDay,LeaveMoney from LeaveType,存储过程LeaveRecordPROC,13.3.1.4存储过程LeaveRecordPROC 其功能是往请假登记(LeaveRecord) 表中插入数据 create proc LeaveRecordPROC ( EmpID INT, LeaveType INT, BeginDate datetime, EndDate datetime, Remark varchar(50), checkedDays float ) as begin INSERT INTO LeaveRecord(EmpID,LeaveT

5、ype,BeginDate,EndDate,Remark,Days,checkedDays) VALUES(EmpID,LeaveType,BeginDate,EndDate,Remark,datediff(dd,BeginDate,EndDate),checkedDays) End,存储过程EmpLeaveWage,13.3.1.5存储过程EmpLeaveWage 其功能是计算员工超假罚款 CREATE PROC EmpLeaveWage as select EmployeeName as 员工姓名,sum(dbo.LeaveWage(BeginDate,EndDate,LeaveType)

6、 请假罚款 from dbo.LeaveRecord LR JOIN dbo.Employee EY ON LR.EmpID=EY.EmpID group by EmployeeName 注意,在这个存储过程中调用了一个自定义函数 LeaveWage,标量函数应用,13.3.2 标量函数应用 标量函数是用户自定义函数的一种,函数是由一个或多个 Transact-SQL 语句组成的子程序,可用于封装代码以便重新使用。下面的自定义函数的作用就是:输入请假开始时间、请假结束时间、请假类型,计算出请假扣款额。详解见第17章标量函数定义。,泛型应用,13.3.3 泛型应用 13.3.3.1泛型列表Get

7、DepName 在类Department中有一个泛型列表,其功能:用存储过程GetDepName从数据表Department中取获取系部编号DepartmentID和系部名称DepartmentName,把两列的值存放到泛型列表ListDep中, ListDep作为整个方法的返回值。IList GetDepName()中的数据用于绑定界面中“请假人单位”组合框。,泛型列表GetEmpName,13.3.3.2泛型列表GetEmpName 在Employee类有一泛型列表GetEmpName(),其功能是从外部传入部门名称,找到该部门人所有员工。 在类与类之间进行信息交换时,采用了构造方法传值的

8、方式。,泛型列表GetLeaveName,13.3.3.3泛型列表GetLeaveName 在类LeaveType中有一个泛型列表GetLeaveName,其功能是从请假数据表LeaveType中查找请假编号、请假类型、请假天数、超假罚金。用声明的泛型列表对象ListLT装载从数据库读取的值,而整个GetLeaveName的返回值也是泛型列表对象ListLT的值。,反射应用,13.3.4 反射应用 13.3.4.1用反射获取类Department中字段 13.3.4.2用反射获取类Employee中字段 13.3.4.3用反射获取类LeaveType中字段 用反射获取请假类LeaveType中

9、字段,存进数组propertyLeave中去。代码如下: public PropertyInfo GetLeaveColumn() LeaveType LT = new LeaveType(); PropertyInfo propertyLeave = LT.GetType().GetProperties(); return propertyLeave; ,超假罚款模块实现,13.4超假罚款模块实现 13.4.1插入员工请假信息 13.4.1.1设计UML 图,单元测试,13.4.1.6单元测试,生成测试项目,13.4.1.6.2选择输出项目,打开测试视图,13.4.1.6.4 打开测试视图,测试结果,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号