人事信息管理系统+本科毕业论文.doc_第1页
人事信息管理系统+本科毕业论文.doc_第2页
人事信息管理系统+本科毕业论文.doc_第3页
人事信息管理系统+本科毕业论文.doc_第4页
人事信息管理系统+本科毕业论文.doc_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

人事信息管理系统XXXXXX本科毕业设计人事信息管理系统学生姓名XXXXXX院系名称专业名称计算机科学与技术班 级学 号指导教师XXXXXXXX教务处二八年五月48人事信息管理系统学生:XXXX 指导教师:XXXX内容提要本系统所研究的内容是人事信息管理系统,在整个研究工程中,经过需求分析、概要设计、详细设计、系统测试等几个阶段的工作,使系统具有了插入、删除、修改、查询、导出以及备份恢复维护的基本功能。本系统使用软件的开发工具是Microsoft Visual C+ 6.0,后台数据库是本地Microsoft SQL Server2000数据库,设计数据库软件是PowerDesignerTrial11。Microsoft Visual C+ 6.0是一种开发性能非常优秀的面向对象的数据库应用开发工具,它能够设计高性能、基于客户/服务器(Client/Server)体系结构的应用系统。Visual C+ 6.0在不牺牲灵活性、性能和控制力度的同时,给C+带来了更高水平的生产效率。Microsoft Visual C+ 6.0提供了可视化编程,减少了编程过程中的难度,提高了编程效率。Microsoft SQL Server2000是一种使用方便、简单的数据库,它提供了安全的管理措施,适合于中、小型系统。PowerDesignerTrial11工具是一个方便的画数据库模型的软件,并可以通过ER模型直接生成多种类型的数据库,诸如Oracle、Sybase 、Microsoft SQL Server2000等。人事信息管理系统主要有以下六个模块组成:a) 在人事管理模块中实现了,人事管理的功能;b) 在出勤管理模块中实现了,员工的考勤管理的功能;c) 在工资管理模块中实现了,员工工资的管理功能;d) 在系统管理模块中实现了,有关基本表的更新以及数据的备份和恢复;e) 在用户管理模块中实现了,有关系统用户管理及权限的分配、密码修改等的管理;f) 最后用帮助模块,让使用者了解本系统,并帮助使用者如何更好的使用本系统。关键字:单文档 ADO Project(工程)对象Management Information SystemAbstractThe system focuses on Human affairs Information Management System. In the whole researching process, we need to go through the following steps, including requirement analysis, general design, particular design, system test and so on. Through these steps that make the system can possesses the basic functions of database insertion, deletion, modification, search, export to excel, backup and resume.This system use the Microsoft Visual C plus plus 6.0 as the empolder tool, using the Microsoft SQL Server2000 as the background database, and i use PowerDesignerTrial11 to design the database. Microsoft Visual C+ 6.0 is a kind of Object Oriented database application developping tool with excellent exploitation performance.It can design high performance application system which base on client/server system structural. Visual C+ improve the rate of C+ exploitation on not immolate agility, performance and control power at the same time.Microsoft Visual C+ provide visualization programming, consequently reduce the difficulty during programming, improving the efficiency of programming.Microsoft SQL Server2000 is a kind of using convenien, simple database,it provide secure manage measure.It is fit for middl, small system.PowerDesignerTrial11 tool is a software convenient to painting database model, it can convet to kinds of database through ER model, such as Oracle, Sybase, Microsoft SQL Server2000 etc.This system is composed of six module as follow:a) In human affairs manage model finished human affair manage funciton.b) In turn out for work manage model finished check on work attendance function.c) In salary manage model finished the management of employee salary function.d) In system manage model finished the update of base table and backup and resume of database.e) In user manage model finished the user manage, distribute purview and modify users password manage.f) In finally help model let user know this system and help user how to better use this system.KeyWord :Single Document ADO(Activex data object) Project object.目录前 言11绪 论11.1问题的提出11.2课题的背景及意义12系统需求分析22.1系统开发策略22.2系统功能需求分析23系统分析与设计33.1系统功能模块设计33.2数据库设计ER图43.3数据库物理结构表的描述44代码设计与实现54.1人事信息管理系统代码设计与实现54.2代码开发65软件测试365.1系统模块测试365.2研究成果366技术难点及解决376.1一般用户和管理员操作权限问题376.2设置对话框中Static控件字体的大小及颜色,代码如下:436.3设置ListControl控件的行高,及屏蔽空白行代码实现:436.4设置照片,代码如下:436.5工资的计算问题487总结及展望48致谢语48参考文献48人事信息管理系统前 言当今这样一个信息的世界中,信息的掌握和分析已成为现代企业生产、经营过程中的重要因素。人事管理系统是现代企业管理体制作不可缺少的部分,为适应现代企业制度要求、逐步走向人事管理科学化、规范化,利用计算机实现企业人事档案管理势在必行。人事信息管理系统是一个典型的计算机信息处理的管理模式,它支持企业对本单位工作人员的管理。本论文从基本需求出发,本着用户界面友好,数据处理快捷的原则,创建了一个具有良好实用性的人事管理系统。人事信息管理系统采用面向对象的、可视化的数据库应用系统技术完成了对人事信息的管理,采用了Microsoft Visual C+ 6.0开发环境,并使用本地Microsoft SQL Server2000数据库。该系统可以满足人事管理日常工作的需要,实现无纸化办公,以模糊组合查询的方式,提供了对数据表的多种组合查询,为人员档案的管理提供了方便、快捷的操作方式。本系统除了完成常见人事管理系统中人员对象的管理外,还针对现代企业管理的具体要求,增加了对企业部门设置和岗位编制的管理,并使其与传统的单一人员管理有机的结合,实现了数据的合理设置和有效应用,使其更为适用于目前的企业人事管理过程。通过系统开发,使我对面向对象、可视化的数据库应用系统和软件的开发过程有了一些感性的认识和了解,同时也是对自己数年来计算机专业学习成果的一次检验和考核。1 绪 论1.1 问题的提出随着计算机和网络技术的广泛应用,人事档案管理系统成为现代企业管理中不可缺少的一部分。为适应现代企业制度要求,实现企业劳动人事档案管理的科学化和规范化,从而提出了企事业单位人事档案管理系统开发的课题。1.2 课题的背景及意义企事业单位人事档案管理工作是一种繁琐的,务求准确讯速的信息检索工作。特别是对在岗人员、离退人员、工资发放、职称评定等信息的管理,具有典型的信息处理管理模式。本设计以人事档案管理为入口点,提出了基于面向对象的数据库应用系统开发技术Visual C+6.0为设计工具,以软件工程设计规则为指导的人事档案管理系统。该课题基于Visual C+6.0数据库应用系统开发技术进行开发,达到了提高企事业单位人事档案管理信息处理效率的效果。2 系统需求分析2.1 系统开发策略本系统开发主要采用自顶向下的开发方式,自顶向下的方法模型如下图所示:图1. 开发模型图2.2 系统功能需求分析2.2.1 人事档案管理系统的系统分析概述现在的世界是信息的世界,随着信息量越来越大以及计算机技术的发展,计算机已成为各企事业单位管理的重要工具。人事档案管理是对员工信息、部门信息、岗位信息、出勤信息、工资信息的管理和快速方便的查询。系统开发主要有以下六个模块组成:a) 在人事管理模块中实现了,人员档案管理与人事管理等功能;b) 在出勤管理模块中实现了,员工的考勤管理等功能;c) 在工资管理模块中实现了,员工工资的管理等功能;d) 在系统管理模块中实现了,有关基本表的更新以及数据的备份和恢复的管理功能e) 在用户管理模块中实现了,有关系统用户管理及权限的分配管理;f) 最后用帮助模块,让使用者了解本系统,并帮助使用者如何更好的使用本系统。2.2.2 系统流程图本系统的系统流程图如下:图2. 系统流程图3 系统分析与设计3.1 系统功能模块设计模块结构图图3. 模块结构图3.2 数据库设计ER图(详细信息见数据库设计概念模型)3.3 数据库物理结构表的描述主要表格如下:(详细见数据库编码)员工:EM_Employee存放员工基本信息奖惩记录:EM_RewPun_Rec模块划分:EM_ModuleClass工资:EM_Salary模块划分的值对应表名称模块编号模块名称模块对应值功能描述编码MS_IDMSModuleNameMSValue00001人事管理1控制人事管理下所有的模块00002出勤管理2控制出勤管理下所有的模块00003工资管理4控制工资管理下所有的模块00004系统管理8控制系统管理下:基本信息,部门管理00005用户管理16控制用户管理下:系统操作员管理,权限管理00006数据库管理32控制系统管理下:数据恢复备份,系统初始化4 代码设计与实现4.1 人事信息管理系统代码设计与实现4.1.1 系统主界面图4. 系统主界面图4.1.2 数据库表关联定义详细信息见数据库物理模型4.1.3 模块间的关系人事管理模块对员工的各种基本信息进行管理,考勤管理对员工的上下班情况及请假加班等情况进行管理,工资管理对员工的基本工资、工资构成、税率管理、补贴管理及员工的月度工资管理,月度工资通过考勤管理里的加班情况、出勤情况、请假情况、出差情况核算加班费、请假扣费、出差补贴等。系统管理主要管理单个的基本表项、部门管理、数据备份与恢复等。用户管理对系统的用户操作权限及密码修改管理。4.2 代码开发4.2.1 CDlgLogin窗口图5. 登录界面图登录对话框通过读取数据库中用户名和密码对用户输入的用户名和密码进行校验,如果用户名或密码为空或错误当用户点击登录时弹出如下提示:图6. 用户名输入提示图图7. 密码输入提示图图8. 密码错误提示图图9. 用户名错误提示图如果非法输入次数超过6次,将弹出如下提示:图10. 登录出错提示图系统将自动退出登录,用户输入的密码通过调用CCrypt加密类 cy的生成密钥函数cy.Key_creator(sUserPassWord),调用加密函数对密码进行加密cy.Encrypt(sUserPassWord),将加密后的密码与数据库中保存的用户名对应密码进行比较,如果相等的话根据用户表中该用户的权限显示该用户能够管理的模块,其它模块设置为灰色不可点击。管理员用户可以操作系统的所有模块。4.2.2 加密类函数的主要代码生成密钥函数:void CCrypt:Key_creator(CString S) /生成常量C1,C2以及加密解密Keyint i,j;unsigned short k=0;C1=1;C2=1;for(i=0,j=S.GetLength()-1;(i!=j)&(i!=j+1);i+,j-)C1=int(Si)(C18);C2=int(Sj)(C28);De_key=(C1*C2/S.GetLength()&(k);En_Key=De_key;加密函数:CString CCrypt:Encrypt(CString S) / 加密函数CString Result,str,back;int i,j;/ch=S;Result=S; / 初始化结果字符串for(i=0; i8); / 将密钥移位后与字符异或Result.SetAt(i, S.GetAt(i)(En_Key8);if(iS.GetLength()-1)En_Key = (short)(Resulti+En_Key)*C1+C2); / 产生下一个密钥S=Result; / 保存结果for(i=0; iS.GetLength(); i+) / 对加密结果进行转换j=Si; / 提取字符/ 将字符转换为两个字母保存str=12; / 设置str长度为2/str0=65+j/26;/str1=65+j%26;/back += str;str.SetAt(0, 65+j/26);str.SetAt(1, 65+j%26);back += str;return back;加密函数的实现:CString CCrypt:Decrypt(CString S) / 解密函数CString Result,str,back;int i,j;/Result.Empty(); / 清除结果for(i=0; i S.GetLength()/2; i+) / 将字符串两个字母一组进行处理j = (S2*i-65)*26;j += S2*i+1-65;str=1; / 设置str长度为1str=j;Result+=str; / 追加字符,还原字符串S=Result; / 保存中间结果for(i=0; i8); / 将密钥移位后与字符异或Result.SetAt(i, (BYTE)S.GetAt(i)(De_key8);if(iadoEOF)vBefID=atoi(LPCTSTR)(_bstr_t)m_pRecordset-GetCollect(EmpID);m_pRecordset-MoveNext();if(m_pRecordset-adoEOF)break;vAftID=atoi(LPCTSTR)(_bstr_t)m_pRecordset-GetCollect(EmpID);if(vAftID-vBefID)1)vID=vBefID;break;if(m_pRecordset-adoEOF)vID=vBefID;vID+=1;vEmpID.Format(%05d,vID);插入员工基本信息时,基本信息比如象民族、专业、籍贯等信息可以通过从下拉菜单中选择,而不用手工输入,信息中有关时间的信息可以通过点击下拉框选择时间来设置。当员工插入完成后点击保存退出。ConeEmpRec对话框中“上一个”按钮代码如下:strSql.Format(select * from EM_Employee);m_pRecordset=ado.GetRecordSet(_bstr_t(strSql);while(!m_pRecordset-adoEOF)vEmpID=(LPCTSTR)(_bstr_t)m_pRecordset-GetCollect(EmpID);if(vEmpID=m_EmpID)break;elsem_pRecordset-MoveNext();m_pRecordset-MovePrevious();if(m_pRecordset-adoBOF)m_pRecordset-MoveLast();vEmpID=(LPCTSTR)(_bstr_t)m_pRecordset-GetCollect(EmpID);当目前已经是最后一个员工时,自动显示第一个员工的相关信息。“下一个”同理自动显示最后一个员工信息。员工社会关系、员工辅助信息、员工个人经历的界面差不多类似,如下图17. 员工社会关系、员工辅助信息、员工个人经历图获取选中行代码如下:pos = m_EmpInfo.GetFirstSelectedItemPosition();if(!pos)return; Index= m_EmpInfo.GetNextSelectedItem(pos); / 得到项目索引dlg.EmpID = m_EmpInfo.GetItemText(Index,1); /获取员工编号人事管理模块中职称评定管理、奖惩管理、培训记录管理、人事变动管理、考评管理、福利品领取管理等界面类似,界面如下:图18. 职称评定管理、奖惩管理、培训记录管理、人事变动管理、考评管理、福利品领取管理等界面图4.2.5 出勤管理出勤管理主要包括考勤记录、请假记录、加班记录、出差记录、月度考勤记录五个部分。考勤记录是负责对员工的上下班时间进行记录,包括添加、删除、修改;计算工作时间假记录记录员工请假次数,在核算员工工资时将根据请假次数进行工资核算;加班记录记录员工加班的时间、日期及加班类型,核算工资时将根据加班类型及加班时间核算加班工资;出差记录记录员工的出差类型、出差地点、出差开始时间、出差结束时间、出差任务等,其中出差类型及时间将在工资核算时计算出差补贴;月度考勤记录记录了员工一个月中累积加班时间、累计请假时间、累计旷工次数、累计出差时间、迟到早退次数,其中累计矿工次数及累计迟到早退次数也将在工资核算中扣除相应金额。图19. 员工出勤管理图4.2.6 工资管理工资管理主要包括对工资等级、工资构成项目、税率管理、节日补贴、月度工资等管理。工资等级,对工资等级的添加、修改、删除,主要是方便用人事管理对员工工资的添加、修改,通过对工资等级的修改可以对员工同一等级进行批量修改。工资构成项目,是对于工资由哪些项目构成的管理及这些项目是税前还是税后及加、减等的管理。界面如下:图20. 工资构成图税率管理,是对员工应纳税的税率及纳税金额的上下限、速算扣除数等的管理,方便月度工资中核算税后工资。节日补贴管理,是公司对于员工各种法定节日及员工生日发放给员工的补贴。月度工资管理,实现了对员工的月度工资的添加、修改、删除、查询、导出到Excel等的管理,基本工资是根据是人事管理哪里读取的,加班费通过加班类型及加班时间计算,出差补贴按照每种出差类型的补贴 * 次数 的和,额外税前是通过工资管理员设置的,设置界面如下图1),应发工资计算公式:应发工资金额=基本工资+加班费+出差补助-请假扣款+额外税前项,额外税后、节日补贴是通过工资管理员设置的,设置界面如下图2),税后工资计算公式:税后工资=应发工资金额-纳税金额;税金额计算公式:纳税金额=应纳税金额*适合税率-速算扣除数而应纳税金额=应发工资金额-纳税基数(1000);实发工资=税后工资+税后应加项-税后应扣项+纳税基数。月度工资管理的主界面:图21. 月度工资管理图图22. 额外税前计算图 图23. 额外税后计算图月度工资表导出至Excel效果如下图:图24. 工资表导出样式图查询时的通过选择下拉框中的员工姓名或月份查看工资信息,当选择变化时通过调用SelecteConditionSet()函数改变查询条件,然后调用Displaytxt()显示查询后的结果,SelecteConditionSet()主要代码:void CSalary:SelecteConditionSet()UpdateData(TRUE);condition_SQL=;m_Condition_month.GetWindowText(vCondition_month);m_Condition_name.GetWindowText(vCondition_name);if(vCondition_name!=所有)vCondition_EmpID=ds.NameToID(vCondition_name);condition_SQL=condition_SQL+ and EM_Salary.EmpID=+vCondition_EmpID+;/EM_Salary.EmpIDif(vCondition_month!=所有)condition_SQL=condition_SQL+ and SALMonth=+vCondition_month+;RefreshData();UpdateData(FALSE);查询语句:vSQL=select SALID,EM_Salary.EmpID EmpID,EmpName,SALMonth,EM_Employee.SGSalaryGrade;vSQL=vSQL+ SGSalaryGrade,SGSalarySum,SALOvertimePay,SALGoOnErrandsSubsidy;vSQL=vSQL+,SALLeavePenalty,SALAtherBefTr,SALOughtSalary,SALAtherAftTr,SALFeastSubsidy;vSQL=vSQL+,SALTaxAfterSalary,SALFactSalary,TRTaxRate,SALTaxSum,SALDate,SALIdiograph,SALRemark ;vSQL=vSQL+from EM_Employee,EM_Salary,EM_SalaryGrade where EM_Employee.EmpID=EM_Salary.EmpID;vSQL=vSQL+ and EM_SalaryGrade.SGSalaryGrade=EM_Employee.SGSalaryGrade ;vSQL=vSQL+(_bstr_t)condition_SQL;vSQL=vSQL+ order by SALMonth asc;导出Excel主要代码如下:void CSalary:OnSalaryOUT() / TODO: Add your control notification handler code here/连接数据库ADOConn ado;ado.OnInitADOConn();/ 提取数据库中员工信息/定义操作Excel必要的对象COleVariant VOptional(long)DISP_E_PARAMNOTFOUND, VT_ERROR); _Application objApp;Workbooks objBooks;_Workbook objBook;Worksheets objSheets;_Worksheet objSheet;Range objRange;/创建Excel对象objApp.CreateDispatch(Excel.Application);objBooks=objApp.GetWorkbooks();/返回工作簿对象/ 打开指定Excel文件CString path;/ 获取当前应用程序的完整文件名,包含完整路径GetModuleFileName(NULL, path.GetBufferSetLength(MAX_PATH+1),MAX_PATH);/ 取得最后一个,去掉文件名,从而获取当前应用程序的工作路径int pos = path.ReverseFind();path = path.Left(pos+1);/ 在当前应用程序的工作路径下打开EmpInfo.xls文件objBook.AttachDispatch(objBooks.Add(_variant_t(path + Salary.xls);objSheets=objBook.GetSheets();/ 定义第一个Sheet为对象objSheet=objSheets.GetItem(_variant_t)short(1);objRange.AttachDispatch(objSheet.GetCells(),true); / 读取临时表中的记录_RecordsetPtr m_rs;_bstr_t vSQL;vSQL=select SALID,EM_Salary.EmpID EmpID,EmpName,SALMonth,EM_Employee.SGSalaryGrade;vSQL=vSQL+ SGSalaryGrade,SGSalarySum,SALOvertimePay,SALGoOnErrandsSubsidy;vSQL=vSQL+,SALLeavePenalty,SALAtherBefTr,SALOughtSalary,SALAtherAftTr,SALFeastSubsidy;vSQL=vSQL+,SALTaxAfterSalary,SALFactSalary,TRTaxRate,SALTaxSum,SALDate,SALIdiograph,SALRemark ;vSQL=vSQL+from EM_Employee,EM_Salary,EM_SalaryGrade where EM_Employee.EmpID=EM_Salary.EmpID;vSQL=vSQL+ and EM_SalaryGrade.SGSalaryGrade=EM_Employee.SGSalaryGrade ;vSQL=vSQL+(_bstr_t)condition_SQL;vSQL=vSQL+ order by SALMonth asc;m_rs = ado.GetRecordSet(vSQL);/ 生成标题栏objRange.SetItem(_variant_t(long)(1),_variant_t(long)(1),_variant_t(序号); objRange.SetItem(_variant_t(long)(1),_variant_t(long)(2),_variant_t(工资编号); objRange.SetItem(_variant_t(long)(1),_variant_t(long)(3),_variant_t(员工编号); objRange.SetItem(_variant_t(long)(1),_variant_t(long)(4),_variant_t(姓名); objRange.SetItem(_variant_t(long)(1),_variant_t(long)(5),_variant_t(月份); objRange.SetItem(_variant_t(long)(1),_variant_t(long)(6),_variant_t(基本工资等级);objRange.SetItem(_variant_t(long)(1),_variant_t(long)(7),_variant_t(基本工资); .objRange.SetItem(_variant_t(long)(1),_variant_t(long)(21),_variant_t(备注);/ 记录总数int iRowCount = 0;while(!m_rs-adoEOF)/ 把列值放入Excel指定单元格CString str;str.Format(%03d,iRowCount+1);objRange.SetItem(_variant_t(long)(iRowCount+2),_variant_t(long)(1),_variant_t(str); str = (LPCTSTR)(_bstr_t)m_rs-GetCollect(SALID);/工资编号objRange.SetItem(_variant_t(long)(iRowCount+2),_variant_t(long)(2),_variant_t(str); str = (LPCTSTR)(_bstr_t)m_rs-GetCollect(EmpID);/员工编号objRange.SetItem(_variant_t(long)(iRowCount+2),_variant_t(long)(3),_variant_t(str);str = (LPCTSTR)(_bstr_t)m_rs-GetCollect(EmpName);/员工姓名objRange.SetItem(_variant_t(long)(iRowCount+2),_variant_t(long)(4),_variant_t(str); str = (LPCTSTR)(_bstr_t)m_rs-GetCollect(SALMonth);/月份objRange.SetItem(_variant_t(long)(iRowCount+2),_variant_t(long)(5),_variant_t(str); str = (LPCTSTR)(_bstr_t)m_rs-GetCollect(SGSalaryGrade);/基本工资等级objRange.SetItem(_variant_t(long)(iRowCount+2),_variant_t(long)(6),_variant_t(str); str = (LPCTSTR)(_bstr_t)m_rs-GetCollect(SGSalarySum);/基本工资str.Format(%0.2f¥,atof(str);.str = (LPCTSTR)(_bstr_t)m_rs-GetCollect(SALRemark);/备注objRange.SetItem(_variant_t(long)(iRowCount+2),_variant_t(long)(21),_variant_t(str); iRowCount+;m_rs-MoveNext();/ 设置Excel为可见objApp.SetVisible(true);/ 释放句柄objRange.ReleaseDispatch();objSheet.ReleaseDispatch();objSheets.ReleaseDispatch();objBook.ReleaseDispatch();objBooks.ReleaseDispatch();objApp.ReleaseDispatch();ado.ExitConnect();4.2.7 系统管理系统管理主要包括对系统中的单项表格进行修改、添加,部门管理、数据备份恢复、数据压缩等管理。基本信息管理,对数据库中单项表格进行修改、添加,如对民族、专业、学历等的操作;部门管理,对部门信息进行添加、修改、删除,选中部门信息添加时,将弹出下图2),弹出的对话框中部门编号及上级部门编号都是从数据库中读取的,部门编号是读取系统中第一个未用的部门编号,界面如下: 图25. 部门管理图图26. 部门信息修改图当用户选择部门点击删除时,如果该部门包含下级部门就会弹出“此部门包含下级部门,不能删除”的提示,如果该部门包含员工时就会弹出“此部门包含员工不能删除”的提示,提示如下图:图27. 部门删除提示(包含有下级部门)图图28. 部门删除提示(包含员工)图图29. 部门删除提示图数据备份与恢复,对数据库信息进行维护,保证数据损坏时能够还原,数据备份时,将记录在数据库中备份表格EM_Backup表格中,该表格存储了数据库保存的备份iD,备份时间,及备份路径;备份对话框界面如下:图30. 数据备份恢复图备份说明:为了防止数据冗余,每天备份的最大数量为99999,备份时将弹出文件保存对话框,文件名是自动根据备份日期及当天备份编号生成的,用户可以选择更改备份名称,备份名称如“备份数据BACKUP2008-04-15-19-55-00001”,备份成功后会提示备份成功。数据恢复时也将弹出似文件打开对话框,用户可以选择备份文件*.Bak文件,点击打开后开始恢复,数据库恢复需要几分钟时间。数据备份主要代码:生成数据备份ID函数CString CBakeUpDlg:ProduceBackUpID()/连接数据库ADOConn m_AdoConn;m_AdoConn.OnInitADOConn();/设置SELECT语句_bstr_t vSQL;CTime tt=CTime:GetCurrentTime();CString rq=tt.Format(%Y-%m-%d);CString str_tt=tt.Format(BACKUP%Y-%m-%d-%H-%M-);vSQL = select BackUp_ID from EM_BackUp where BackUp_Date=+ rq +order by BackUp_ID;/执行SELETE语句_RecordsetPtr m_pRecordset;m_pRecordset = m_AdoConn.GetRecordSet(vSQL);/执行SELECT语句if(m_pRecordset-adoEOF)return (str_tt+00001);else_variant_t value;CString str,sub;for(int i=1;iGetCollect(BackUp_ID);str=(char*)(_bstr_t)value;sub=str.Mid(23);int number=atoi(sub);if(number!=i)break;m_pRecordset-MoveNext();if(m_pRecordset-adoEOF)i+;break;if(i=99999)MessageBox(今日备份数量大于99999了,错误,MB_OKCANCEL | MB_ICONQUESTION |MB_SYSTEMMODAL);return CString();str.Format(%05d,i);str_tt=str_tt+str;return str_tt;m_AdoConn.ExitConnect();数据备份函数void CBakeUpDlg:OnBackUp() / TODO: Add your control notification handler code hereCString ID=this-ProduceBackUpID();CString backname = 备份数据+ID;/连接数据库ADOConn m_A

温馨提示

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

评论

0/150

提交评论