基于VC的工资管理系统的设计和实现毕业论文.doc_第1页
基于VC的工资管理系统的设计和实现毕业论文.doc_第2页
基于VC的工资管理系统的设计和实现毕业论文.doc_第3页
基于VC的工资管理系统的设计和实现毕业论文.doc_第4页
基于VC的工资管理系统的设计和实现毕业论文.doc_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于 VC 的工资管理系统的设计与实现 摘摘 要要 随着计算机技术的飞速发展 计算机在企业管理中应用越来越普及 利用计 算机实现企业人事工资的管理势在必行 本系统是结合公司实际的财务制度 经 过实际的需求分析 采用功能强大的 Visual C 6 0 做为开发工具而开发出来的单 机版工资管理系统 工资管理系统是针对企业的工资管理业务进行计算机处理而开发的应用软件 整个系统从符合操作简便 界面友好 灵活 实用 安全的要求出发 完成人事 工资管理的全过程 企业的工资管理是公司管理的一个重要内容 该系统由基本 信息管理 工资管理 工资查询 系统管理 帮助等子模块组成 功能基本涵盖 普通企业的工资管理业务范围 企业应用本系统后 可以有效的提高工资管理水 平 本文从需求分析 可行性分析 总体设计 数据库设计 功能模块编程实现 等方面阐述了本系统的设计过程 为便于说明 文中绘制了程序结构框图 部分 界面图和数据表 最后附有主要的源程序代码清单 关键词关键词 数据库 Visual C 6 0 工资管理 The design approach and implementation of the wages management system based on vc Abstract With the development of the computer technology and computers are universally used in business enterprise manage more and more so it is imperative to implement The Management of Enterprise Personnel Wages using computers Actual company finance is combinative in this system I have already made demand analysis and adopted Visual C 6 0 which is mighty in function as the tool to develop the management of enterprise personnel wages system that is the single machine version Salary Management System is specially designed for the application of device managing of enterprise The whole system must match the request which are operation simple the interface amity vivid practical and safe and complete the management of personal and wages process The Management of Enterprise Personnel Wage is an important content in company manage The system is consisted with six subsystems They are system maintenance querying forming and listing These functions can meet the demands of most of the business If the enterprise uses this system the management of salary can rapidly be improved In this paper a description is given on the design process of this system from demands analyzing feasibility analysis frame design database design programming module Program structure diagram some map interfaces and data sheets are presented for the purpose of description In addition program source code is listed in the end of the article Keywords Database Visual C 6 0 Salary management 目目 录录 1 引言 1 2 系统需求分析 2 3 可行性分析 3 4 总体设计 4 4 1 系统功能结构 4 4 2 设计目标 4 5 系统设计 5 5 1 使用的相关技术介绍 5 5 2 数据库设计 5 5 2 1 数据库概要说明 5 5 2 2 部分数据表的结构 6 5 2 3 部分 E R 模型的设计 7 6 主要功能模块设计 9 6 1 建立工程框架 9 6 2 主窗口设计 11 6 2 1 菜单资源设计 11 6 2 2 客户区设计 12 6 3 登录模块设计 13 6 3 1 实现目标 13 6 3 2 设计步骤 13 6 3 3 代码分析 14 6 4 员工录入模块设计 15 6 4 1 实现目标 15 6 4 2 设计步骤 16 6 4 3 代码分析 16 6 5 员工工资添加模块设计 19 6 5 1 实现目标 19 6 5 2 设计步骤 19 6 5 3 代码分析 20 6 6 用户管理模块设计 25 6 6 1 实现目标 25 6 6 2 设计步骤 25 6 6 3 代码分析 26 6 7 总体查询模块设计 29 6 7 1 实现目标 29 6 7 2 设计步骤 29 6 7 3 代码分析 33 7 结论 39 谢辞 40 参考文献 41 附录 42 外文翻译 68 1 引言 随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制 的迅速完善 各个行业都在积极使用现代化的管理工具 不断改善企业的服务质 量 提高工作效率 无论是行政职能 还是生产运作的管理要求的不断提高 在 很大程度上使企业不得不改变传统的经营管理方式以适应快速发展的社会主义市 场经济体制 改变企业管理方式和方法已经成为企业发展的先决条件 建立一个 科学高效的信息管理系统是解决这一问题的好方法 运用现代化技术对企业内部的财务进行管理 是提高企业工作效率的有效手 段 工资管理作为企业内部财务管理的一个重要方面 逐步被企业管理者所重视 通过计算机管理系统对员工工资进行全面的统计与管理 全面解决了工资管理过 程中所遇到的各种问题 并且克服了传统管理方式中的易出错等问题 工资管理 系统成为企业现代化管理中的首选管理工具 2 系统需求分析 员工工资管理系统是保证企业对员工工资的管理可以有秩序的进行的管理 软件 员工工资管理系统是用于企业对员工工资进行的集中分发管理 开发的 总体任务是实现工资管理的系统化 规范化和自动化 从而达到提高工资管理 效率的目的 1 工资管理系统主要根据公司的要求进行设计 并了解了公司工资的工作流 程 该系统是由基本信息管理 工资查询 工资管理 系统管理和帮助等几个 功能模块组成 规划系统功能模块如下 1 基本信息管理模块 基本信息管理模块主要包括员工录入 员工删除两个部分 2 工资查询模块 工资查询模块主要包括基本工资查询 浮动工资查询 加班 休假查询 总体查询四个部分 3 工资管理模块 工资管理模块主要包括工资发放管理 基本工资管理 浮动工资管理三个 部分 4 系统管理模块 系统管理模块主要包括用户管理 修改密码 退出系统三个部分 5 帮助模块 帮助模块主要包括关于一个部分 3 可行性分析 传统的工资管理方法 都是通过人工统计和计算的管理方式进行的 这样的 管理方法不但费时费力 也容易产生计算上的错误和疏漏 计算机技术的全面普 及 打破了财务管理的传统管理方法 提高了管理效率的同时 克服了传统管理 方法中易产生的问题 使管理员能够有序的 全面的对每一位职工进行管理 严 格按照工资条款及发放制度计算并发放员工工资 企业工资管理系统可以完成日常工资的管理 如查询 修改 增加 删除以 及存储等操作 迅速准确地完成各种工资数据的统计和汇总工作 快速打印出工 资报表等 大大提高了企业工资管理效率 2 4 总体设计 系统总体设计是把需求转化为软件系统的最重要的环节 系统总体设计的优 劣在根本上决定了软件系统的质量 3 4 1 系统功能结构 工资系统的功能结构如图 1 所示 工资管理系统 基本信息管理工资管理工资查询系统管理帮助 员工录入 员工删除 基本工资管理 浮动工资管理 浮动工资查询 加班休假查询 总体查询 用户管理 修改密码 退出系统 关于 基本工资查询 工资发放管理 图 1 系统功能图 4 2 设计目标 本系统是根据中小企业的实际需求而开发的 完全能够实现企业对客户的自 动化管理 通过本系统可以达到以下目标 1 系统运行稳定 安全可靠 2 界面设计美观 人机交互界面友好 3 信息查询灵活 方便 快捷 准确 数据存储安全可靠 4 采用多种方式查询数据 5 操作员可以随时修改自己的口令 6 对用户输入的数据 系统进行严格的数据检验 尽可能排除人为的错误 5 系统设计 5 1 使用的相关技术介绍 Visual C 是 Microsoft Visual Studio 开发组件中最为强大的编程工具 一方面 它是当今最为流行的系统开发语言 另一方面 它能够和 Microsoft 的操作系统无 缝结合 开发出高性能的 Windows 应用程序 3 在数据库领域 Visual C 的表现 也异常抢眼 它提供了多种数据库开发技术 支持几乎所有的数据库系统 如 SQL Server DB2 Sybase FoxPro Access 等 而且还提供了良好的开发环境和 丰富的文档支持 总之 利用 Visual C 可以开发出功能强大 性能优良和界面 友好的数据库应用程序 这也正是许多公司长期以来采用 Visual C 开发数据库 系统的重要原因 3 Visual C 提供了可视化的编程环境 不仅可以编写面向用户 的应用程序 而且还适用于编写直接对系统或设备操作的底层程序 4 SQL Server 2000 在 SQL Server 7 0 版的基础上扩展了数据库管理系统的性能 可靠性 质量和易用性 由于增加了这几种新的功能 因此它成为大规模联机事 务处理 OLTP 数据仓库和电子商务应用程序的优秀数据库平台 5 SQL Server 2000 是基于 SQL 客户 服务器 C S 模式的数据库系统 其图形化界面使数据库 管理更加简洁 灵活 同时又具有丰富的编程接口 为用户从事程序开发提供了 更多的方便 使用 SQL Server 2000 可以获得非凡的可伸缩性和可靠性 通过向上 伸缩和向外扩展的能力 SQL Server 满足了苛刻的电子商务和企业应用程序要求 ADO 是 ActiveX Data Object ActiveX 数据对象 的缩写 是目前最流行的客 户端数据库技术 ADO 是建立在 OLE DB 底层技术之上的高级编程接口 6 5 2 数据库设计 5 2 1 数据库概要说明 在使用数据库之前 先创建数据库 7 数据表是包含数据库中所有数据的数 据库对象 表定义为列的集合 8 数据库 GZFFXT 中包括员工基础信息表 员工 基本工资表 员工浮动工资表 员工加班 休假表 工资发放明细表 用户表 6 个 数据表 图 2 所示的即为本系统中数据库中的数据表结构图 该数据表结构图包含系 统所有数据表 可以清晰地反映数据库信息 图 2 数据库概要说明 5 2 2 部分数据表的结构 表 1 Ygjcxxb 员工基础信息表 字段名数据类型长度描述 YGid YGxm Sex Whcd varchar varchar char varchar 30 30 2 20 员工编号 员工姓名 性别 文化程度 表 2 Ygjbgzb 员工基本工资表 字段名数据类型长度描述 YGid YGxm JBgz ZWgz GLgz YLbxj varchar varchar money money money money 30 30 8 8 8 8 员工编号 员工姓名 基本工资 职务工资 工龄工资 养老保险金 表 3 Ygfdgzxmb 员工浮动工资表 字段名数据类型长度描述 YGid YGxm GRsds ZFbz BXf SHbz varchar varchar money money money money 30 30 8 8 8 8 员工编号 员工姓名 个人所得税 住房补助 保险费 生活补助 表 4 Ygjbsjb 员工加班休假表 字段名数据类型长度描述 YGid YGxm Jiabts Jiabgz SJts varchar varchar int money int 30 30 4 8 4 员工编号 员工姓名 加班天数 加班工资 休假天数 Sjkkmoney8 休假扣款 5 2 3 部分 E R 模型的设计 员工基础信息 性别文化程度 员工编号员工姓名 图 3 系统部分实体 属性图 员工基本工资信息 基本工资职务工资 员工编号员工姓名 工龄工资养老保险金 图 4 系统部分实体 属性图 员工浮动工资信息 保险费生活补助 员工编号员工姓名 个人所得税住房补助 图 5 系统部分实体 属性图 员工加班休假信息 休假天数休假扣款 员工编号员工姓名 加班天数加班工资 图 6 系统部分实体 属性图 图 7 系统部分实体 属性图 6 主要功能模块设计 6 1 建立工程框架 直接利用 MFC AppWizard 应用程序向导创建一个基于对话框的应用程序 9 对话框是 Windows 应用程序中的一种常用资源 其主要功能是输出信息和接收用 户的输入数据 10 在 Visual C 中建立工资管理系统的基本框架 步骤如下 单击菜单 File New 命令 打开 New 对话框 单击 Projects 选项卡 选择 MFC AppWizard exe 输入工程名 并设置路径 如图 8 所示 用户信息 级别密码用户名 图 8 New 对话框 单击 OK 按钮 MFC AppWizard Step1 对话框已经打开 如图 9 所示 选项 Dialog based 接着单击 Next 按钮 图 9 MFC AppWizard Step 1 对话框 在弹出的 MFC AppWizard Step 2 of 4 对话框中 输入对话框标题 如图 10 所示 图 10 MFC AppWizard Step 2 of 4 对话框 在接下来的对话框中保持默认的选项 设置好的属性如图 11 所示 单击 OK 按钮后 就完成了新建工程 图 11 设计好的工程属性 6 2 主窗口设计 6 2 1 菜单资源设计 在程序设计中 我们所要做的很大一部分工作是对程序的输入进行响应 而 我们最常用的选择方式就是用菜单进行选择 在 Visual C 6 0 中 菜单功能的实 现 比如增减菜单和菜单项 定义菜单的 ID 菜单的布局以及菜单的初始化 提 示信息等 都是通过资源文件和相关函数来实现的 11 主窗口菜单设置的主要步骤如下 1 单击 ResourceView 选项卡 右键单击 GZGLXT Resources 选项 选 择 Insert 菜单项 打开 Insert Resource 窗口 如图 12 所示 图 12 Insert Resource 窗口 2 选择 Menu 文件夹 单击 New 按钮 在 GZGLXT Resources 目录下新 增一个 Menu 目录项 菜单 ID 为 IDR MENU1 双击此菜单 对此菜单项的属性进行 设计 6 2 2 客户区设计 1 打开对话框 IDD GZGLXT DIALOG 属性窗口 在对话框中添加 1 个 Picture 控件 用来存放图片 在 Menu 组合框中选择 IDR MENU1 如图 13 所示 图 13 系统主界面 2 打开 ClassWizard 窗口 为菜单项 ID EXIT 添加代码 程序调用 OnOK 函数关闭对话框 退出系统 void CGZGLXTDlg OnExit TODO Add your command handler code here OnOK 6 3 登录模块设计 6 3 1 实现目标 登录模块功能是完成用户登录本系统的操作 2 用户登录对话框的设计如图 14 所示 图 14 登录对话框 6 3 2 设计步骤 1 向项目中添加一个新 Dialog 资源 资源 ID 为 IDD LOGIN 在 IDD LOGIN 对话框资源中单击鼠标右键 执行弹出快捷菜单的 Properties 菜单 命令 打开 Dialog Properties 对话框 在 Dialog Properties 对话框中选择 General 选项卡 更改其 Caption 文本框内容为 登录框 2 从 Controls 面板上向 Dialog 资源中添加 2 个 Static 1 个 Picture 2 个 Edit 更改资源的属性 并为资源设置相对应的变量 如表 5 所示 表 5 资源设置 IDPropertiesType Member IDC EDIT1 IDC EDIT2 IDOK IDCANCEL IDC STATIC 默认 PassWord TRUE Caption 登录 Caption 退出 Type Bitmap CString Cstring m name m pwd 6 3 3 代码分析 1 引用的外部变量 extern CCzyxxb ffxxb 2 响应 登录 按钮的代码 void CLogin OnOK TODO Add extra validation here 将对话框中编辑框的数据读取到成员变量中 UpdateData true if m name MessageBox 请输入用户名 return 如果读取数据和用户输入不同 则返回 if ffxxb HaveCzy m name m pwd 1 MessageBox 用户名或密码错误 return ffxxb SetCzyName m name jb 1 判断当前用户级别 if ffxxb HaveCzyjb m name m pwd jb 1 ffxxb SetCzyjb jb CDialog OnOK 下面在主对话框中添加代码 使对话框在启动时首先打开登录对话框 在主窗 口选择 OnInitDialog 函数 该函数将打开登录对话框 如果用户不是通过单击 登录 按钮关闭对话框 则调用 OnOK 函数关闭主对话框 具体代码如下 BOOL CWordGLXTDlg OnInitDialog CDialog OnInitDialog TODO Add extra initialization here CLogin gin if gin DoModal IDOK OnOK return TRUE return TRUE unless you set the focus to a control 6 4 员工录入模块设计 6 4 1 实现目标 添加员工信息 员工录入对话框的设计如图 15 所示 图 15 员工录入对话框 6 4 2 设计步骤 1 向项目中添加一个新 Dialog 资源 资源 ID 为 IDD YGTJK 在 IDD YGTJK 对话框资源中单击鼠标右键 执行弹出快捷菜单的 Properties 菜单 命令 打开 Dialog Properties 对话框 在 Dialog Properties 对话框中选择 General 选项卡 更改其 Caption 文本框内容为 员工录入 2 从 Controls 面板上向 Dialog 资源中添加 4 个 Static 2 个 Combo 2 个 Edit 更改资源的属性 并为资源设置相对应的变量 如表 6 所示 表 6 资源设置 IDPropertiesType Member IDC EDIT1 IDC EDIT2 IDC COMBO1 IDC COMBO2 IDOK IDCANCEL 默认 默认 Caption 添加 Caption 退出 CString CString CComboBox CComboBox m id m name m sex M whcd 6 4 3 代码分析 1 打开 ClassWizard 窗口 添加在 OnInitDialog 成员函数 向 OnInitDialog 添 加代码如下 BOOL CYgjctjdlg OnInitDialog CDialog OnInitDialog TODO Add extra initialization here SetIcon m hIcon TRUE m sex AddString 男 m sex AddString 女 m whcd InsertString 0 专科 m whcd InsertString 1 本科 m whcd InsertString 2 研究生 return TRUE return TRUE unless you set the focus to a control EXCEPTION OCX Property Pages should return FALSE 2 当用户单击 添加 按钮时 实现添加员工功能 其响应代码如下 void CYgjctjdlg OnOK TODO Add extra validation here CYgjcxxb xxb UpdateData true if m id MessageBox 编号不能为空 return if m name MessageBox 姓名不能为空 return if xxb HaveId m id 1 MessageBox 员工编号已存在 return xxb SetYGid m id xxb SetYGxm m name CString sex whcd m sex GetWindowText sex if sex MessageBox 性别不能为空 return 从组合框中读取文本 m sex GetLBText m sex GetCurSel strsex xxb SetSex strsex m whcd GetWindowText whcd if whcd MessageBox 文化程度不能为空 return m whcd GetLBText m whcd GetCurSel strwhcd xxb SetWHcd strwhcd xxb sql insert 向浮动工资表添加编号 姓名 CYgfdgzxmb xmb xmb SetYGid m id xmb SetYGxm m name xmb sql insert 向基本工资表添加编号 姓名 CYgjbgzb gzb gzb SetYGid m id gzb SetYGxm m name gzb sql insert 向加班休假表添加编号 姓名 CYgjbsjb sjb sjb SetYGid m id sjb SetYGxm m name sjb sql insert CDialog OnOK 避免漏输现象 对于一个软件来说 在保证一定功能的基础上 给使用者留 出的出错机会越少 那么开发出来的软件越成功 本系统在用户漏输某个重要字 段时 系统会弹出提示对话框警告 这个功能主要是在保存时判断文本框的值是 否为空 如果不为空 就继续向下执行 如果为空 弹出错误提示 12 6 5 员工工资添加模块设计 6 5 1 实现目标 添加员工实际发放的工资情况 员工工资添加对话框设计如图 16 所示 图 16 员工工资添加对话框 6 5 2 设计步骤 1 向项目中添加一个新 Dialog 资源 资源 ID 为 IDD YGGONGZITJ 在 IDD YGGONGZITJ 对话框资源中单击鼠标右键 执行弹出快捷菜单的 Properties 菜单命令 打开 Dialog Properties 对话框 在 Dialog Properties 对话框中选择 General 选项卡 更改其 Caption 文本框内容为 员工 工资添加 2 从 Controls 面板上向 Dialog 资源中添加 19 个 Static 17 个 Edit 2 个 Button 控件 更改资源的属性 并为资源设置相对应的变量 如表 7 所示 表 7 资源设置 IDPropertiesType Member IDC EDIT1 IDC EDIT2 IDC EDIT3 IDC EDIT4 IDC EDIT5 IDC EDIT6 IDC EDIT7 IDC EDIT8 IDC EDIT9 IDC EDIT10 IDC EDIT11 IDC EDIT12 IDC EDIT13 IDC EDIT14 IDC EDIT15 IDC EDIT16 IDC EDIT17 IDOK IDCANCEL IDC BUTTONsyye IDC BUTTONyfgz 默认 默认 默认 默认 默认 默认 默认 默认 默认 Read only TRUE 默认 Read only TRUE 默认 默认 默认 Read only TRUE Read only TRUE Caption 添加 Caption 退出 Caption 上月余额 Caption 应发工资 CString CString int int int int int int int CEdit int CEdit int int int CEdit CEdit m id m name m jbgz m zwgz m glgz m zfbz m shbz m bxf m jiabts m jiabgz m sjts m sjgz m ylbxj m grsds m sfgz m yfgz m syye 6 5 3 代码分析 1 双击 IDC EDIT9 控件 自动生成 OnChangeEdit9 函数 实现用户添加 加班天数时 加班工资自动计算并显示 具体代码如下 void CYggztjdlg OnChangeEdit9 TODO If this is a RICHEDIT control the control will not send this notification unless you override the CDialog OnInitDialog function and call CRichEditCtrl SetEventMask with the ENM CHANGE flag ORed into the mask UpdateData true CString str str Format d m jiabts 40 m jiabgz SetWindowText str UpdateData false TODO Add your control notification handler code here 2 双击 上月余额 按钮 系统自动添加消息响应函数 OnBUTTONsyye 具 体代码如下 void CYggztjdlg OnBUTTONsyye TODO Add your control notification handler code here UpdateData true if m id MessageBox 请先填写员工编号 return ADOConn m AdoConn m AdoConn OnInitADOConn t CTime GetCurrentTime int m y CString str m t GetMonth 1 y t GetYear if m 0 m 12 y y 1 CGzffmxb mxb if mxb Havesyye m id y m 1 CString sql sql Format select from gzffmxb where ygid s and year sjian i and month sjian i m id y m m AdoConn GetRecordSet bstr t sql str char bstr t m AdoConn m pRecordset GetCollect Yu E m syye SetWindowText str else m syye SetWindowText 0 UpdateData false m AdoConn ExitConnect 在头文件中添加下列代码 CTime t 3 双击 应发工资 按钮 系统自动添加消息响应函数 OnBUTTONyfgz 具 体代码如下 void CYggztjdlg OnBUTTONyfgz TODO Add your control notification handler code here UpdateData true CString syye m syye GetWindowText syye if syye MessageBox 请先添加上月余额 return int yfgz yfgz atoi syye m jbgz m glgz m zwgz m shbz m zfbz m ylbxj yfgz m bxf m jiabts 40 m sjts 40 m grsds CString str str Format d yfgz m yfgz SetWindowText str 4 为 添加 按钮添加代码 实现添加员工工资功能 代码如下 void CYggztjdlg OnOK TODO Add extra validation here UpdateData true CYgjcxxb xxb CString yfgz m yfgz GetWindowText yfgz if m id MessageBox 编号不能为空 return if xxb HaveId m id 1 MessageBox 员工编号不存在 return if m name MessageBox 姓名不能为空 return if xxb Havename m id m name 1 MessageBox 员工不存在 return if yfgz MessageBox 应发工资不能为空 return CGzffmxb mxb mxb SetYGid m id mxb SetYGxm m name mxb SetGLgz m glgz mxb SetJBgz m jbgz mxb SetYLbxj m ylbxj mxb SetZWgz m zwgz mxb SetBXf m bxf mxb SetGRsds m grsds mxb SetSHbz m shbz mxb SetZFbz m zfbz mxb SetJiaBts m jiabts int jiabgz jiabgz m jiabts 40 mxb SetJiaBgz jiabgz mxb SetSjts m sjts int sjkk sjkk m sjts 40 mxb SetSJkk sjkk mxb SetYFje atoi yfgz mxb SetSFje m sfgz mxb sql insert CYgjbsjb sjb sjb SetJiaBts m jiabts sjb SetJiaBgz jiabgz sjb SetSjts m sjts sjb SetSJkk sjkk sjb sql update m id CDialog OnOK 6 6 用户管理模块设计 6 6 1 实现目标 实现新建 删除用户功能 用户管理对话框设计如图 17 所示 图 17 用户管理对话框 6 6 2 设计步骤 1 向项目中添加一个新 Dialog 资源 资源 ID 为 IDD XINJYH 在 IDD XINJYH 对话框资源中单击鼠标右键 执行弹出快捷菜单的 Properties 菜 单命令 打开 Dialog Properties 对话框 在 Dialog Properties 对话框中选择 General 选项卡 更改其 Caption 文本框内容为 用户管理 2 从 Controls 面板上向 Dialog 资源中添加 4 个 Static 1 个 Combo 3 个 Edit 1 个 Button 控件 更改资源的属性 并为资源设置相对应的变量 如表 8 所 示 表 8 资源设置 IDPropertiesType Member IDC EDIT1 IDC EDIT2 IDC EDIT3 IDC COMBO1 IDOK IDC BUTTON1 IDCANCEL 默认 Password true Password true 默认 Caption 添加 Caption 删除 Caption 退出 CString CString CString CComboBox m name m pwd m pwd1 m jb 6 6 3 代码分析 1 添加 OnInitDialog 函数 初始化 Combo 控件 具体代码如下 BOOL CXinjyhdlg OnInitDialog CDialog OnInitDialog TODO Add extra initialization here SetIcon m hIcon TRUE m jb AddString 系统管理员 m jb AddString 普通管理员 return TRUE return TRUE unless you set the focus to a control EXCEPTION OCX Property Pages should return FALSE 2 为 添加 按钮添加消息响应函数 代码如下 void CXinjyhdlg OnOK TODO Add extra validation here UpdateData true if m name MessageBox 请输入用户名 return CString jb m jb GetWindowText jb if jb MessageBox 级别不能为空 return if m pwd MessageBox 请输入密码 return if m pwd1 MessageBox 请确认密码 return if m pwd m pwd1 MessageBox 两次密码不同 return CCzyxxb xxb if xxb Havename m name 1 MessageBox 用户以存在 请重新输入 return xxb SetCzyName m name xxb SetPwd m pwd m jb GetLBText m jb GetCurSel strjb if strjb 系统管理员 strjb 1 else strjb 0 xxb SetCzyjb strjb xxb sql insert CDialog OnOK 3 为 删除 按钮添加消息响应函数 代码如下 void CXinjyhdlg OnButton1 TODO Add your control notification handler code here UpdateData true if MessageBox 是否删除当前记录 请确认 MB YESNO IDYES CCzyxxb xxb xxb sql delete m name 4 当用户单击主界面菜单中的 用户管理 菜单项时 将执行 OnMenuyhgl 函数 具体代码如下 void CGZGLXTDlg OnMenuyhgl TODO Add your command handler code here if ffxxb GetCzyjb 1 CXinjyhdlg dlg dlg DoModal else MessageBox 没有权限 return 6 7 总体查询模块设计 6 7 1 实现目标 便于用户查询员工的工资 公司发放工资总额 总体查询对话框设计如图 18 所示 图 18 总体查询 对话框 6 7 2 设计步骤 1 向项目中添加一个新 Dialog 资源 资源 ID 为 IDD ZTCX 在 IDD ZTCX 对话框资源中单击鼠标右键 执行弹出快捷菜单的 Properties 菜单命令 打开 Dialog Properties 对话框 在 Dialog Properties 对话框中选择 General 选项卡 更改其 Caption 文本框内容为 总体查询 2 从 Controls 面板上向 Dialog 资源中添加 1 个 Static 1 个 DataCombo 2 个 Check Box 控件 1 个 ADO Data 控件 1 个 DataGrid 1 个 Date Time 1 个 Button 控件 更改资源的属性 并为资源设置相对应的变量 如表 9 所示 表 9 资源设置 IDPropertiesType Member IDC CHECK1 IDC CHECK2 IDC DATACOMBO1 IDC ADODC1 IDC DATETIMEOICKER1 IDC DATAGRID1 IDC CHAXUN IDOK IDCANCEL 默认 默认 默认 Caption 选择 默认 Caption 查询 Caption 查询 Caption 工资总额 Caption 退出 BOOL BOOL CDataCombo CAdodc CDateTimeCtrl CDataGrid m check1 m check2 m dc m ad m time m da 3 ADO Data 控件具体设置如下 右键单击该控件 从弹出的菜单中单击 Properties 项 弹出 ADO Data 控 件属性 对话框 在 General 选项卡取消 Visible 复选框的选择 因为一般使用 ADO Data 控件的对话框控件不可见 单击 通用 选项卡 选择 使用连接字符串 选项 然后单击 生成 按钮 如 图 19 所示 图 19 设置数据源 接着弹出 数据连接属性 对话框 在 提供者 页中选择 Microsoft OLE DB Provider for SQL Server 选项 如图 20 所示 单击 下一步 按钮 在 连接 选项卡上设置对 SQL Server 的连接属性 包括选择服务器 选择数据库 具体如图 21 所示 图 20 数据连接属性 对话框 图 21 连接 选项卡 单击 确定 按钮 完成对 数据连接属性 的设置 在 ADO Data 控件属性 对话框中单击 记录源 选项卡 在 命令类 型 栏中选择 1 adCmdText 然后在 命令文本 SQL 中输入 SELECT YGid AS 员工编号 YGxm AS 员工姓名 JBgz AS 基本工资 GLgz AS 工龄工 资 ZWgz AS 职务工资 YLbxj AS 养老保险金 GRsds AS 个人所得税 SHbz AS 生活补助 ZFbz AS 住房补助 BXf AS 保险费 JiaBts AS 加班天数 JiaBgz AS 加班工资 SJts AS 事假天数 SJkk AS 事假扣款 YFje AS 应发金额 SFje AS 实发金额 Yu E AS 余额 SJian AS 时间 FROM Gzffmxb 如图 22 所示 图 22 记录源 选项卡 4 DataGrid 控件具体设置如下 右键单击 DataGrid 控件 从弹出的菜单中单击 properties 选项 然后弹出 DataGrid 控件属性 对话框 选择 ALL 选项卡 将 AllowUpdate 属性设 置为 False 将 DataSource 属性设置为 IDC ADODC1 如图 23 所示 图 23 DataGrid 控件 All 选项卡 5 DataCombo 控件具体设置如下 右键单击 DataCombo 控件 从弹出的菜单中单击 properties 选项 然后弹 出 DataCombo 控件属性 对话框 选择 ALL 选项卡 将 DataField 属 性设置为 员工编号 将 DataSource 属性设置为 IDC ADODC1 如图 24 所示 图 24 DataCombo 控件 All 选项卡 6 7 3 代码分析 1 当启动对话框时 将执行 OnInitDialog 函数 设置 DataGrid 控件的列长 具体代码如下 BOOL CZongtcxdlg OnInitDialog CDialog OnInitDialog TODO Add extra initialization here SetIcon m hIcon TRUE 设置复选框初始化显示 m check1 TRUE m check2 TRUE UpdateData false 设置 DataGrid 控件各列显示的长度 variant t vIndex vIndex long 0 m da GetColumns GetItem vIndex SetWidth 60 vIndex long 1 m da GetColumns GetItem vIndex SetWidth 60 vIndex long 2 m da GetColumns GetItem vIndex SetWidth 60 vIndex long 3 m da GetColumns GetItem vIndex SetWidth 60 vIndex long 4 m da GetColumns GetItem vIndex SetWidth 60 vIndex long 5 m da GetColumns GetItem vIndex SetWidth 75 vIndex long 6 m da GetColumns GetItem vIndex SetWidth 75 vIndex long 7 m da GetColumns GetItem vIndex SetWidth 60 vIndex long 8 m da GetColumns GetItem vIndex SetWidth 60 vIndex long 9 m da GetColumns GetItem vIndex SetWidth 60 vIndex long 10 m da GetColumns GetItem vIndex SetWidth 60 vIndex long 11 m da GetColumns GetItem vIndex SetWidth 60 vIndex long 12 m da GetColumns GetItem vIndex SetWidth 60 vIndex long 13 m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论