用VC++制作一个工资管理系统.docx
- 文档编号:27279524
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:37
- 大小:1.09MB
用VC++制作一个工资管理系统.docx
《用VC++制作一个工资管理系统.docx》由会员分享,可在线阅读,更多相关《用VC++制作一个工资管理系统.docx(37页珍藏版)》请在冰豆网上搜索。
用VC++制作一个工资管理系统
案例四用VC++制作一个工资管理系统
关键词:
VC++数据库数据表控件绑定统计计算
4.1 课程设计的目的和意义
工资管理是任何企事业单位都需要进行的一项工作,因此,开发制作工资管理系统具有较大的社会现实意义,同时工资管理系统的最大特征是数据处理,它是数据库应用系统的典范,它具有一切数据库应用系统的特征,如数据录入,数据统计和数据报表等,其系统结构与现实生活紧密结合,具体直观。
工资管理系统也是数据库应用开发中经常进行例证的好例子,它的开发应用简单而又不失一般性。
作为一个案例,我们需要重复进行一些过程,如创建工程框架,引入数据源,建立消息映射,最终实现统计计算。
本程序比较简单,目的是让大家对VC的编程逐步加以理解,它的意义是非常重要的。
4.2 系统功能设计
在本系统的设计中,将主要实现如下的一些功能:
增加记录功能、修改记录功能、删除记录功能、刷新记录功能,最后实现统计计算功能。
4.3 数据库与数据表的设计
作为工资管理系统,它是数据库应用系统数据处理的典范,数据库应用系统开发的前提是首先开发数据库和数据库中的数据表。
因此在本案例中,我们采用MicrosoftAccess2003创建数据库和数据表。
为此我们先定义一个“职工工资数据表”的结构,如表4.1所示。
表4.1 “职工工资数据表”结构
字段名称
字段类型
字段大小
小数位数
索引
必须填写
年份
数字
整型
是
月份
数字
整型
是
输入日期
日期/时间
默认
是
职工编号
数字
整型
是
姓名
文本
16
是
部门
文本
20
是
基本工资
数字
长整型
自动
是
业绩工资
数字
长整型
自动
是
奖金
数字
长整型
自动
是
津贴
数字
长整型
自动
是
各种补助
数字
长整型
自动
是
应发数
数字
长整型
自动
是
水电费
数字
长整型
自动
是
房租
数字
长整型
自动
是
储蓄
数字
长整型
自动
是
会费
数字
长整型
自动
是
保险
数字
长整型
自动
是
扣除总计
数字
长整型
自动
是
实发工资
数字
长整型
自动
是
创建数据库及其数据表的步骤如上:
(1)启动MicrosoftOffice2003中的MicrosoftAccess应用程序,出现图4.1所示界面,通过该界面可以创建一个新的数据库或打开一个已经存在的数据库。
图4.1 新建数据库选择
(2)选择创建新数据库,即选择“空Access数据库”选项。
(3)单击“确定”按钮之后出现保存对话框,确定保存数据库的文件位置(D:
\VC++写作案例\CH4\)并给定数据库名称:
工资管理数据库;然后出现图4.2所示界面。
图4.2 数据库中的数据表设计界面
在数据库设计界面中,用户可以打开已经存在的数据表,也可以创建新的数据表。
(4)单击“设计”菜单,即出现一个数据表设计器,用户可以在其中设计一个新的数据表结构,如图4.3所示。
图4.3 数据表设计器
在MicrosoftAccess2003数据库设计器中,用户可以定义数据表的字段名称、字段类型、字段大小等数据表结构的内容。
数据表结构一经确定,用户可以打开该数据表,在数据表中输入一些基本数据,以在后面的系统设计中体现设计的效果。
最后,系统自动将创建的数据表保存在“D:
\VC++写作案例\CH4\32资管理数据库”中,将创建的数据表命名为“职工工资数据表”。
注意,在微软的MicrosoftAccess各版本之间,如在MicrosoftAccess98与MicrosoftAccess2003中,采用旧版本创建的数据库及其数据库中的数据表如要在新的版本中运用,往往需要在新版本中进行转换才行。
4.4 创建工资管理系统基本框架
在前面我们已经创建了“工资管理数据库”、“职工工资数据表”。
它可为应用程序提供一个数据源。
应用程序就是对该数据源的记录进行访问、增加、删除以及数据管理的一切操作。
有了这一切的工作,用户就可以着手进行应用系统的构建了。
与前面的案例一样,在VC++应用系统创建中,需要通过向导先创建一个应用程序框架,然后再加入数据控件,与数据源进行绑定,并进行程序的修改与加工制作。
创建“工资管理系统”应用程序框架的步骤如下:
(1)结束数据库的创建并启动VC++,出现VC++主控界面。
(2)在VC++主控界面中单击“文件|新建...”菜单项,出现新建工程类型选择对话框,在工程类型列表中选择MFCAppWizard(EXE)工程类型。
(3)输入工程名称为“工资管理系统”,并选择Win32平台类型。
(4)单击“确定”按钮,进入文档类型设置。
(5)选择单文档类型,即创建一个单文档界面的应用程序,设置资源使用语言为中文,选择文档/查看体系结构支持。
(6)单击“下一步”按钮,进入框架设置的第2步,出现图4.4所示对话框。
在该对话框中,需要用户对数据库的类型作一些相关的选择。
图4.4 程序框架设置的第2步
(7)选择“查看数据库不使用文件支持”;这时候DataSource按钮处于可用状态(或激活状态);在这一种选择下,VC++将为应用系统引入数据环境,即数据源,该数据源就是我们在前面创建的“工资数据库”,而不使用其他类型数据的文件支持。
但数据源在系统制作中的引入需要用一定的驱动程序为之进行。
(8)单击“DataSource”按钮,出现图4.5所示的选择数据源类型的对话框。
图4.5 数据源创建类型
注意,在ODBC数据源文件列表中,我们已经创建了一个ODBC数据源文件,因此可以在其中直接选择引用即可。
如果没有“工资管理数据库”这样的文件,则往往需要用操作系统控制面板中的ODBC程序加以创建,其方法参考案例一:
在这里我们选择ODBC数据源类型,即选择一种开放式数据源连接的驱动程序类型作为系统的数据源。
往往在单击OK按钮后会出现找不到该数据库文件的信息提示,因为作为ODBC数据源,必须先创建一个数据源名并进行数据源登录。
数据源名称创建与登录可以采用多种方式进行,我们将在本书中分不同的情况加以说明。
这里我们将采用一种通用的方法,即在MicrosoftWindows98(MicrosoftWindows2000/Me/XP中也一样)中,利用开放式数据源创建与连接的公用程序ODBC进行数据源名称的创建与连接。
其方法如下;
(9)打开MicrosoftWindows98控制面板。
(10)双击ODBCDataSource(32Bit)程序图标,出现“ODBC数据源管理器”对话框,如图1.13所示。
(11)在“用户数据源”列表框中选择名称为“MSAccessDatabase”的选项。
(12)单击“添加”按钮,然后在出现的对话框中选择使用何种驱动程序来安装数据源。
如图1.14所示。
图1.13 ODBC数据源管理器
图1.14 选择安装数据源的驱动程序
在图1.14中选择“MicrosoftAccessDriver(*.mdb)”,作为安装数据源的驱动程序。
(13)单击“完成”按钮,出现数据源安装对话框,如图1.15所示。
图1.15 数据源安装对话框
作为所创建或安装的数据源,需要一个数据源名称,以便于在应用系统制作中加以引用和识别,因此,需要为数据源命名,这里我们将其命名为“人事管理数据库”。
然后在图1.15所示对话框中对该数据源进行描述户可以填写如下内容:
“该数据库用于创建人事管理系统”。
数据库文件“人事管理数据库”是保存在磁盘文件中的,为此需要引入该数据库作为数据源。
(14)单击“选择”按钮,出现图1.16所示的数据库选取对话框。
图1.16 数据库文件选取
选取数据库文件并确认之后,回到图1.15所示对话框,再在图1.15所示对话框中单击“确定”按钮,回到ODBc数琚源管理器对话框,结束数据源的安装过程。
此后可以发现,在ODBC数据源管理器中出现了“人事管理数据库”这样一个数据源,它就是供用户使用的本地机上的ODBC数据源,如图1.17所示。
图1.17数据源安装结束
(15)有了本地机上可供用户使用的数据源之后,在图1.12所示对话框的ODBC列表中选择“人事管理数据库”数据源即可(该数据源就是前面安装的适合于本地机用户使用的ODBC数据源文件)。
(16)单击OK按钮,出现该数据源中的数据表、数据查询或视图的选择对话框,因为在一个数据源也即一个数据库中,往往存在多个数据表、查询或视图。
这里选择的数据表就是“人事管理系统”的单文档界面所使用的数据表“人事管理数据表”,如图1.18所示。
图1.18 选择数据源中的数据表
单击OK按钮确认后,即回到数据源设置对话框,如图1.19所示。
图1.19 数据源设置对话框
(9)单击OK按钮,出现数据源中的数据表,即工资数据库中的数据表。
选择“职工工资数据表”,如图4.6所示。
图4.6 选择职工工资数据表
(10)单击OK按钮选定该数据表。
然后返回到图4.4所示对话框,完成数据源的创建工作。
(11)在图4.4所示对话框中单击“完成”按钮,即完成应用程序框架的生成工作,出现工程框架创建的全部信息,该信息将提示用户所创建的应用程序框架包括的内容,如:
应用系统名称、界面类型、适合的操作系统、类文档的创建和系统特色等。
确认创建信息之后,出现应用程序框架界面,如图4.7所示。
图4.7 应用程序框架界面
4.5 开发工资处理界面
如前所述,应用系统向导只能生成一个应用程序基本框架,该框架还不具备任何功能,我们需要在框架的基础上进行系统各种功能的制作。
通常一个应用程序框架生成两个对话框,一个是IDD_ABOUTBOX对话框,它是一个说明该系统的对话框,几乎由向导自动完成,如图4.8所示。
图4.8 ABOUTBOX对话框
该对话框仍然是基本的,如果用户需要修饰或修改,可以根据自己的需要进行。
在基本框架中另外一个对话框就是主对话框IDD_MY_FORM,它是我们加工制作的主要内容,数据源也是专门为该对话框引入的。
4.5.1 主对话框IDD_MY_FORM中控件的加入与布局
在工资管理系统中,主对话框主要用于处理工资管理的一切内容。
制作该对话框的主要步骤如下:
(1)在主对话框IDD_MY_FORM中将提示文本框“TODO:
在这个对话框里设置表格控制。
”删除。
(2)在主对话框IDD_MY_FORM中放入各种需要的控件,如标签控件、编辑框控件、命令按钮控件,其对话框布局如图4.9所示。
图4.9 主对话框IDD_MY_FORM控件布局
其中,各个控件的属性设置如表4.2-表4.5所示。
表4.2标签对象的基本属性
ID
标题内容
IDC_STATICCAPTION
职工工资管理系统
IDC_STATICNE
年份
IDC_STATICYF
月份
IDC_STATICZGBH
职工编号
IDC_STATICZGXM
职工姓名
IDC_STATICZGBM
部门
IDC_STATICJBGZ
基本工资
IDC_STATICJJ
奖金
IDC_STATICYJGZ
业绩工资
IDC_STATICJT
津贴
IDC_STATICGZBZ
各种补助
IDC_STATICRDF
水电费
IDC_STATICFZOU
房租
IDC_STATICCX
储蓄
IDC_STATICHF
会费
IDC_STATICBX
保险
IDC_STATICYFHJ
应发合计
IDC_STATICKCHJ
扣除合计
IDC_STATICSFGZ
实发工资
表4.3 编辑框控件的基本属性和编辑内容
ID
编辑内容
IDC_EDITNF
年份
IDC_EDITYF
月份
IDC_EDITZGBH
职工编号
IDC_EDITZGBM
所在部门
IDC_EDITZGXM
职工姓名
IDC_EDITJBGZ
基本工资
IDC_EDITJJ
奖金
IDC_EDITYJGZ
业绩工资
IDC_EDITJT
津贴
IDC_EDITGZBZ
各种补助
IDC_EDITRDF
水电费
IDC_EDITFZOU
房租
IDC_EDITCX
储蓄
IDC_EDITHF
会费
IDC_EDITBX
保险
IDC_EDITYFHJ
应发合计
IDC_EDITKCHJ
扣除合计
IDC_EDITSFGZ
实发工资
表4.4 命令按钮对象的基本属性
ID
标题内容
IDC_BUTIONFIRST
|《-第一条
IDC_BUTIONNEXT
-》下一条
IDC_BUTIONPREV
《-前一条
IDC_BUTIONLAST
-》|最后一条
IDC_BUTIONSUM
执行统计
IDC_RADIOADD
增加记录
IDC_RADIODELETE
删除记录
IDC_RADIOUPDATE
刷新记录
表4.5 分组控件对象的基本属性
ID
标题
IDC_STATICDATA
工资数据处理
IDC_STATICBROWSE
工资数据浏览
IDC_STATICADDDELETUPD
增加与删除
IDC_STATICCOUNT
个人工资统计
4.5.2 为编辑框控件建立数据字段映射
在对话框中的一切编辑框控件,均是用于进行数据处理和数据显示的,但首先我们应该为它们建立字段映射,即将创建的数据集中的每一个字段与一个编辑框进行“数据绑定”。
我们以其中的一个编辑框,即“年份”编辑框为例,说明为编辑框与数据集中的字段建立映射关系的方法。
为此进行如下操作:
(1)在主对话框IDD_MYFORM中选取“年份”编辑框控件。
(2)用鼠标右键单击该对话框,出现一个快捷菜单。
(3)在快捷菜单中单击“建立类向导”,出现类向导对话框。
(4)在类向导对话框中将页面切换至MemberVariables页面并设置类名为CmySet。
该对话框列出了数据集的全部字段名、字段类型和字段的成员变量名称,但成员变量名是在创建数据源时自动生成的,往往不便于与编辑框建立映射关系,为此将全部成员变量名称删除,并重新定义字段的成员变量名称。
重新定义后的字段变量名称如图4.10所示。
图4.10 重新定义的字段变量名称
(5)在Classname列表中选择CmyView,出现为编辑框控件与字段成员变量建立消息映射的页面,如图4.11所示。
图4.1l 编辑框控件与字段变量映射页面
(6)选中IDC_EDITNF(年份编辑)控件资源索引,再单击AddVariable按钮,出现变量选择列表框。
在字段选择列表框中选择“年份”成员变量,如图4.12所示。
图4.12 字段成员变量列表
(7)单击OK按钮,即完成“年份”编辑框与“年份”字段成员变量的映射。
采用相同的方法为全部编辑框控件建立消息映射,然后编译对话框,则发现可以在编辑框中修改数据表中的记录。
4.5.3 为命令按钮增加函数并编制过程代码
事实上,在前面我们已经在编辑框与数据集之间建立了一种映射关系,但处理数据的功能还不是很完善。
为此我们需要用一些命令来完成对数据的操作,需要为命令按钮建立函数和编制过程代码。
同样,在对话框中存在多个命令按钮,我们以“第一条记录”命令按钮为例来说明建立函数与编制过程的方法。
1.“第一条记录”命令按钮的过程代码
(1)在对话框中选取“第一条记录”命令按钮。
(2)用鼠标右键单击该命令按钮,出现一个快捷菜单。
(3)在快捷菜单中单击“建立类向导”菜单项,出现一个消息映射的对话框。
(4)在消息映射的对话框中选择MessageMaps页面,选择消息类型为“ON_CLICKED”并单击AddFunction按钮,出现一个函数命令对话框,建议接受系统命名的函数名即可。
(5)确认函数名后单击EditCode按钮,出现代码编辑框,在代码编辑框中编辑命令按钮的代码,如下所示:
}
这样,“第一条记录”命令按钮的过程代码就编辑完成了。
采用同样的方法,我们可以编辑其他命令按钮的过程代码。
2.“下一条记录”命令按钮的过程代码
3.“前一条记录”命令按钮的过程代码
4.“最后一条记录”命令按钮的过程代码
5.“增加记录”选项按钮的过程代码
voidCMyView:
:
OnRadiodd()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
m_pSet->AddNew();
UpdateData(FALSE);
}
6.“删除记录”选项按钮的过程代码
7.“刷新记录”选项按钮的过程代码
8.“执行统计”命令按钮的过程代码
最后编译执行工程,检验对话框中的数据处理效果,如图4.13所示。
图4.13 对话框运行效果
4.5.4 资源文件分析
在工程创建完成后,读者可以对已经创建的工程的一些文件进行阅读和分析。
人们常说:
软件=文档+代码,这一“等式”几乎对于一切的开发平台都是适用的;这里的文档包括用户创建的文档和系统派生的文档两类,无论是用户创建的文档或是系统派生的文档,它们往往都是对系统开发的过程的“记录”。
因此,通过阅读这些“记录”,不仅对VC++开发环境有了更深入的了解,而且对整个系统的实现全过程也一清二楚。
本小节分析两个文档,一个是工程实现文档,另一个是工程设置文档。
1.“工资管理系统”工程实现文件
工资管理系统实现文件记录了该工程创建的声明、编写的过程代码、资源的消息映射、数据集的创建和控件映射等等内容,工程实现文档往往是用户开发过程中编写最多的文档,一切的过程代码编制往往都是在工程实现文档中进行的。
“工资管理系统”工程实现文档的全部内容如下所示(仅供读者在开发实践中参考,若无必要,也可以略去对这部分的阅读):
ON_BN_CLICKED(IDC_RADIODELETE,OnRadelete)
ON_BN_CLICKED(IDC_RADIOUPDATE,OnRadioupdate)
m_pSet=&GetDocument()->m_mySet;
2.“工资管理系统”工程设置文档(Set.cpp)
工程设置文档用来记录工程中对于头文件的声明设置、预定义变量、给变量赋初值、记录字段变量定义等,请参考如下内容:
//工资管理系统Set.cpp:
implementationoftheCMySetclass
在本案例中,我们结合呈个工资管理系统的制作,进一步说明了利用VC++制作数据库应用系统的方法,尤其是对数据集的操作处理和统计计算的方法,可以看出数据集中的字段的统计过程,就是对其他字段变量值的数字计算过程。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 制作 一个 工资管理 系统