ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:151KB ,
资源ID:11219433      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-11219433.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库课程设计人事管理系统.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数据库课程设计人事管理系统.docx

1、数据库课程设计人事管理系统人事管理系统一设计目标二功能设计三数据库设计3.1数据库设计3.1.1 数据库需求分析3.1.2 数据库概念结构设计3.1.3 数据库逻辑结构设计与实现3.2 系统设计3.2.1系统功能分析3.3.2系统功能模块设计 3.3.2数据流程图3.3 主框架窗口设计3.3.1 菜单的创建3.3.2 工具条的创建3.3.3增加一个状态栏指示器3.4 增加新员工视类的创建3.5 人事变动视类的创建3.6 员工信息查询修改视图类的创建3.7登录对话框的创建3.8 关于对话框的创建四 .系统实现五. 小结六分析及结论七附录1 设计目标人事管理系统,便于公司领导掌握人员的动向,及时调

2、整人才的分配。本系统主要维护新员工资料;详细记录人事变动,包括岗位和部门的调整;员工信息的查询和修改,包括员工个人信息和密码等。根据系统功能的要求,人事管理系统可以分为新员工档案的输入,人事变更,员工档案的修改和查询等模块。2 功能设计企业人事管理系统主要用于员工个人资料的录入,职务变动的记录和管理。使用人事管理系统,便于公司领导掌握人员的动向,及时调整人才的分配。人事管理系统在设计时主要考虑以下几项功能要求:新员工资料的输入。人事变动的详细记录,包括岗位和部门的调整。员工信息的查询和修改,包括员工个人信息等。为了更好的理解该系统和读懂该系统的源码,读者应对以下的知识点有所了解:MS SQL

3、SERVER 2000数据库操作的基础知识。ODBC数据源基础知识。基本的SQL语句,如添加,查询,修改和删除记录语句。Visual C+界面设计和关于数据库的基础知识。三数据库设计3.1 数据库设计3.1.1 数据库需求分析 根据数据流程图,可以列出以下数据项和数据结构:员工信息:员工号,姓名,年龄,部门,职务,员工编号。人事变动:记录号,员工,变动和详细描述。所需的外部数据支持。部门设置:部门编号,名称等。3.1.2 数据库概念结构设计人事管理系统的E-R图如图3-1所示。 图3-1 人事管理系统E-R图3.1.3 数据库逻辑结构设计与实现 根据系统E-R图,本系统需要有2个数据表分别来存

4、放员工个人信息和人事变动记录。并且需要一个外部数据表(部门信息)的支持。同时部分记录字段要用代码来表示,依次需要3个代码表来分别记录职务和人事变更的代码。最后,设立一个计数器数据表用于实现员工号的自动分配。这7个数据表用Access 2000实现,Access 2000中的设计视图如表所示。其中数据类型的细节应根据具体字段分别设置,如PERSON表的ID字段大小为6,AUTHORITY字段,SEX字段,EDU_LEVEL字段和STATE字段的大小为1,DEPARTMENT字段,JOB字段的大小为3。 员工个人信息表(PERSON)字段名称数据类型说明ID文本员工号NAME文本姓名DEPARTM

5、ENT文本所在部门JOB文本职务SPECIALTY文本专业技能REMARK文本备注 职务代码表(JOB)字段名称数据类型说明CODE文本代码DESCRIPTION文本描述 部门信息表(DEPARTMENT)字段名称数据类型说明ID文本部门编号NAME文本部门名称3.2 系统设计3.2.1 系统功能分析人事管理系统主要有以下几项功能要求:新员工资料的输入。自动分配员工号。人事变动的详细记录,包括岗位和部门的调整。员工信息的查询和修改,包括员工个人信息等。3.2.2 系统功能模块设计根据系统功能的要求,可以将系统分解成几个功能模块来分别设计,功能模块如图3-2所示。 图3-2 人事管理系统功能模块

6、图3.2.3 数据流程图系统的数据流程图如图3-3所示,所有数据由人事科管理人员输入。 图3-3 人事管理系统数据流程图下面是系统运行时主要界面信息。 人事管理系统“增加新员工”子窗口中,员工号和密码会自动按顺序生成,并且不允许修改。“人事变动”和“员工信息查询修改”子窗口中,须先输入员工号, 确认显示的信息后才可进行相关的修改。产生的3个窗体列在“窗口”菜单下。当鼠标在菜单项上移动时,状态栏中会自动显示菜单项的Prompt属性的内容。“窗口”菜单中的4项功能是标准的窗口排列功能。3.3 主框架窗口设计3.3.1 菜单的创建 用VisualC+6.0的菜单编辑器(Menu Editor)可以会

7、让你方便的创建菜单。在菜单编辑器中打开的设计窗口如图3-6所示。AppWizard创建的程序默认有两个菜单:IDR_MAINFRAME为主框架窗口所用,IDR_TESTTYPE(设应用程序名为Test)为子框架窗口所用。因本例中没有用默认的子框架,所以将IDR_TESTTYPE菜单删去,同时重新编辑IDR_MAINFRAME菜单,菜单属性设置如表3-11所示。 图3-6 菜单编辑器窗口3.3.2 工具条的创建 用Visual C+6.0的工具条编辑器(Toolbar Editor)可以很方便的编辑工具条。本程序创建的工具条如图所示,其中工具条各按钮的ID分别对应相应的菜单项,按从左到右的次序对

8、应的菜单项ID如表3-12所示。表3-12 工具条按钮对应的菜单项ID次序ID1ID_SYSTEM_CONNECT2ID_SYSTEM_DISCONNECT3ID_MANAGE_ADD4ID_MANAGER_CHANGE5ID_MANAGER_SEARCH6ID_WINDOW_CASCADE3.3.3增加一个状态栏指示器在程序中加入一个状态栏指示器以显示登录状态。首先用增加一个资源ID:ID_INDICATOR_LOGIN,然后在MainFrm.cpp中找到indicators变量的定义处,添加此ID至其列表,程序如下:Static UNIT indicators=ID_SEPARATOR,

9、/status line indicatorID_INDICATOR_LOGIN, /登录状态ID_INDICATOR_CAPS,ID_INDICATOR_NUM,ID_INDICATOR_SCRL,;3.4 增加新员工视类的创建首先加入一个新的窗体资源,在Insert Resource对话框中选择Dialog 的 IDD_FORMVIEW项。窗体创建后,在其上添加所需控件,最后的布局如图3-8所示。创建好资源后,为窗体加入一个由CFormView类继承的CAddView封装此窗体资源,然后用Class Wizard为所需控件加入成员变量。主要控件类型、ID和对应的成员变量及说明如表所示。 增

10、加新员工窗体 表1-13 增加新员工窗体控件列表控件类型ID成员变量说明Edit BoxIDC_ADD_EDT_IDm_strID员工号Edit BoxIDC_ADD_EDT_NAMEm_strName姓名Combo BoxIDC_ADD_CMB_DEPARTMENTm_cDepartmentm_strDepartment部门Combo BoxIDC_ADD_CMB_JOBm_cJobm_strJob职务ButtonIDC_ADD_BTN_ADD无“增加”按钮CAddView类需要用到主框架窗口类和加密类,因此需要在cpp文件开头加入以下两行:#include Crypt.h#include

11、MainFrm.h另外,为了使用全局数据库变量db,需要在cpp文件开头加入如下语句:Extern CDatabase db;3.5 人事变动视类的创建首先加入一个新的窗体资源,同样在Insert Resource对话框中选择Dialog的IDD_FORMVIEW项。窗体创建后,在其上添加所需控件,最后的布局如图3-9所示。创建好资源后,为窗体加入一个由CFormView类继承的CChangeView封装此窗体资源,然后用Class Wizard为所需控件加入成员变量。主要控件类型,ID和对应的成员变量及说明如表3-14所示。 图3-9 人事变动输入窗体 表1-14 人事变动窗体控制列表控制类

12、型 ID 成员变量 说明Edit BoxIDC_CHANGE_EDT_IDm_strID员工号Edit BoxIDC_CHANGE_EDT_NAMEm_strName姓名Combo BoxIDC_CHANGE_CMB_DEPARTMENTm_cDepartment部门Combo BoxIDC_CHANGE_CMB_JOBm_cJob职务ButtonIDC_CHANGE_BTN_CHANGE无 “修改”按钮CChangeView中需要加入如下语句包含主框架窗口类:#include MainFrm.h同样,本类也需要加入以下语句引用全局变量db。extern CDatabase db;3.6 员工

13、信息查询修改视图类的创建首先加入一个新的窗体资源,同样在Insert Resourse对话框中选择Dialog的IDD_FORMVIEW项。窗体最后的布局如图 3-10所示。创建好资源后,为窗体加入一个由CFormView类继承的CSearchView封装此窗体资源,然后用Class Wizard为所需控件加入成员变量。主要控件类型,ID和对应的成员变量及说明如表所示。 员工信息查询修改视图表3-15 员工信息查询修改窗体控件列表控制类型 ID 成员变量 说明Edit BoxIDC_SEARCH_EDT_IDm_strID员工号Combo BoxIDC_SEARCH_CMB_DEPARTMEN

14、Tm_cDepartment部门Combo BoxIDC_SEARCH_CMB_JOBm_cJob职务Edit BoxIDC_SEARCH_EDT_NAMEm_strName姓名ButtonIDC_SEARCH_BTN_CHANGE无“修改员工信息”按钮程序的代码如下:/ chiView.cpp : implementation of the CChiView class/#include stdafx.h#include chi.h#include chiSet.h#include chiDoc.h#include chiView.h#ifdef _DEBUG#define new DEBU

15、G_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif#include Dlgadd.h#include department.h#include post.h#include Dlgdelete.hdepartment *m_depSet;post *m_postSet;/ CChiViewIMPLEMENT_DYNCREATE(CChiView, CRecordView)BEGIN_MESSAGE_MAP(CChiView, CRecordView) /AFX_MSG_MAP(CChiView) ON_BN_CLICKED(ID

16、C_BUTTON1, OnButtonadd) ON_BN_CLICKED(IDC_BUTTON2, OnButtondelete) ON_BN_CLICKED(IDC_BUTTON3, OnButtonedit) ON_BN_CLICKED(IDC_BUTTON4, OnButtonfind) /AFX_MSG_MAP / Standard printing commands ON_COMMAND(ID_FILE_PRINT, CRecordView:OnFilePrint) ON_COMMAND(ID_FILE_PRINT_DIRECT, CRecordView:OnFilePrint)

17、ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRecordView:OnFilePrintPreview)END_MESSAGE_MAP()/ CChiView construction/destructionCChiView:CChiView() : CRecordView(CChiView:IDD) /AFX_DATA_INIT(CChiView) m_pSet = NULL; m_depSet = NULL; m_postSet = NULL; m_number = _T(); m_name = _T(); m_age = 0; m_post = _T(); m_

18、dep = _T(); m_depid = _T(); /AFX_DATA_INIT / TODO: add construction code hereCChiView:CChiView()void CChiView:DoDataExchange(CDataExchange* pDX) CRecordView:DoDataExchange(pDX); /AFX_DATA_MAP(CChiView) DDX_Text(pDX, IDC_EDIT11, m_number); DDX_Text(pDX, IDC_EDIT22, m_name); DDX_Text(pDX, IDC_EDIT33,

19、m_age); DDX_Text(pDX, IDC_EDIT44, m_post); DDX_Text(pDX, IDC_EDIT55, m_dep); DDX_Text(pDX, IDC_EDIT66, m_depid); /AFX_DATA_MAPBOOL CChiView:PreCreateWindow(CREATESTRUCT& cs) / TODO: Modify the Window class or styles here by modifying / the CREATESTRUCT cs return CRecordView:PreCreateWindow(cs);void

20、CChiView:OnInitialUpdate() m_pSet = &GetDocument()-m_chiSet; m_depSet = &GetDocument()-m_1; m_postSet = &GetDocument()-m_2; CRecordView:OnInitialUpdate(); GetParentFrame()-RecalcLayout(); ResizeParentToFit();/ CChiView printingBOOL CChiView:OnPreparePrinting(CPrintInfo* pInfo) / default preparation

21、return DoPreparePrinting(pInfo);void CChiView:OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) / TODO: add extra initialization before printingvoid CChiView:OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) / TODO: add cleanup after printing/ CChiView diagnostics#ifdef _DEBUGvoid CChiView:Asser

22、tValid() const CRecordView:AssertValid();void CChiView:Dump(CDumpContext& dc) const CRecordView:Dump(dc);CChiDoc* CChiView:GetDocument() / non-debug version is inline ASSERT(m_pDocument-IsKindOf(RUNTIME_CLASS(CChiDoc); return (CChiDoc*)m_pDocument;#endif /_DEBUG/ CChiView database supportCRecordset*

23、 CChiView:OnGetRecordset() return m_pSet;/ CChiView message handlersvoid CChiView:OnButtonadd() Dlgadd dlg_add;if (dlg_add.DoModal()=IDOK) UpdateData(); if (!m_pSet-IsOpen() m_pSet-Open(); m_pSet-AddNew(); m_pSet-m_son=dlg_add.m_number; m_pSet-m_sname=dlg_add.m_name; m_pSet-m_sage=dlg_add.m_age; m_p

24、Set-Update(); m_pSet-Close(); if (!m_postSet-IsOpen() m_postSet-Open(); m_postSet-AddNew(); m_postSet-m_sno=dlg_add.m_number; m_postSet-m_dno=dlg_add.m_depid; m_postSet-m_post=dlg_add.m_post; m_postSet-Update(); m_postSet-Close(); if (!m_depSet-IsOpen() m_depSet-Open(); m_depSet-AddNew(); m_depSet-m

25、_dno=dlg_add.m_depid; m_depSet-m_dname=dlg_add.m_dep; m_depSet-Update(); m_depSet-Requery(); m_depSet-Close(); MessageBox(信息添加成功!); void CChiView:OnButtondelete() int i=0; Dlgdelete dlg_delete; if (dlg_delete.DoModal()=IDOK) UpdateData(); if (!m_pSet-IsOpen() m_pSet-Open(); while(!m_pSet-IsEOF() if

26、(m_pSet-m_son=dlg_delete.m_number) m_pSet-Delete(); m_pSet-Requery(); m_pSet-Close(); i=1; break; else m_pSet-MoveNext(); if (!m_postSet-IsOpen() m_postSet-Open(); while (!m_postSet-IsEOF() if (m_postSet-m_sno=dlg_delete.m_number) m_postSet-Delete(); m_postSet-Requery(); m_postSet-Close(); m_postSet

27、-MoveNext(); if (i) m_postSet-Update(); MessageBox(delete successful); else MessageBox(no message); void CChiView:OnButtonedit() Dlgadd dlg_add; if (dlg_add.DoModal()=IDOK) UpdateData(); if (!m_pSet-IsOpen() m_pSet-Open(); while (!m_pSet-IsEOF() if (m_pSet-m_son=dlg_add.m_number) m_pSet-Edit(); m_pSet-m_son=dlg_add.m_num

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2