人事考勤管理系统c课程设计文档_第1页
人事考勤管理系统c课程设计文档_第2页
人事考勤管理系统c课程设计文档_第3页
人事考勤管理系统c课程设计文档_第4页
人事考勤管理系统c课程设计文档_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

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

文档简介

人事考勤管理系统

C++课程设计文档

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

课程设计

人事考勤管理系统

目录

第一部分:开发背

景3

第二部分:系统分

析3

第三部分:系统设

计9

第四部分:公共类设

iH-..♦•・••••♦♦15

第五部分:主题窗设

计16

第六部分:用户登录模块设

计17

第七部分:用户管理模块设

计20

第八部分:部门管理模块设

"iH".23

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

第九部分:人员信息管理模块设

计32

第十部分:考勤模块设

计40

第十一部分:考勤汇总模块设

计45

第十二部分:后续补充部分:一些过程的具体实现方法总结及图片

释:51

第十三部分:心

得51

人事考勤管理系统

>开发背景

某公司业务不断发展,员工数量不断增加,人事考勤方面的

管理已成为公司管理中的重要部分,但传统的人事考勤制度已

不能有效地管理员工的出勤状况,急需一套人事考勤管理的有

效工具一一人事考勤管理系统。

>二、系统分析

1)需求分析

经过对人事考勤管理过程的研究和分析,要求本系统

应该具有以下功能。

a)用户登录。

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

d)对员工的考勤信息按月汇总计算。

e)对用户输入的数据,系统进行严格的数据检验,

尽可能排除人为错误。

0系统最大限度地实现了易维护性和易操作

性。

g)系统运行稳定、安全可靠。

2)系统功能结构

人事考勤管理系统的功能结构如图所示:

3)业务流图

人事考勤管理系统业务流程图如图:

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

4)系统预览:

人事考勤管理系统由多个功能模块组成,下面仅列

出一些典型的功能模块,其它模块以后陆续列出:

a)部门管理模块如图:

主要管理各部门之间的结构信息

b)用户管理模块如图:

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

用户

赵S

退出

用于用户的一些操作管理

c)人员信息管理如图:

人员信息告理

部门信息人员信息

ooo1三

OOO2四

004二

01男

4

主要用于维护员工的基本信息

d)考勤管理模块如图:

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

考勤告理

K显示全部年:|2011▼1月:|12色员工:|(全部)d

人员姓名上班时间丁下班时间上亚考勤时间丁下班考勤时间I清假类别

8:00:0017:00:008:C0:0017:00:00

6:00:0017:30:008:C0:0015:30:00

重假

10:00:0017:00:008:C0:0017:00:00

8:00:0017:00:0010:10:0016:50:00

8:00:0017:00:008:C0:0017:00:00

'1______H'►

添加I修改I删除I退出I

用于记录人事考勤的信息

e)考勤汇总查询如图:

对员工的考勤信息进行汇总统计

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

5)数据库设计

A.数据库分析

人事考勤系统采用SQLServer数据库,数据库名

称为tb_person在数据库中建立四个表存储不同的

信息,如图:

闺LJ系统数据库

S|Jtb_person

aLJ都援库关系图

日立表

5口系统表

®ndbo.tab_check

(+3dbo.tab_Dept

Endbo.tab_EmpIoyees

®ndbo.Tab_User

m尸,4m田1

B.数据库逻辑设计

a)管理员信息表(tab_user),用于保存管理员的信

息,如图:

LONGFEI-PC\SQLEX...n-dbo.Tab_User▼X

列名数据类型允许Null值

►IDint

gUserNamevarchar(50)

Passwordvarchar(50)

b)部门信息表(tab_Dept)用于记录部门的信息,

如图:

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

LONGFEI-PC\SQLEX...n-dbo.tab.Dept▼X

列名数据类型允许Nul值一

>IDint□

gDeptNamevarchar(50)s

Memovarchar(50)B

PIDint□

C)考勤信息表(tab.check)用十记录考勤信息

LONGFEI-PC\SQLEX...n-dbo.tab_check▼

列名数据类型允许Null值

>autoidintn

8namevarchar(50)□

*checkdatedatetime

ondutytimedatetime□

offdutytimedatetime

ontimedatetime□

offtimedatetime

leavevarchar(50)回

onleavedatetimes

offleavedatetime□

latetimedatetimeB

leaveearlydatetime□

memovarchar(200)

c)员工信息表(tab_Employees)保存公司员二信

息,如图:

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

LONGFEI-PC\SQLEX^.dbo.tab_Employees▼X

列名数据类型允许Null值

AutoIDint

Emp_Idvarchar(50)

Emp_NAMEvarchar(50)

Photoimage

Sexchar(2)

Nationalityvarchar(40)

Birthvarchar(20)

PoliticaLPartyvarchar(40)

Culture_Levelvarchar(40)

Marital_Conditionvarchar(20)

Family_Placevarchar(60)

Id_Cardvarchar(20)

Office_phonevarchar(30)

Mobilevarchar(30)

Files_Keep_Orgvarchar(lOO)

Hukouvarchar(lOO)

HireDatevarchar(20)

Deptint

Dutyvarchar(40)

Memovarchar(200)

>四、公共类设计

本系统采用ADO连接数据库。为了能够方便的使用ADO建

立数据库连接并进行相应的数据操作,在公共类中对系统口是

使用的ADO操作进行了封装。在系统中建立了ADO的两个

公共类CADOConnection和CADODataSet,这两个类定义在

ADO.h头文件口,实现在ADO.cpp文件中。

A.CADOConnection类

CADOConnection类是用来连接数据库的,实现了对

-Connection接□的封装。CADOConnection类在头文件中的定义

如下:

#import"C:\ProgramFilcs\CommonFilcs\Systcm\ado\msado15.dll"

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

no_namespacerename("EOF,,,"adoEOF")

classCADOConnection

(

private:

staticvoidInitADO();〃初夕台化ADO

staticvoidUnInitADO();

protected:

_ConnectionPtrm_Connection;〃指针接口

public:

BOOLIsOpenO;//判断是否与数据库连接

_ConnectionPtrGetConnection。;〃获取连接接口

CStringGetSQLConStr();〃获取SQL连接字符串

BOOLOpen(CStringConStr);〃建立数据库连接

CADOConnection();

virtual-CADOConnection();

);

CADOConnection类的实现代码如下:

CADOConnection*GetConnection()//GetConnection函数是一个全

局函数,用于返回全局数据库连接对象的的指针

return&g_Connection;

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

CADOConnection::CADOConnection()//CADOConnection方法是构

造方法,用于初始化OLE和仓IJ£l_Connection接口指针

(

InitADOO;

m_Connection.CreateInstance(nADODB.Connection");

)

CADOConnection:>CADOConnection()//-CADOConnection方法是

构造方法,用于取消OLE的初始化和释放.Connection接口指针

(

if(IsOpen())

m_Connection->Close();

m_Connection=NULL;

UnInitADO();

)

voidCADOConnection::InitADO()//InitADO是一个静态方法,用于

初始化OLE

(

if(ConCount++==0)

CoInitialize(NULL);

);

voidCADOConncction::UnInitADO()//UnInitADO是一个静态方法,

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

用于取消初始化OLE

(

if(―ConCount==0)

CoUninitializeQ;

};

BOOLCADOConnection::Open(CStringConStr)//经过指定的数据库

连接字符串于SQL数据库建立连接

(

if(IsOpen())

m_Connection->Close();

m_Connection->Open((_bstr_t)ConStr,HH,,,,,,adModeUnknown);

returnIsOpen();

)

CStringCADOConnection::GetSQLConStr()〃生成数据库连接需要

的字符串

(

CStringStr;

Str.Format("Provider=SQLOLEDB.1Jntegrated

Security=SSPI;PersistSecurityInfo=False;Initial

Catalog=tb_person;DataSource=LONGFEI-PC\\SQLEXPRESS");

returnStr;

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

_ConnectionPtrCADOConnection::GetConnection()〃该方法用于返

回—Connection接口指针

(

returnm_Connection;

)

BOOLCADOConnection::IsOpen()〃判断当前数据库连接对象与数

据库的连接状态

(

longState;

m_Connection->get_State(&State);

if(State==adStateOpcn)

returntrue;

returnfalse;}

CADODataSet类的定义如下:

classCADODataSet

(

protected:

_RecordsetPtrm_DataSet;〃数据集接□指针

CADOConnection*m_Connection;〃数据库连接对象

public:

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

BOOLOpen(CStringSQLStr,intLockType);//打开记录集

voidDelete。;“记录删除

intGetRecordNo。;〃获取记录集行号

voidmove(intnlndex);//移动记录指针

voidSave();〃保存对记录集的修改

voidSetFieldValue(CStringFieldName,_variant_t

Value);//设置字段的值

voidAddNew();〃添加新纪录

BOOLNext();〃记录集指针指向下一个记录

FieldsPtrGetFields。;//获取记录集字段集合

intGetRecordCount。;//获取记录集中记录数量

voidSetConnection(CADOConnection*pCon);〃设置记

录集的数据库连接对象

BOOLOpen(CStringSQLStr);〃打开记录集

CADODataSet();

virtual-CADODataSet();

private:

BOOLIsOpen();

);

CADODataSet类的实现如下:

CADODataSet::CADODataSet()〃该方法为记录集实现类的构造方

法,在该方法中实现记录集接口对象的创立

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

m_DataSet.CreateInstance("ADODB.Recordset");

J

CADODataSet::〜CADODataSet。//实现记录集的关闭与接口的释放

(

if(IsOpen())

m_DataSet->Close();

m_DataSet=NULL;

m_Connection=NULL;

)

voidCADODataSet::SetConnection(CADOConnection*pCon)〃设置

记录集所连接的数据库连接类的对象

(

m_Connection=pCon;

)

intCADODataSet::GetRecordCount()〃获取记录集中数据的数量

(

if(IsOpen())

returnm_DataSet->GetRecordCount();

else

return0;

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

BOOLCADODataSet::Open(CStringSQLStr"小丁开数据集

(

if(IsOpen())

m_DataSet->Close();

//*/

m_DataSet->Open(_bstr_t(SQLStr),

_variant_t((IDispatch*)g_Connection.GetConnection(),true),

adOpenKeyset,adLockOptimistic,adCmdText);

returnIsOpen();

〃*/

)

BOOLCADODataSet::IsOpen()〃判断数据集是否处于打开状态

(

longState;

m_DataSet->get_State(&State);

if(State==adStateOpen)

returntrue;

returnfalse;

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

FieldsPtrCADODataSet::GetFields()〃用来获取记录集中字段的集合

(

returnm_DataSet->GetFields();

)

BOOLCADODataSet::Next()〃记录集指针下移一位

(

if(m_DataSet->adoEOF)

returnfalse;

m_DataSet->MoveNext();

returntrue;

)

voidCADODataSet::AddNew()

(

m_DataSet->AddNew();

)

voidCADODataSet::SetFieldValue(CStringFieldName,_variant_t

Value)//想记录集中指定的字段赋值

m_DataSet->PutCollect((_bstr_t)FieldName,Value);

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

voidCADODataSet:Save。//保存记录集数据所做的修改

(

m_DataSet->Update();

)

voidCADODataSet::move(intnlndex)//将记录集的当前指针移动到

指定的索引位置

(

m_DataSet->MoveFirst();

m_DataSet->Move(nIndex);

)

intCADODataS6t::GetRecordNo()〃获取记录集中的当前行号

(

returnm_DataSet->AbsolutePosition;

}

voidCADODataSet::Delete()〃flffl除记录集中的当前行

(

m_DataSet->Delete(adAffectCurrent);

BOOLCADODataSct::Opcn(CStringSQLStr,intLockTypc)

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

if(IsOpen())

m_DataSet->Close();

//*/

m_DataSet->Open(_bstr_t(SQLStr),

_variant_t((IDispatch*)g_Connection.GetConnection(),true),

adOpenKeyset,(LockTypeEnum)LockType,

adCmdText);

returnIsOpen();

}

>五、主题窗设计

A.主题窗由菜单和图片组成,如图:

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

B.主题窗设计步骤:

a.启动visualC++,选择File/New命令,打开New对话框

b,在左侧选择MFCAppWizard(exe)选项,在Projectname编

辑框中输入工程名称,在location编辑框中设置保存工程的路径,

然后单击OK按钮,打开MFCAppWizard对话框,选择对话框编程,

打击fish

c.像工程中导入位图,菜单资源(具体操作在最后有补充)

>六、用户登录模块设计

A.概述,登录界面是每个管理系统应该具备的,不系

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

统的登录模块如图:

B.技术分析

窗体应在主题窗创立之前并显示,在登录窗体创立的同时

应该建立数据库连接,具体操作如下:

BOOLbCon=、GetConnection()->Open(GetConnection()-

>GetSQLConStr());

CLoginDialoglogindig;

if(logindlg.DoModal()!=IDOK)

returnfalse;

::CoInitialize(NULL);

CPersonDlgdig;

C.实现过程

a.创立一个对话框

b.向对话框中添加两个静态文本控件、一个编辑

框控件、和两个按钮控件。分别设置两个静态

文本控件的Caption属性为”用户名“和“密

码”设置编辑框控件类型为password;

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

分别设置连个按钮为“确定“和“取消”。

C.在窗体初始化方法中创立用户表的数据,并将

用户添加到列表框控件中。代码如下:

BOOLCLoginDialog::OnInitDialog()

(

CDialog::OnInitDialog();

m_DataSet.SetConnection(GetConnection());

m_DataSet.Open("Select*FromTab_Usern);

intcount=m_DataSet.GetRecordCount();

for(inti=0;i<count;i++)

(

m_UserList.AddString((_bstr_t)m_DataSet.G

etFields()->Item[LnUserNamen]->Value);

m_DataSet.Next();

)

m_UserList.SetCurSel(O);

returnTRUE;//returnTRUEunlessyousetthe

focustoacontrol

//EXCEPTION:OCXPropertyPages

shouldreturnFALSE

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

d.确定按钮事件代码如下:

voidCLoginDialog::OnLogin()

(

CStringsql,user,pass;

m_UserList.GetWindowText(user);

m_PassWord.GetWindowText(pass);

sql.Format("Select*Fromtab_userWhere

UserName='%s'andPassWord="%s'",

user,pass);

m_DataSet.Open(sql);

if(m_DataSet.GetRecordCount()==1)

(

::SetUserName(user);

this->OnOK();

}

else

AfxMessageBox(H用户名或密码不正

确!)

)

七、用户管理模块

A.概况:能实现添加,修改,删除等操作如图:

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

B.实现过程:

a.创立一个对话框

b.向对话框中添加相应的控件

c.给对话框添加对话框类

d,给类添加函数及成员变量

e.给控件关联变量

f.编写函数

C.实现代码:

a.定义UpdateGrid方法用来更新列表视图中的信息代码如

下:

voidCUserManage::UpdateGrid()

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

m_DataSet.Open("Select*Fromtab_User");

m_grid.DeleteAHItems();

for(inti=0;i<m_DataSet.GctRecordCount();i+4-)

m_grid.InsertItem(i,(_bstr_t)m_DataSet.G

etFields()->Item[L,,UserName,,]->Value);

intno=m_DataSet.GetRecordNo();

m_grid.SetItemData(i,no);

m_DataSet.Next();

)

)

b.添加按钮代码如下:

voidCUserManage::OnAppend()

(

CUserEdituseredit;

if(useredit.DoModal()==IDOK)

(

m_DataSet.AddNew();

m_DataSet.SetFieldValue("UserNamen,(_bstr_t)u

);

m_DataSet.Save();

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

UpdateGrid();

I

)

c.删除按钮代码:

voidCUserManage::OnDelete()

(

if(MessageBox。是否删除此记录!提示”,

MB_YESNO|MBJCONWARNING)

二二IDYES)

(

intno=

m_grid.GetItemData(m_grid.GetSelectionMark());

m_DataSet.move(no-1);

m_DataSet.Delete();

m_DataSet.Save();

UpdateGrid();

)

)

d.修改按钮代码:

voidCUserManage::OnEdit()

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

CUserEdituseredit;

intno=

m_grid.GetItemData(m_grid.GetSelectionMark());

m_DataSet.move(no-1);

=(char

*)(_bstr_t)m_DataSet.GetFields()-

>Item[LMUserNameM]->Value;

if(useredit.DoModal()==IDOK)

(

m_DataSet.SetFieldValue(nUserNamen,(_bstr

_t));

m_DataSet.Save();

UpdateGrid();

)

)

部门管理模块设计

A.概述:该模块记录了部门间的的层次结构和部门信

息,一般使用树控件实现,如图:

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

B.实现过程:

a.创立一个对话框

b.向对话框中添加相应的控件

c.给对话框添加对话框类

d.给类添加函数及成员变量

e.给控件关联变量

f.编写函数

C.相关代码如下:

BOOLCDeptManage::OnInitDialog()〃初始化函数

(

CDialog::OnlnitDialogO;

m_DataSet.SetConnection(::GetConnection());

UpdateDept();

returnTRUE;}

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

将部门信息一次性读入树控件中。代码如下:

voidCDeptManage::GetNode(HTREEITEMpNode,

intnPid)

(

HTREEITEMnode;

CADODataSetDataSet;

DataSet.SetConnection(::GetConnection());

CStringstr;

str.Format("Select*Fromtab_Deptwherepid

=%dM,nPid);

DataSet.Open(str);

intcount=DataSet.GetRecordCount();

intID;

_variant_tvalue;

for(inti=0;i<count;i++)

(

node=

m_tree.InsertItem((_bstr_t)DataSet.GetFields()-

>Item["DeptName"]->Value,pNode);

value=(_variant_t)DataSet.GetFields()-

>Item[nID"]->Value;

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

ID二Val;

m_tree.SetItemData(node,ID);

GetNode(nodeJD);

DataSet.Next();

)

)

定义GetNode方法,用于按成次级关系获取部门表中的所有数

据,并添加树控件,该方法由UpdateDept方法进行调用,代码如下;

voidCDeptManage::UpdateDept()

{m_tree.DeleteAHItems();

GetNode(TVI_ROOT,0);

)

voidCDeptManage::OnAdd()

(

CDeptEditdeptedit;

if(deptedit.DoModal()==IDOK)

(

HTREEITEMpNode二

m」re已GetSelectedItem();

intpID;

if(deptedit.isroot)

pID=0;

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

else

pID=m_tree.GetItemData(pNode);

CADODataSetdataset;

dataset.SetConnection(::GetConnection());

dataset.Open("Selecttop1*Fromtab_Dept");

dataset.AddNew();

dataset.SetFieldValue("DeptNameH,(_variant_t)dept

);

dataset.SetFieldValue("memon,(_variant_t)deptedit.

memo);

dataset.SetFieldValue(nPID",(long)pID);

dataset.Save();

UpdateDept();

)

)

单击“修改“按钮时将弹出部门编辑窗体,输入部门信息后单

击"确定"按钮,实现部门信息的修改。代码如下

voidCDeptManage::OnEdit()

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

CDeptEditdeptedit;

deptedit.visible=false;

HTREEITEMpNode=m_tree.GetSelectedItem();

if(pNode==0)

return;

intpID=m_tree.GetItemData(pNode);

CADODataSetdataset;

dataset.SetConnection(::GetConnection());

CStringstr;

str.Format("Select*Fromtab_Deptwhereid

=%d”,pID);

dataset.Open(str);

=(char

*)(_bstr_t)dataset.GetFields()->Item[L"DeptName"]-

>Value;

deptedit.memo=(char

*)(_bstr_t)dataset.GetFieIds()->Item[nmemoH]->Value;

if(deptedit.DoModal()==IDOK)

dataset.SetFieldValue(nDeptNameH,(_variant_t)dept

);

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

dataset.SetFieldValue(nmemo",(_variant_t)deptedit.

memo);

dataset.Save();

UpdateDept();

)

)

当单击“删除“按钮时,将删除当前选中的节点,代码如下:

voidCDeptManage::OnDelete()

(

HTREEITEMpNode

m_tree.GetSelectedItem();

if(pNode==0)

return;

if(MessageBox,是否删除此记录!“,“提示”,

MB_YESNO|MB」CONWARNING)=

IDYES)

(

intpID=m_tree.GetItemData(pNode);

CADODataSetdataset;

dataset.SetConnection(::GetConnection());

CStringstr;

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

str.Format("Select:1:Fromtab_Deptwhereid

=%d”,pID);

dataset.Open(str);

dataset.Delete();

dataset.Save();

UpdateDept();}}

>九、人员信息管理模块设计

A.概述:人员信息管理模块根据部门分类显示人员,

同时可对人员信息进行维护,界面如下:

人员信息笃理

部门信息人员信息

B.实现过程:

a.创立对话框

b.向对话框中添加相应的控件

C.给对话框添加对话框类

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

d.给类添加函数及成员变量

e.给控件关联变量

C.相关代码:

GetNode方法,获取部门信息,并添加到树控件中。该方法由

UpdateDeptU司用,代6节女口卜:

voidCPersonManage::GetNode(HTREEITEMpNode,int

nPid)

(

HTREEITEMnode;

CADODataSetDataSet;

DataSet.SetConnection(::GetConnection());

CStringstr;

str.Format("Select*Fromtab_Deptwherepid

=%dn,nPid);

DataSet.Open(str);

intcount=DataSet.GetRecordCount();

intID;

_variant_tvalue;

for(inti=0;i<count;i++)

{node=m_tree.InsertItem((_bstr_t)DataSet.GetFields()-

>Item["DeptName"]->Value,pNode);

value=(_variant_t)DataSet.GetFields()-

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

>Item["ID"]->Value;

ID=Val;

m_tree.SetItemData(nodc,ID);

GetNode(nodeJD);

DataSet.Next();

)

)

UpdateDpt调用GetNode,实现信息更新,代码如下:

voidCPersonManage::UpdateDept()

(

m_tree.DeleteAHItems();

HTREEITEMnode;

node=m_tree.lnsertltem(“全部",TVI_ROOT);

m_tree.SetItemData(node,-1);

GetNode(node,0);

)

UpdatePerson更新人员信息,并将其显示在列表控件中。代码如下:

voidCPersonManage::UpdatePerson()

(

m_list.DeleteAHItems();

CADODataSetDataSet;

DataSet.SetConnection(::GetConnection());

资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。

CStringstr;

if(m_DeptID==-1)

str.Format("Select*Fromtab_Employeesn

温馨提示

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

评论

0/150

提交评论