人事管理系统《面向对象的编程技术》课程设计实验报告Word文档下载推荐.docx

上传人:b****5 文档编号:21405238 上传时间:2023-01-30 格式:DOCX 页数:13 大小:174.37KB
下载 相关 举报
人事管理系统《面向对象的编程技术》课程设计实验报告Word文档下载推荐.docx_第1页
第1页 / 共13页
人事管理系统《面向对象的编程技术》课程设计实验报告Word文档下载推荐.docx_第2页
第2页 / 共13页
人事管理系统《面向对象的编程技术》课程设计实验报告Word文档下载推荐.docx_第3页
第3页 / 共13页
人事管理系统《面向对象的编程技术》课程设计实验报告Word文档下载推荐.docx_第4页
第4页 / 共13页
人事管理系统《面向对象的编程技术》课程设计实验报告Word文档下载推荐.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

人事管理系统《面向对象的编程技术》课程设计实验报告Word文档下载推荐.docx

《人事管理系统《面向对象的编程技术》课程设计实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《人事管理系统《面向对象的编程技术》课程设计实验报告Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。

人事管理系统《面向对象的编程技术》课程设计实验报告Word文档下载推荐.docx

●排序记录:

对职工信息进行排序

3.系统功能模块

人事管理系统有:

新增记录、删除记录、排序记录、筛选及浏览记录。

4.功能的实现:

1.“筛选及浏览记录”模块:

在access中建表时,在职工编号栏开启关键词索引功能,筛选时在话框的编辑框内输入要筛选的职工标号即可进行筛选。

2.“新增记录”模块:

在新建一个对话框创建一个新类,给每个编辑框绑定变量,在人事管理系统View.cpp中增添自拟文件头

3.“数据删除”模块:

显示当前的数据内容,点击删除按钮将该职工的所有信息删除。

6.模块框架图

三、系统设计

1、界面设计

运行时主界面

增加记录界面

筛选界面

2、程序设计

通过主窗体调用其他窗体,在调用增加记录是要弹出新的对话框,以便输入要添加的信息。

筛选记录时,要实现在创建ACCESS数据库时打开索引功能。

这样再点击筛选记录是只要在新对话框中输入关键词(职工编号)便可。

四、总结

此次的人事管理系统的设计,主要是运用的MFC操作,以让程序更加的便于操作,使用!

通过此次设计我最大的收获是直观的看见了程序设计的作用领域,为我以后的学习有添加了兴趣。

其次也让我初步了解了MFC程序的结构,最后在设计中,通过解决“日期/时间字段”问题,初步理解其的不同(其实在第三次设计时便运用老师给的第一种方法解决利日期/时间字段问题,但在后面的设计中不知又在哪错了一步,导致无法插入函数,输入数据。

所以又重新设计时便将其改为文本形式了,以避免后面的错误!

一、参考资料

源代码:

//人事管理系统View.cpp:

implementationoftheCMyViewclass

//

#include"

stdafx.h"

人事管理系统.h"

DlgQuery.h"

//因后面要用到对话框IDD_DIALOG1(CDlgQuery类)来输入筛选条件

DlgAdd.h"

人事管理系统Set.h"

人事管理系统Doc.h"

人事管理系统View.h"

#ifdef_DEBUG

#definenewDEBUG_NEW

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

#endif

/////////////////////////////////////////////////////////////////////////////

//CMyView

IMPLEMENT_DYNCREATE(CMyView,CRecordView)

BEGIN_MESSAGE_MAP(CMyView,CRecordView)

//{{AFX_MSG_MAP(CMyView)

ON_BN_CLICKED(IDC_BUTTON_ADD,OnButtonAdd)

ON_BN_CLICKED(IDC_BUTTON_DEL,OnButtonDel)

ON_BN_CLICKED(IDC_BUTTON_FILTER,OnButtonFilter)

ON_BN_CLICKED(IDC_BUTTON_SORT,OnButtonSort)

//}}AFX_MSG_MAP

//Standardprintingcommands

ON_COMMAND(ID_FILE_PRINT,CRecordView:

:

OnFilePrint)

ON_COMMAND(ID_FILE_PRINT_DIRECT,CRecordView:

ON_COMMAND(ID_FILE_PRINT_PREVIEW,CRecordView:

OnFilePrintPreview)

END_MESSAGE_MAP()

//CMyViewconstruction/destruction

CMyView:

CMyView()

:

CRecordView(CMyView:

IDD)

{

//{{AFX_DATA_INIT(CMyView)

m_pSet=NULL;

//}}AFX_DATA_INIT

//TODO:

addconstructioncodehere

}

~CMyView()

voidCMyView:

DoDataExchange(CDataExchange*pDX)

CRecordView:

DoDataExchange(pDX);

//{{AFX_DATA_MAP(CMyView)

DDX_FieldText(pDX,IDC_EDIT_GZSJ,m_pSet->

m_gzsj,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_JBGZ,m_pSet->

m_jbgz,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_JL,m_pSet->

m_jl,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_SZBM,m_pSet->

m_szbm,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_ZC,m_pSet->

m_zc,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_ZGBH,m_pSet->

m_zgbh,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_ZGNL,m_pSet->

m_zgnl,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_ZGXB,m_pSet->

m_zgxb,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_ZGXM,m_pSet->

m_zgxm,m_pSet);

//}}AFX_DATA_MAP

BOOLCMyView:

PreCreateWindow(CREATESTRUCT&

cs)

ModifytheWindowclassorstylesherebymodifying

//theCREATESTRUCTcs

returnCRecordView:

PreCreateWindow(cs);

OnInitialUpdate()

m_pSet=&

GetDocument()->

m_mySet;

OnInitialUpdate();

GetParentFrame()->

RecalcLayout();

ResizeParentToFit();

/////////////////////////////////////////////////////////////////

//CMyViewprinting

OnPreparePrinting(CPrintInfo*pInfo)

//defaultpreparation

returnDoPreparePrinting(pInfo);

OnBeginPrinting(CDC*/*pDC*/,CPrintInfo*/*pInfo*/)

addextrainitializationbeforeprinting

OnEndPrinting(CDC*/*pDC*/,CPrintInfo*/*pInfo*/)

addcleanupafterprinting

///////////////////////////////////////////////////////////////

//CMyViewdiagnostics

AssertValid()const

AssertValid();

Dump(CDumpContext&

dc)const

Dump(dc);

CMyDoc*CMyView:

GetDocument()//non-debugversionisinline

ASSERT(m_pDocument->

IsKindOf(RUNTIME_CLASS(CMyDoc)));

return(CMyDoc*)m_pDocument;

#endif//_DEBUG

//CMyViewdatabasesupport

CRecordset*CMyView:

OnGetRecordset()

returnm_pSet;

//CMyViewmessagehandlers

OnButtonAdd()

Addyourcontrolnotificationhandlercodehere

//m_pSet->

AddNew();

Update();

//更新记录集

Requery();

//重新提取数据

MoveLast();

//移动下一条记录

//UpdateData(FALSE);

//更新视图

try

{

DlgAddCDlgAdd;

if(CDlgAdd.DoModal()==IDOK)//"

模式窗口方式打开,结束前不能操纵父窗口"

m_pSet->

m_zgbh=CDlgAdd.m_zgbh;

m_zgxm=CDlgAdd.m_zgxm;

m_zgnl=CDlgAdd.m_zgnl;

m_zgxb=CDlgAdd.m_zgxb;

m_zc=CDlgAdd.m_zc;

m_szbm=CDlgAdd.m_szbm;

m_jbgz=CDlgAdd.m_jbgz;

m_gzsj=CDlgAdd.m_gzsj;

m_jl=CDlgAdd.m_jl;

//更新记录集

//重新提取数据

UpdateData(FALSE);

}

catch(CDBException*e)

MessageBox(e->

m_strError);

//对于异常信息的处理,这里是简单输出错误的信息

OnButtonDel()

Delete();

MoveNext();

if(m_pSet->

IsEOF())

m_pSet->

IsBOF())

SetFieldNull(NULL);

OnButtonFilter()

CDlgQueryDlgquery;

CStringvalue;

if(Dlgquery.DoModal()==IDOK)//"

value="

职工编号=+"

+Dlgquery.m_query+"

"

;

m_strFilter=value;

UpdateData(FALSE);

OnButtonSort()

m_strSort="

职工编号"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1