基于C的职工工资管理系统.doc_第1页
基于C的职工工资管理系统.doc_第2页
基于C的职工工资管理系统.doc_第3页
基于C的职工工资管理系统.doc_第4页
基于C的职工工资管理系统.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

基于C+的职工工资管理系统目录摘要.Abstract.1 引言.11.1 课题背景.11.2 系统目的.12本系统关键技术简介.22.1 C+介绍.22.2 ODBC介绍.22.3 CRecordset类.32.4 Microsoft Assess数据库.33职工工资管理系统需求分析.53.1职工工资管理个功能模块分析.53.2 数据库分析.54职工工资管理系统的实现与测试 .64.1登录模块和系统主界面设计.64.2系统功能的实现.75存在的不足与对策.9 6总结.10 参考文献.11摘 要开发职工工资管理系统的目的就是为了帮助老板能更好的管理单位的职工工资,提高工作效率,实现职工工资信息管理的规范化和自动化。本系统使用VC+编程语言,实现了一般工资管理系统对职工工资信息的浏览、添加、删除、修改和查询功能。节省了大量的人工操作的工作量,自己完成众多的信息处理,减少了数据出现错误的几率,加强了工资记录的安全性和完整性。文本还简单介绍了VC+软件的界面及操作方法。简要介绍系统的制作和设计,系统的最后编译过程和简单的操作界面。 关键词: 职工工资管理系统;VC+ ;AccessAbstract The development of worker wage query system is designed to help the boss to better management units wages for workers, improve work efficiency, achieve wage information management standardization and automation. The system uses VC+ programming language, the realization of the general wage management information system to the wages of workers, add, delete, modify browse and query functions, saves a large amount of manual workload, he completed a large number of information processing, reduced the data error rate, strengthen the payroll records of the security and integrity. The text also simply introduced the VC+ software interface and methods of operation. Brief introduction of system of production and design, the final system build process and simple operation interface. Keywords: wage query system;VC+; Access1 引言员工工资管理问题,一直是企业内的一个大问题。工资问题的有效解决将有利于管理者更好的管理企业,也有利于员工安心工作,所以对于一个企事业单位来说有一个好的工资管理系统是必不可少的。工资管理系统应包括员工的基本工资的浏览查询等功能。并且有一个方便易操作的界面对管理者来说是很必要的。本系统基于这些原因以精简的界面和方便易操作的设计思想设计了该小型的职工工资管理系统。1.1 课题背景随着市场竞争的日趋激烈,人才已成为实现企业自身战略目标的一个非常关键的因素。企业中人心的向背和员工对工作的投入程度在很大程度上决定了该企业的兴衰与成败。如何能保持本企业员工的工作责任感,激励他们的工作热情 ,减少人才的流失,已成为困扰企业主管的一个日益尖锐的问题,可以说企业管理从根本上来讲就是对人的管理 。现在“公平、公正、合理”的企业管理原则已为不少企业所采纳。但是要实现“公平、公正、合理”绝非易事,它不是光靠规章制度和政策就可以解决的。通过建立透明、相容、一致、易查和全面的工资管理系统,将与人相关的信息统一地管理起来,才有可能为“公平、公正、合理”原则的实现,以及企业在运作和劳资纠纷等方面的风险规避等建立一套科学的保障体系。1.2设计职工工资管理系统的目的员工工资管理系统是基于先进的软件和高速、大容量的硬件基础上的新的工资管理模式,通过集中式的信息库、自动处理信息、员工自助服务、外协以及服务共享,达到降低成本、提高效率、改进员工服务模式的目的。本课题将达到以下几个目的:(1) 提供更好的服务员工工资管理系统可以迅速、有效地收集各种信息,加强内部 的信息沟通。(2) 降低成本员工工资管理系统通过减少员工工资管理工作的操作成本、降低员工流动率以及减少通信费用等达到降低企业运作成本的目的。(3) 革新工资管理理念员工工资管理系统的最终目的是达到革新企业的管理理念,而不仅是改进管理方式 ,优化员工工资管理。先进技术应用于员工工资管理不仅是为了将现有的员工工资工作做得更好,更重要的是,做些对于企业来讲更有效率的事情,成为管理层的决策支持者,为决策提供信息和解决方案1。2 本系统关键技术简介2.1 VC+介绍Microsoft Visual C+是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持数据库接口、OLE2,WinSock网络、3D控制界面。它以拥有“语法高亮”,IntelliSense(自动编译功能)以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及建置系统以预编译头文件、最小重建功能及累加连结著称。这些特征明显缩短程式编辑、编译及连结的时间花费,在大型软件计划上尤其显著。2.2 ODBC介绍(1) 开放数据库互联 ODBC(Open Database Connectivity),即开放数据库互联。ODBC基于SQL(Structured Query Language),并把它作为访问数据库的标准。这个接口提供了最大限度的相互可操作性:一个应用程序可以通过一组通用的代码访问不同的数据库管理系统。一个软件开发者开发的客户/服务器应用程序不会被束定于某个特定的数据库之上。ODBC可以为不同的数据库提供相应的驱动程序。对于ASP程而言,ODBC数据源是ASP程序的ADO组件和数据库之间的接口。(2)配置ODBC数据源图2.1 ODBC数据管理器 用户DSN:ODBC用户数据源存贮了如何与指定数据库提供者连接的信息。只对当前用户可户可见,而且只能用于当前机器上。这里的当前机器是只这个配置只对当前的机器有效,而不是说只能只配置本机上的数据库。它可以配置局域网中另一台机器上的数据库的。 系统DSN: ODBC系统数据源存贮了如何指定数据库提供者连接的信息。系统数据源对当前机器上的所有用户都是可见的,包括NT服务。也就是说在这里配置的数据源,只要是这台机器的用户都可以访问。 文件DSN:ODBC文件数据源允许用户连接数据提供者。文件DSN可以由安装了相同驱动程序的用户共享。这是界于用户DSN和系统DSN之间的一种共享情况。 驱动程序:这页列出了本机上所有安装的数据库驱动程序。里面列举了每个驱动程序的名称,版本,提供商公司,驱动程序文件名,以及安装日期。 跟踪:ODBC跟踪允许创建调用ODBC的日志,提供给技术人员查看。里面可设定日志的路径和文件名。技术人员通过这里面的信息可以看到本机上所有的数据库访问的时间,用户,以及出错信息等情况。也可以通过这个辅助调试应用程序,可以启动Visual Studio的分析器,来进行ODBC的跟踪。 连接池:连接池允许应用程序重用原来打开的的连接句柄,这样可以节省到服务器的往返过程。 关于:最后这一页列出了所有的ODBC的核心文件。2.3CRecordset类 CRecordset类代表一个记录集该类是MFC的ODBC类中最重要、功能最强大的类。域数据成员用来保存某条记录的各个字段,它们是程序与记录之间的缓冲区域数据成员代表当前记录,当在记录集中滚动到某一记录时,框架自动地把记录的各个字段拷贝到记录集对象的域数据成员中当用户要修改当前记录或增加新记录时,程序先将各字段的新值放入域数据成员中,然后调用相应的CRecordset成员函数把域数据成员设置到数据源中。2.4 Microsoft Access 数据库Access 2003 拥有一套功能强大的应用工具,其完善程度足以满足专业开发人员的需要。虽然如此,新手也能十分容易的学习和掌握该产品。通过创建或使用强大的数据库解决方案,您能够更为轻松地组织、访问和共享信息资源。(1) 访问和使用来自不同资源的信息在熟悉的界面下使用不同格式和来自程序的信息。(2) 合并大量数据资源。Access 2003 支持多种数据格式,包括扩展标记语言(XML)、OLE、开放式数据库连接(ODBC)和Microsoft Windows SharePoint Services。(3) 链接各种业务系统。通过表格链接,您可以在Access 2003窗体、报表和数据访问页面中同时访问来自多个数据库的数据。它还能够将来自其他Microsoft Access数据库、Microsoft Excel电子表格、ODBC数据源、Microsoft SQL Server数据库以及其他的数据库资源的表格进行链接。(4) 轻松共享信息您设计的窗体和报表可以在旧版的Access中保存和打开,使您能够更轻松地共享信息。 更有效地共享信息。您可以导出或导入数据,或链接到Windows SharePoint Services站点的列表。这样团队中的其他成员也能够访问到您的数据。构建这样的站点需要运行了Windows SharePoint Services的Microsoft Windows Server 2003。 使用强大的工具来设计Web页面。您可以在Web上发布窗体和报表,或将您的信息绑定在一个记录资源上,用来显示、更新和操作数据库中的数据。 使用兼容的文件格式。Access 2003 使用Access 2000 作为新数据库的默认文件格式。由于Access 2002 和Access 2000 可以使用和修改同一个数据库,因此公司可以在保持现有Access用户和解决方法的前提下,轻松升级到Access 2003。3 职工工资管理系统需求分析3.1职工工资管理个功能模块分析修改用于改员工的信息,包括职员编号、姓名、职称、现从事职业、工作岗位等。删除主要功能是删除当前查看的内容。添加主要用来向数据库中添加纪录使新的纪录纪录在里面。3.2数据库分析 根据以上的需求分析,该课程一共需要2张表,分别存放相应的数据信息,其中工资数据表是关键表,用于存放基础数据信息。它涉及职员信息和工资情况的表;另一张表用来存放登录的用户名和密码用来登录的时候用,这两张表是关键2。表3.1工资数据表表3.2用户信息数据表4 职工工资管理系统的实现与测试Visual C+资源通常由窗体、模块和类模块等构成1 3。对话框是Visual C+.程序中必不可少的资源。它可以实现程序的外观显示,实现需要的功能。模块可以用来管理全局常量、变量和用户自定义函数等。在一个工程中可以有多个模块同时存在。本次设计用类来管理数据库中的每个表,类的成员变量对应表中的每个列,类的成员函数则实现对表的各种操作,例如添加、修改、删除和读取数据等4.1登录模块和系统主界面设计当系统运行时,首先打开登录窗体,只有有权限的用户才能进入系统。登录成功后,将显示系统主界面。(1) 登录界面进入程序后,首先出现的是【用户登陆】对话框,在【用户名】文本框中输入后按Tab键,程序将自动查询用户名并跳到【密码】文本框中,输入密码后按Enter键即可进入系统,登录对话框如图5.1所示。图4.1用户登录对话框(2) 登录成功后将显示主界面主界面如图5.2所示,在此界面可以选择各种按钮进行不同的操作。图4.2主界面4.2系统功能的实现(1) 增加功能单击“增加“按钮,进入增加记录功能窗体,如图5.3所示。在上边的编辑框中,可以很清楚看到整个表中的记录和主视图一致,在编辑框中输入完成了记录后按确定按钮,这样刚才输入的内容就同过m_pSet这个指针写如了数据库;按取消则推出刚才的操作。 图4.3增加界面(2) 删除功能 完成机构“增加“功能后,进入主界面,按下删除按钮,则删除当前显示的记录。这个窗体相对简单,它实际上是管理各个记录的删除的,以便能即时更新旧的记录,删除旧的没用的记录。(3) 修改功能对于有些写错了的记录,我们往往需要在事后才能进行修改,这个功能就为我们提供了很好的操作界面。它先把当前记录的信息显示在另外一个窗口里如图 5.4,这样能避免对记录的误操作。5 存在的不足与对策由于设计者水平有限及时间等方面的原因,该系统的功能比较简单,查错能力也不强,界面做的比较简单,实现的功能比较少,没能把所学的内容全部用上,为了以后做的东西高级一点,今后设计者会更多的学习编程技巧,不断的提高程序设计水平。6 总结我设计该职工工资管理系统花了很长时间,因为是一个人单独完成,所以还有很多没有做好的地方和没有想到的地方。开始时我先是做了一个单文挡应用程序主要用来显示职工的各种工资情况,这也是我设计的主界面,在界面上有五个功能按钮分别是增加、修改、删除和查询。增加和修改都是另外弹出一个对话框来实现各自的功能;删除就是删除当前浏览界面上的记录;查询只提供了按职工编号查询的方法,只要输入职工编号就可以直接查询了。后来在添加程序代码的时候又遇到了好多麻烦,但在同学的帮助下我都顺利的解决了。整个系统大概花了个周,在这之中我知道我还有很多的不足之处和很多错误没能想到,希望在以后的学习中能够努力弥补自己的不足争取在以后的课程设计中能够有好的成绩。参考文献1郑阿奇主编,丁有和编著.Visual C+教程. M北京:机械工程出版社,20062(美) Cary N. Prague等著,赵传启 . 等译.中文版Access 2003宝典. M电子工业出版社,20073陈志泊 王春玲 编著面向对象的程序设计语言C+. M 邮电出版社,2006附录 A 职工工资管理系统源程序代码/ 职工工资管理系统Set.cpp : implementation of the CMySet class包含头文件#include stdafx.h#include 职工工资管理系统.h#include 职工工资管理系统Set.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CMySet implementationIMPLEMENT_DYNAMIC(CMySet, CRecordset)/定义CMset类CMySet:CMySet(CDatabase* pdb): CRecordset(pdb)/AFX_FIELD_INIT(CMySet) /校验校验机制m_BX = 0;m_CX = 0;m_FZ = 0;m_GZBZ = 0;m_HF = 0;m_JBGZ = 0;m_JJ = 0;m_JT = 0;m_NF = 0;m_SDF = 0;m_YF = 0;m_YJGZ = 0;m_ZGBH = _T();m_ZGBM = _T();m_ZGXM = _T();m_nFields = 15;/AFX_FIELD_INITm_nDefaultType = snapshot;CString CMySet:GetDefaultConnect(); /数据连接机制/连接数据库和相关的表return _T(ODBC;DSN=职工工资管理数据库);CString CMySet:GetDefaultSQL()return _T(工资数据表); /数据表名/数据校验机制void CMySet:DoFieldExchange(CFieldExchange* pFX)/AFX_FIELD_MAP(CMySet)pFX-SetFieldType(CFieldExchange:outputColumn);RFX_Long(pFX, _T(BX), m_BX);RFX_Long(pFX, _T(CX), m_CX);RFX_Long(pFX, _T(FZ), m_FZ);RFX_Long(pFX, _T(GZBZ), m_GZBZ);RFX_Long(pFX, _T(HF), m_HF);RFX_Long(pFX, _T(JBGZ), m_JBGZ);RFX_Long(pFX, _T(JJ), m_JJ);RFX_Long(pFX, _T(JT), m_JT);RFX_Int(pFX, _T(NF), m_NF);RFX_Long(pFX, _T(SDF), m_SDF);RFX_Int(pFX, _T(YF), m_YF);RFX_Long(pFX, _T(YJGZ), m_YJGZ);RFX_Text(pFX, _T(ZGBH), m_ZGBH);RFX_Text(pFX, _T(ZGBM), m_ZGBM);RFX_Text(pFX, _T(ZGXM), m_ZGXM);/AFX_FIELD_MAP/ CMySet diagnostics#ifdef _DEBUGvoid CMySet:AssertValid() constCRecordset:AssertValid();void CMySet:Dump(CDumpContext& dc) constCRecordset:Dump(dc);#endif /_DEBUG/ 程序名称:CMview.h/ 程序功能:完成各个功能的实现。定义和数据库的连接结素。/ 职工工资管理系统View.cpp : implementation of the CMyView class/包含头文件#include stdafx.h#include 职工工资管理系统.h#include MainFrm.h#include 职工工资管理系统Set.h#include 职工工资管理系统Doc.h#include 职工工资管理系统View.h#include EditDlg.h#include denglu.h#include Tongji.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CMyViewIMPLEMENT_DYNCREATE(CMyView, CRecordView)BEGIN_MESSAGE_MAP(CMyView, CRecordView)/AFX_MSG_MAP(CMyView)ON_BN_CLICKED(IDC_CHAXUNZGBH, OnChaxunzgbh) /用MFC CLASS Wizard为查询按钮添加ON_BN_CLICKED消息映射ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd) /用MFC CLASS Wizard为添加按钮添加ON_BN_CLICKED消息映射ON_BN_CLICKED(IDC_BUTTON_DELETE, OnButtonDelete) /用MFC CLASS Wizard为删除按钮添加ON_BN_CLICKED消息映射ON_BN_CLICKED(IDC_BUTTON_EDIT, OnButtonEdit) /用MFC CLASS Wizard为修改按钮添加ON_BN_CLICKED消息映射ON_BN_CLICKED(IDC_ButtonEdit, OnButtonEdit) /用MFC CLASS Wizard为修改按钮添加ON_BN_CLICKED消息映射ON_BN_CLICKED(IDC_BUTTON_TONGJI, OnButtonTongji) /用MFC CLASS Wizard为工资统计结果添加ON_BN_CLICKED消息映射/command消息映射声明/AFX_MSG_MAP/ Standard printing commandsON_COMMAND(ID_FILE_PRINT, CRecordView:OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT, CRecordView:OnFilePrint)ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRecordView:OnFilePrintPreview)END_MESSAGE_MAP()/ CMyView construction/destruction/定义CMView类构造函数CMyView:CMyView(): CRecordView(CMyView:IDD)/AFX_DATA_INIT(CMyView)m_pSet = NULL;m_ZGBH = _T();/AFX_DATA_INIT/ TODO: add construction code hereCMyView:CMyView() /析构函数void CMyView:DoDataExchange(CDataExchange* pDX)/变量数据和数据库数据的连接CRecordView:DoDataExchange(pDX);/AFX_DATA_MAP(CMyView)DDX_Text(pDX, IDC_ZGBH, m_ZGBH);DDX_FieldText(pDX, IDC_EDITBX, m_pSet-m_BX, m_pSet);DDX_FieldText(pDX, IDC_EDITCX, m_pSet-m_CX, m_pSet);DDX_FieldText(pDX, IDC_EDITGZBZ, m_pSet-m_GZBZ, m_pSet);DDX_FieldText(pDX, IDC_EDITFZ, m_pSet-m_FZ, m_pSet);DDX_FieldText(pDX, IDC_EDITHF, m_pSet-m_HF, m_pSet);DDX_FieldText(pDX, IDC_EDITJBGZ, m_pSet-m_JBGZ, m_pSet);DDX_FieldText(pDX, IDC_EDITJJ, m_pSet-m_JJ, m_pSet);DDX_FieldText(pDX, IDC_EDITJT, m_pSet-m_JT, m_pSet);DDX_FieldText(pDX, IDC_EDITNF, m_pSet-m_NF, m_pSet);DDX_FieldText(pDX, IDC_EDITSDF, m_pSet-m_SDF, m_pSet);DDX_FieldText(pDX, IDC_EDITYF, m_pSet-m_YF, m_pSet);DDX_FieldText(pDX, IDC_EDITYJGZ, m_pSet-m_YJGZ, m_pSet);DDX_FieldText(pDX, IDC_EDITZGBH, m_pSet-m_ZGBH, m_pSet);DDX_FieldText(pDX, IDC_EDITZGBM, m_pSet-m_ZGBM, m_pSet);DDX_FieldText(pDX, IDC_EDITZGXM, m_pSet-m_ZGXM, m_pSet);/AFX_DATA_MAPBOOL CMyView:PreCreateWindow(CREATESTRUCT& cs)/ TODO: Modify the Window class or styles here by modifying/ the CREATESTRUCT cs/登录对话狂弹出的代码Cdenglu denglu;denglu.DoModal();return CRecordView:PreCreateWindow(cs);void CMyView:OnInitialUpdate()m_pSet = &GetDocument()-m_mySet;CRecordView:OnInitialUpdate();GetParentFrame()-RecalcLayout();ResizeParentToFit();/获得总记录条数while (!m_pSet-IsEOF()m_pSet-MoveNext();m_pSet-GetRecordCount(); m_pSet-MoveFirst();/ CMyView printingBOOL CMyView:OnPreparePrinting(CPrintInfo* pInfo)/ default preparationreturn DoPreparePrinting(pInfo);/打印消息函数void CMyView:OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)/ TODO: add extra initialization before printingvoid CMyView:OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)/ TODO: add cleanup after printing/ CMyView diagnostics#ifdef _DEBUGvoid CMyView:AssertValid() constCRecordView:AssertValid();void CMyView:Dump(CDumpContext& dc) constCRecordView:Dump(dc);CMyDoc* CMyView:GetDocument() / non-debug version is inlineASSERT(m_pDocument-IsKindOf(RUNTIME_CLASS(CMyDoc);return (CMyDoc*)m_pDocument;#endif /_DEBUG/ CMyView database supportCRecordset* CMyView:OnGetRecordset()return m_pSet; /返回纪录集的指针/ CMyView message handlersBOOL CMyView:OnCommand(WPARAM wParam, LPARAM lParam) / TODO: Add your specialized code here and/or call the base class /更新第2个状态拦窗格的信息CString str;CMainFrame *pFrame =(CMainFrame*)AfxGetApp()-m_pMainWnd; /获得主窗口指针CStatusBar *pStatus=&pFrame-m_wndStatusBar; /获得主框架窗口指针if(pStatus) CRecordsetStatus rStatus; m_pSet-GetStatus(rStatus); /获得当前纪录信息 str.Format(当前记录:%d/总记录:%d,1+rStatus.m_lCurrentRecord,m_pSet-GetRecordCount(); /更新第2窗格pStatus-SetPaneText(1,str); return CRecordView:OnCommand(wParam, lParam);/”查询”按钮实现函数void CMyView:OnChaxunzgbh() / TODO: Add your control notification handler code hereUpdateData();m_ZGBH.TrimLeft(); /清空左边m_ZGBH.TrimRight(); /清空右边if(m_ZGBH.IsEmpty() /如果m_ZGBH为空 MessageBox(要查询的职工编号不能为空); return; if(m_pSet-IsOpen() /如果记录集打开则先关闭 m_pSet-Close(); m_pSet-m_strFilter.Format(ZGBH=%S,m_ZGBH); /查询字符串m_ZGBHm_pSet-m_strSort=YF; /按月份排序,YF是字段名 m_pSet-Open();if(!m_pSet-IsEOF() /判断记录是否在最后UpdateData(FALSE);else MessageBox(没有查到你要找的纪录!);m_pSet-Close(); /关闭纪录集 /”添加”按钮的消息影射void CMyView:OnButtonAdd() / TODO: Add your control notification handler code hereCEditDlg dlg;if(dlg.DoModal()=IDOK) /按下OK按钮是的消息函数 m_pSet-AddNew() ; /添加新记录/将控件中的变量付给数据库中的对应字段m_pSet-m_NF=dlg.m_intNF; m_pSet-m_YF=dlg.m_intYF; m_pSet-m_ZGBH=dlg.m_strZGBH; m_pSet-m_ZGXM=dlg.m_strZGXM; m_pSet-m_ZGBM=dlg.m_strZGBM; m_pSet-m_JBGZ=dlg.m_longJBGZ; m_pSet-m_YJGZ=dlg.m_longYJGZ; m_pSet-m_JJ=dlg.m_longJJ; m_pSet-m_JT=dlg.m_longJT; m_pSet-m_GZBZ=dlg.m_longGZBZ; m_pSet-m_SDF=dlg.m_longSDF; m_pSet-m_FZ=dlg.m_longFZ; m_pSet-m_HF=dlg.m_longHF; m_pSet-m_CX=dlg.m_longCX; m_pSet-m_BX=dlg.m_longBX;m_pSet-Update(); /将记录写进数据库 m_pSet-Requery(); /更新数据库 /“删除”按钮的消息影射void CMyView:OnButtonDelete() /实现删除功能的函数/ TODO: Add your control notification handler code here /获得当前记录 CRecordsetStatus status; m_pSet-GetStatus(status);m_pSet-Delete();/判断记录是否是第一条,并做出相应的移动if(status.m_lCurrentRecord=0) /当前纪录为第一条m_pSet-MoveNext(); /纪录集指针指向下一条elsem_pSet-MoveFirst();UpdateData(FALSE); /更新数据/“修改”按钮的消息

温馨提示

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

评论

0/150

提交评论