- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
尚辅网 第14章 支付员工薪水 模块业务 14.1 系统业务 业务一:近期由于物价上涨,公司也要给员工上涨工资: 月基本工资少于2000元的员工上涨工资30%;在2001元至3000元之间的员工上涨工资20%;在3001元至6000元的员工上涨工资10%;6001元以上的员工上涨工资5%. 业务二:员工迟到罚款20元;早退罚款30元;旷工罚款50元。汇总每位员工迟到早退罚金。 业务三:每月要给员工发放工资,公司要累计每个员工工资,要将公司所有员员工的工资进行汇总,还要对扣除所发员工工资后的公司帐上余额进行计算。 基础知识精讲 14.2 基础知识精讲 14.2.1标量函数 标量函数的定义 标量函数的定义: CREATE FUNCTION [所有者] 函数名称 ( @参数 数据类型, @参数 数据类型 ) RETURNS –返回的参数的类型 as begin --这儿需要编写执行的T-SQL语句 RETURN 标量表达式 end 标量函数示例 标量函数sumwage的功能是 求员工总工资.输入员工的工号,从工资表wage找到相应的行, 将总工资=基本工资(BasicWage)+奖金(Bonus)-迟到罚款(LateMinus)-早退罚款(EarlyLeaveMinus)-缺勤罚款(AbsenceMinus)-病假罚款(SickLeaveMinus)-事假罚款(AffairLeaveMinus) 标量函数代码 标量函数sumwage的代码如下: create function sumwage ( @empid int ) returns money as begin declare @sumwage money SELECT @sumwage=(ISNULL(BasicWage,0.00)+ISNULL(Bonus,0.00)-ISNULL(LateMinus,0.00)-ISNULL(EarlyLeaveMinus,0.00)-ISNULL(AbsenceMinus,0.00) -ISNULL(SickLeaveMinus,0.00)-ISNULL(AffairLeaveMinus,0.00)) FROM dbo.Wage where EmpID=@empid return @sumwage end 空值处理 注意:上述代码中有的员工没有受到处罚,或者有的员工没有奖金。即该列列值为空值,如何进行进行空值处理,可以使用空值函数ISNULL。 ISNULL的定义:ISNULL(列名,0.00) 如果该列名为空值,空值作0处理。如: ISNULL(Bonus,0.00),如果奖金列Bonus为空值NULL,则该列为0;其余各列空值处理雷同。 表值函数 14.2.2表值函数 表值函数的定义 表值函数与标量函数的定义相似,标量函数返回值为一个具体的数据,而表值函数返回值为 一张表。 CREATE FUNCTION [所有者] 表值函数名称 ( @参数 数据类型, @参数 数据类型 ) RETURNS @ReturnTable Table ( 列名1 数据类型, 列名2 数据类型 ) as begin --这儿需要编写执行的T-SQL语句 RETURN end NET事务 14.2.3 NET事务 TransactionScope事务范围可以控制对数据库的数据提交,保持数据的一致性,对员工发工资时,要对单个员工的工资进行汇总,对单位所有员工所发工资进行汇总。有可能程序更新了一条记录,没有来得及更新另外一条记录,发生停电、网络问题等故障,会导致数据的前后不一致。因此,为了避免这种情况发生,需要使用事务。TransactionScope事务有二个基本命令:Complete()、Dispose()。 Complete()标识事务提交,Dispose()标识事务回滚到数据初始状态。 NET事务使用 NET事务使用 要使用TransactionScope范围事务要增加引用 System.Transactions. 假如我们对签到类型表CheckType先进行插入操作,再执行一个删除操作,再执行一个插入操作。如果没有用事务范围进行控制管理,则会是什么结果。 NET事务操作分布式数据库 支付薪水功能实现 14.3支付薪水功能实现 14.3.1UML设计 实体层Model 实体层共有四个类.分别为EmployeeInfo、WageInfo、EmployeeSumWageInfo、EmpOutWage。实现工资发放功能需要使用数据库zdpersys中的三张表:员工表Employee、工资表Wage、工资汇总表EmployeeSumWage; EmployeeInfo、WageInfo、EmployeeSumWageInfo是对表的映射。EmpO
您可能关注的文档
- VB程序设计案例教程( ) 第1章 中文 VB 程序设计基础.ppt
- VB程序设计案例教程( ) 第2章 中文 VB 程序设计基础.ppt
- VB程序设计案例教程( ) 第3章 中文 VB 程序设计基础.ppt
- VB程序设计案例教程( ) 第4章 中文 VB 程序设计基础.ppt
- VB程序设计案例教程( ) 第5章 中文 VB 程序设计基础.ppt
- VB程序设计案例教程( ) 第6章 中文 VB 程序设计基础.ppt
- VB程序设计案例教程( ) 第7章 中文 VB 程序设计基础.ppt
- VB程序设计案例教程( ) 第8章 中文 VB 程序设计基础.ppt
- VB程序设计案例教程( ) 第9章 中文 VB 程序设计基础.ppt
- VB讲稿 第1章Visual Basic概述.ppt
- VC#.NET数据库应用程序设计 课件 第15章 版本控制软件VSS2005.ppt
- VC#.NET数据库应用程序设计 课件 第16章 使用Workshop设计帮助文件.ppt
- VC#.NET数据库应用程序设计 课件 第17章 部署人事工资管理系统.ppt
- Verilog HDL数字集成电路设计原理与应用 教学课件 作者 蔡觉平第1章.ppt
- Verilog HDL数字集成电路设计原理与应用 教学课件 作者 蔡觉平第2章.ppt
- Verilog HDL数字集成电路设计原理与应用 教学课件 作者 蔡觉平第3章.ppt
- Verilog HDL数字集成电路设计原理与应用 教学课件 作者 蔡觉平第4章.ppt
- Verilog HDL数字集成电路设计原理与应用 教学课件 作者 蔡觉平第5章.ppt
- Verilog HDL数字集成电路设计原理与应用 教学课件 作者 蔡觉平第6章.ppt
- Verilog HDL数字集成电路设计原理与应用 教学课件 作者 蔡觉平第7章.ppt
最近下载
- 【0196】82页PPT农业集团企业信息化总体解决方案(豪华版).pptx VIP
- 2025至2030自动焊接机器人系统行业调研及市场前景预测评估报告.docx
- 北师大版(北京)八年级全册物理第七章 热现象单元练习题.doc VIP
- SMTC 5 320 040 与空气接触橡胶材料要求(20130531).pdf VIP
- 酒厂(白酒生产企业)安全生产标准化管理体系全套资料汇编(2019-2020新标准实施模板).doc VIP
- 2024-2025学年八年级物理上册第一章《声现象》单元测试卷(苏科版2024新教材)(含解析).pdf VIP
- 2019年上海科技大学991数据结构与算法硕士研究生考试真题.pdf VIP
- 职业中等学校音乐表演人才培养方案.docx VIP
- 英语 第一册(五年制高职)课件全套 Unit1 A New School---Unit8 Time to Celebrate.pptx
- 四年级数学-课前三分钟讲稿-三角形和四边形-图形稳定性的应用--精品课件.ppt VIP
文档评论(0)