




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計(jì) 人事考勤管理系統(tǒng) 目錄第一部分:開發(fā)背景.3第二部分:系統(tǒng)分析3第三部分:系統(tǒng)設(shè)計(jì) .9第四部分:公共類設(shè)計(jì).15第五部分:主題窗設(shè)計(jì).16第六部分:用戶登錄模塊設(shè)計(jì).17第七部分:用戶管理模塊設(shè)計(jì)20第八部分:部門管理模塊設(shè)計(jì)23第九部分:人員信息管理模塊設(shè)計(jì).32第十部分:考勤模塊設(shè)計(jì)40第十一部分:考勤匯總模塊設(shè)計(jì)45第十二部分:后續(xù)補(bǔ)充部分: 一些過程的具體實(shí)現(xiàn)方法總結(jié)及圖片解釋:.51第十三部分:心得.51人事考勤管理系統(tǒng)Ø 開發(fā)背景 隨著公司業(yè)務(wù)不斷發(fā)展,員工數(shù)量不斷增加,人事考勤方面的管理已成為公司管理中的重要部分,但傳統(tǒng)的人事考勤制度已不能有效地管理員工的出
2、勤狀況,急需一套人事考勤管理的有效工具人事考勤管理系統(tǒng)。Ø 二、系統(tǒng)分析1) 需求分析 通過對人事考勤管理過程的研究和分析,要求本系統(tǒng)應(yīng)該具有以下功能。a) 用戶登錄。b) 部門信息錄入c) 人員信息管理d) 考勤信息錄入e) 考勤信息匯總。2) 系統(tǒng)功能描述用戶需要輸入用戶名和密碼進(jìn)入人事考勤管理系統(tǒng),對各部門、員工的基本信息進(jìn)行維護(hù)和管理。在考勤管理模塊中錄入員工當(dāng)天的考勤信息,同時可對年、月、員工進(jìn)行查詢。此外,還可以通過考勤匯總查詢模塊對員工某月的考勤記錄進(jìn)行匯總,計(jì)算出員工月工作天數(shù)、早退、遲到的天數(shù)。Ø 三、系統(tǒng)設(shè)計(jì)1) 系統(tǒng)目標(biāo) 人事考勤管理系統(tǒng)以實(shí)現(xiàn)員工日常
3、出勤信息管理為設(shè)計(jì)目標(biāo),加以強(qiáng)大的數(shù)據(jù)庫管理功能,可以極大地提高人事部門的日常工作效率。本系統(tǒng)在設(shè)計(jì)時滿足以下幾點(diǎn):a) 采用人機(jī)對話的操作方式,信息查詢靈活、方便、快捷、準(zhǔn)確,數(shù)據(jù)存儲安全可靠。b) 對考勤信息的操作簡單,可以方便地進(jìn)行添加、修改、和刪除。c) 可以錄入員工信息、部門信息。d) 對員工的考勤信息按月匯總計(jì)算。e) 對用戶輸入的數(shù)據(jù),系統(tǒng)進(jìn)行嚴(yán)格的數(shù)據(jù)檢驗(yàn),盡可能排除人為錯誤。f) 系統(tǒng)最大限度地實(shí)現(xiàn)了易維護(hù)性和易操作性。g) 系統(tǒng)運(yùn)行穩(wěn)定、安全可靠。2) 系統(tǒng)功能結(jié)構(gòu) 人事考勤管理系統(tǒng)的功能結(jié)構(gòu)如圖所示:人事考勤管理系統(tǒng) 考勤數(shù)據(jù)錄入考勤信息匯總用戶管理部門信息管理員工信息管
4、理3) 業(yè)務(wù)流圖人事考勤管理系統(tǒng)業(yè)務(wù)流程圖如圖:用戶退出登錄員工信息管理員工考勤管理修改密碼部門管理用戶管理考勤查詢4)系統(tǒng)預(yù)覽: 人事考勤管理系統(tǒng)由多個功能模塊組成,下面僅列出一些典型的功能模塊,其他模塊以后陸續(xù)列出:a) 部門管理模塊如圖:主要管理各部門之間的結(jié)構(gòu)信息b) 用戶管理模塊如圖:用于用戶的一些操作管理c) 人員信息管理如圖:主要用于維護(hù)員工的基本信息d) 考勤管理模塊如圖: 用于記錄人事考勤的信息e) 考勤匯總查詢?nèi)鐖D: 對員工的考勤信息進(jìn)行匯總統(tǒng)計(jì)4) 數(shù)據(jù)庫設(shè)計(jì)A. 數(shù)據(jù)庫分析人事考勤系統(tǒng)采用SQL Server 2008 數(shù)據(jù)庫,數(shù)據(jù)庫名稱為 tb_person 在數(shù)據(jù)庫
5、中建立四個表存儲不同的信息,如圖:B. 數(shù)據(jù)庫概念設(shè)計(jì)根據(jù)介紹的需求分析和系統(tǒng)設(shè)計(jì),規(guī)劃處本系統(tǒng)中使用的數(shù)據(jù)庫實(shí)體對象,分別以管理員為實(shí)體,部門實(shí)體和考勤實(shí)體等。下面是實(shí)體E-R圖。a) 管理員實(shí)體管理員包括編號,用戶,密碼。管理員實(shí)體E-R圖用戶編號密碼管理員 b)部門實(shí)體部門實(shí)體包括編號,部門名稱,備注信息和上級部門編號。部門實(shí)體E-R圖上級部門管理備注信息部門名稱部門編號部門管理c)員工實(shí)體員工編號自動編號員工實(shí)體包括自動編號,員工編號,員工姓名,照片,性別和生日等信息。員工E-R圖性別生日員工姓名照片員工d)考勤實(shí)體上班時間考勤實(shí)體包括人員姓名,考勤信息,上班時間,下班時間下班時間下班
6、考勤時間人員姓名上班考勤時間考勤日期C.數(shù)據(jù)庫邏輯設(shè)計(jì)a) 管理員信息表(tab_user),用于保存管理員的信息,如圖:b) 部門信息表(tab_Dept)用于記錄部門的信息,如圖: C) 考勤信息表(tab_check)用于記錄考勤信息c) 員工信息表(tab_Employees)保存公司員工信息,如圖:Ø 四、公共類設(shè)計(jì) 本系統(tǒng)采用ADO連接數(shù)據(jù)庫。為了能夠方便的使用ADO建立數(shù)據(jù)庫連接并進(jìn)行相應(yīng)的數(shù)據(jù)操作,在公共類中對系統(tǒng)中是使用的ADO操作進(jìn)行了封裝。在系統(tǒng)中建立了ADO的兩個公共類CADOConnection和CADODataSet,這兩個類定義在ADO.h頭文件中,實(shí)現(xiàn)
7、在ADO.cpp文件中。ACADOConnection類 CADOConnection類是用來連接數(shù)據(jù)庫的,實(shí)現(xiàn)了對_Connection接口的封裝。CADOConnection類在頭文件中的定義如下: #import "C:Program FilesCommon FilesSystemadomsado15.dll" no_namespace rename("EOF","adoEOF")class CADOConnectionprivate:static void InitADO();/初始化ADOstatic void UnInit
8、ADO();protected:_ConnectionPtr m_Connection;/指針接口public:BOOL IsOpen();/判斷是否與數(shù)據(jù)庫連接_ConnectionPtr GetConnection();/獲取連接接口CString GetSQLConStr();/獲取SQL連接字符串BOOL Open(CString ConStr);/建立數(shù)據(jù)庫連接CADOConnection();virtual CADOConnection();CADOConnection類的實(shí)現(xiàn)代碼如下:CADOConnection * GetConnection()/GetConnection函數(shù)
9、是一個全局函數(shù),用于返回全局?jǐn)?shù)據(jù)庫連接對象的的指針return &g_Connection;CADOConnection:CADOConnection()/CADOConnection方法是構(gòu)造方法,用于初始化OLE和創(chuàng)建_Connection接口指針I(yè)nitADO();m_Connection.CreateInstance("ADODB.Connection");CADOConnection:CADOConnection()/CADOConnection方法是構(gòu)造方法,用于取消OLE 的初始化和釋放_Connection接口指針if (IsOpen()m_Conn
10、ection->Close();m_Connection = NULL;UnInitADO();void CADOConnection:InitADO()/InitADO是一個靜態(tài)方法,用于初始化OLEif (ConCount+ = 0) CoInitialize(NULL);void CADOConnection:UnInitADO()/UnInitADO是一個靜態(tài)方法,用于取消初始化OLEif (-ConCount = 0) CoUninitialize();BOOL CADOConnection:Open(CString ConStr)/通過指定的數(shù)據(jù)庫連接字符串于SQL數(shù)據(jù)庫建立
11、連接if (IsOpen()m_Connection->Close();m_Connection->Open(_bstr_t)ConStr,"","",adModeUnknown);return IsOpen();CString CADOConnection:GetSQLConStr()/生成數(shù)據(jù)庫連接需要的字符串CString Str;Str.Format("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalo
12、g=tb_person;Data Source=LONGFEI-PCSQLEXPRESS");return Str;_ConnectionPtr CADOConnection:GetConnection()/該方法用于返回_Connection接口指針return m_Connection;BOOL CADOConnection:IsOpen()/判斷當(dāng)前數(shù)據(jù)庫連接對象與數(shù)據(jù)庫的連接狀態(tài)long State;m_Connection->get_State(&State);if (State = adStateOpen)return true;return false;C
13、ADODataSet類的定義如下:class CADODataSetprotected:_RecordsetPtr m_DataSet;/數(shù)據(jù)集接口指針CADOConnection *m_Connection;/數(shù)據(jù)庫連接對象public:BOOL Open(CString SQLStr,int LockType);/打開記錄集void Delete();/記錄刪除int GetRecordNo();/獲取記錄集行號void move(int nIndex);/移動記錄指針void Save();/保存對記錄集的修改void SetFieldValue(CString FieldName,_v
14、ariant_t Value);/設(shè)置字段的值void AddNew();/添加新紀(jì)錄BOOL Next();/記錄集指針指向下一個記錄FieldsPtr GetFields();/獲取記錄集字段集合int GetRecordCount();/獲取記錄集中記錄數(shù)量void SetConnection(CADOConnection *pCon);/設(shè)置記錄集的數(shù)據(jù)庫連接對象BOOL Open(CString SQLStr);/打開記錄集CADODataSet();virtual CADODataSet();private:BOOL IsOpen();CADODataSet類的實(shí)現(xiàn)如下: CADO
15、DataSet:CADODataSet()/該方法為記錄集實(shí)現(xiàn)類的構(gòu)造方法,在該方法中實(shí)現(xiàn)記錄集接口對象的創(chuàng)建m_DataSet.CreateInstance("ADODB.Recordset");CADODataSet:CADODataSet()/實(shí)現(xiàn)記錄集的關(guān)閉與接口的釋放if (IsOpen()m_DataSet->Close();m_DataSet = NULL;m_Connection = NULL;void CADODataSet:SetConnection(CADOConnection *pCon)/設(shè)置記錄集所連接的數(shù)據(jù)庫連接類的對象m_Connect
16、ion = pCon;int CADODataSet:GetRecordCount()/獲取記錄集中數(shù)據(jù)的數(shù)量if (IsOpen()return m_DataSet->GetRecordCount();elsereturn 0;BOOL CADODataSet:Open(CString SQLStr)/打開數(shù)據(jù)集if (IsOpen()m_DataSet->Close();/*/m_DataSet->Open(_bstr_t(SQLStr),_variant_t(IDispatch*)g_Connection.GetConnection(), true),adOpenKey
17、set, adLockOptimistic, adCmdText);return IsOpen();/*/BOOL CADODataSet:IsOpen()/判斷數(shù)據(jù)集是否處于打開狀態(tài)long State;m_DataSet->get_State(&State);if (State = adStateOpen)return true;return false;FieldsPtr CADODataSet:GetFields()/用來獲取記錄集中字段的集合return m_DataSet->GetFields();BOOL CADODataSet:Next()/記錄集指針下移一
18、位if (m_DataSet->adoEOF)return false;m_DataSet->MoveNext();return true;void CADODataSet:AddNew()m_DataSet->AddNew();void CADODataSet:SetFieldValue(CString FieldName, _variant_t Value)/想記錄集中指定的字段賦值m_DataSet->PutCollect(_bstr_t)FieldName,Value);void CADODataSet:Save()/保存記錄集數(shù)據(jù)所做的修改m_DataSet-
19、>Update();void CADODataSet:move(int nIndex)/將記錄集的當(dāng)前指針移動到指定的索引位置m_DataSet->MoveFirst();m_DataSet->Move(nIndex);int CADODataSet:GetRecordNo()/獲取記錄集中的當(dāng)前行號return m_DataSet->AbsolutePosition;void CADODataSet:Delete()/刪除記錄集中的當(dāng)前行m_DataSet->Delete(adAffectCurrent);BOOL CADODataSet:Open(CStrin
20、g SQLStr, int LockType)if (IsOpen()m_DataSet->Close();/*/m_DataSet->Open(_bstr_t(SQLStr),_variant_t(IDispatch*)g_Connection.GetConnection(), true),adOpenKeyset,(LockTypeEnum) LockType, adCmdText);return IsOpen();Ø 五、主題窗設(shè)計(jì)A.主題窗由菜單和圖片組成,如圖:B.主題窗設(shè)計(jì)步驟: a啟動visual c+,選擇File/New命令,打開New對話框 b在左側(cè)選
21、擇MFC AppWizard(exe)選項(xiàng),在Project name編輯框中輸入工程名稱,在location編輯框中設(shè)置保存工程的路徑,然后單擊OK按鈕,打開MFC AppWizard對話框,選擇對話框編程,打擊fish c像工程中導(dǎo)入位圖,菜單資源(具體操作在最后有補(bǔ)充)Ø 六、用戶登錄模塊設(shè)計(jì)A 概述,登錄界面是每個管理系統(tǒng)應(yīng)該具備的,本系統(tǒng)的登錄模塊如圖: B . 技術(shù)分析 窗體應(yīng)在主題窗創(chuàng)建之前并顯示,在登錄窗體創(chuàng)建的同時應(yīng)該建立數(shù)據(jù)庫連接,具體操作如下: BOOL bCon = 、GetConnection()->Open(GetConnection()->G
22、etSQLConStr(); CLoginDialog logindlg; if (logindlg.DoModal() != IDOK) return false; :CoInitialize(NULL); CPersonDlg dlg;C. 實(shí)現(xiàn)過程a. 創(chuàng)建一個對話框b. 向?qū)υ捒蛑刑砑觾蓚€靜態(tài)文本控件、一個編輯框控件、和兩個按鈕控件。分別設(shè)置兩個靜態(tài)文本控件的Caption屬性為“用戶名”和“密碼”設(shè)置編輯框控件類型為password;分別設(shè)置連個按鈕為“確定”和“取消”。C. 在窗體初始化方法中創(chuàng)建用戶表的數(shù)據(jù),并將用戶添加到列表框控件中。代碼如下: BOOL CLoginDialo
23、g:OnInitDialog() CDialog:OnInitDialog();m_DataSet.SetConnection(GetConnection();m_DataSet.Open("Select * From Tab_User");int count = m_DataSet.GetRecordCount();for (int i = 0; i< count;i+)m_UserList.AddString(_bstr_t)m_DataSet.GetFields()->ItemL"UserName"->Value);m_DataS
24、et.Next();m_UserList.SetCurSel(0);return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEd 確定按鈕事件代碼如下:void CLoginDialog:OnLogin() CString sql,user,pass;m_UserList.GetWindowText(user);m_PassWord.GetWindowText(pass);sql.Format("Select *
25、 From tab_user Where UserName = '%s' and PassWord = '%s'",user,pass);m_DataSet.Open(sql);if (m_DataSet.GetRecordCount() = 1):SetUserName(user);this->OnOK();elseAfxMessageBox("用戶名或密碼不正確!");Ø 七、用戶管理模塊A. 概況:能實(shí)現(xiàn)添加,修改,刪除等操作如圖: B. 實(shí)現(xiàn)過程:a 創(chuàng)建一個對話框b 向?qū)υ捒蛑刑砑酉鄳?yīng)的控件c 給對話框添加
26、對話框類d 給類添加函數(shù)及成員變量e 給控件關(guān)聯(lián)變量f 編寫函數(shù) C實(shí)現(xiàn)代碼: a定義UpdateGrid方法用來更新列表視圖中的信息代碼如下: void CUserManage:UpdateGrid() m_DataSet.Open("Select * From tab_User"); m_grid.DeleteAllItems(); for (int i = 0 ; i < m_DataSet.GetRecordCount();i+) m_grid.InsertItem(i,(_bstr_t)m_DataSet.GetFields()->ItemL"
27、;UserName"->Value); int no = m_DataSet.GetRecordNo(); m_grid.SetItemData(i,no); m_DataSet.Next(); b添加按鈕代碼如下: void CUserManage:OnAppend() CUserEdit useredit; if (useredit.DoModal() = IDOK) m_DataSet.AddNew(); m_DataSet.SetFieldValue("UserName",(_bstr_t)); m_DataSet.Save
28、(); UpdateGrid(); c. 刪除按鈕代碼:void CUserManage:OnDelete() if (MessageBox("是否刪除此記錄!","提示",MB_YESNO|MB_ICONWARNING) = IDYES)int no = m_grid.GetItemData(m_grid.GetSelectionMark();m_DataSet.move(no-1);m_DataSet.Delete();m_DataSet.Save();UpdateGrid();d. 修改按鈕代碼:void CUserManage:OnEdit()
29、CUserEdit useredit;int no = m_grid.GetItemData(m_grid.GetSelectionMark();m_DataSet.move(no-1); = (char *)(_bstr_t)m_DataSet.GetFields()->ItemL"UserName"->Value;if (useredit.DoModal() = IDOK)m_DataSet.SetFieldValue("UserName",(_bstr_t));m_DataSet.Sa
30、ve();UpdateGrid();Ø 八、部門管理模塊設(shè)計(jì)A 概述:該模塊記錄了部門間的的層次結(jié)構(gòu)和部門信息,一般使用樹控件實(shí)現(xiàn),如圖: B 實(shí)現(xiàn)過程:a. 創(chuàng)建一個對話框b. 向?qū)υ捒蛑刑砑酉鄳?yīng)的控件c. 給對話框添加對話框類d. 給類添加函數(shù)及成員變量e. 給控件關(guān)聯(lián)變量f. 編寫函數(shù) C. 相關(guān)代碼如下: BOOL CDeptManage:OnInitDialog() /初始化函數(shù) CDialog:OnInitDialog(); m_DataSet.SetConnection(:GetConnection(); UpdateDept(); return TRUE; 將部門信息
31、一次性讀入樹控件中。代碼如下: void CDeptManage:GetNode(HTREEITEM pNode, int nPid)HTREEITEM node;CADODataSet DataSet;DataSet.SetConnection(:GetConnection();CString str;str.Format("Select * From tab_Dept where pid = %d",nPid);DataSet.Open(str);int count = DataSet.GetRecordCount();int ID;_variant_t value;f
32、or (int i = 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(node,ID);GetNode(node,ID);DataSet.Next(); 定義GetNode方法,用于按成次級關(guān)系獲
33、取部門表中的所有數(shù)據(jù),并添加樹控件,該方法由UpdateDept方法進(jìn)行調(diào)用,代碼如下; void CDeptManage:UpdateDept() m_tree.DeleteAllItems(); GetNode(TVI_ROOT,0);void CDeptManage:OnAdd() CDeptEdit deptedit;if (deptedit.DoModal() = IDOK)HTREEITEM pNode = m_tree.GetSelectedItem();int pID;if (deptedit.isroot)pID = 0;elsepID = m_tree.GetItemDat
34、a(pNode);CADODataSet dataset;dataset.SetConnection(:GetConnection();dataset.Open("Select top 1 * From tab_Dept");dataset.AddNew();dataset.SetFieldValue("DeptName",(_variant_t));dataset.SetFieldValue("memo",(_variant_t)deptedit.memo);dataset.SetFieldValue(&q
35、uot;PID",(long)pID);dataset.Save();UpdateDept(); 單擊“修改”按鈕時將彈出部門編輯窗體,輸入部門信息后單擊“確定”按鈕,實(shí)現(xiàn)部門信息的修改。代碼如下void CDeptManage:OnEdit() CDeptEdit deptedit;deptedit.visible = false;HTREEITEM pNode = m_tree.GetSelectedItem();if (pNode = 0)return;int pID = m_tree.GetItemData(pNode);CADODataSet dataset;dataset
36、.SetConnection(:GetConnection();CString str;str.Format("Select * From tab_Dept where id = %d",pID);dataset.Open(str); = (char *)(_bstr_t)dataset.GetFields()->ItemL"DeptName"->Value;deptedit.memo = (char *)(_bstr_t)dataset.GetFields()->Item"memo"-&g
37、t;Value;if (deptedit.DoModal() = IDOK)dataset.SetFieldValue("DeptName",(_variant_t));dataset.SetFieldValue("memo",(_variant_t)deptedit.memo);dataset.Save();UpdateDept();當(dāng)單擊“刪除”按鈕時,將刪除當(dāng)前選中的節(jié)點(diǎn),代碼如下:void CDeptManage:OnDelete() HTREEITEM pNode = m_tree.GetSelectedItem();
38、if (pNode = 0)return;if (MessageBox("是否刪除此記錄!","提示",MB_YESNO|MB_ICONWARNING) = IDYES)int pID = m_tree.GetItemData(pNode);CADODataSet dataset;dataset.SetConnection(:GetConnection();CString str;str.Format("Select * From tab_Dept where id = %d",pID);dataset.Open(str);datas
39、et.Delete();dataset.Save();UpdateDept();Ø 九、人員信息管理模塊設(shè)計(jì)A 概述:人員信息管理模塊根據(jù)部門分類顯示人員,同時可對人員信息進(jìn)行維護(hù),界面如下: B 實(shí)現(xiàn)過程:a 創(chuàng)建對話框b 向?qū)υ捒蛑刑砑酉鄳?yīng)的控件c 給對話框添加對話框類d 給類添加函數(shù)及成員變量e 給控件關(guān)聯(lián)變量C. 相關(guān)代碼:GetNode方法,獲取部門信息,并添加到樹控件中。該方法由UpdateDept調(diào)用,代碼如下:void CPersonManage:GetNode(HTREEITEM pNode, int nPid) HTREEITEM node;CADODataSet
40、 DataSet;DataSet.SetConnection(:GetConnection();CString str;str.Format("Select * From tab_Dept where pid = %d",nPid);DataSet.Open(str);int count = DataSet.GetRecordCount();int ID;_variant_t value;for (int i = 0;i<count;i+) node = m_tree.InsertItem(_bstr_t)DataSet.GetFields()->Item&qu
41、ot;DeptName"->Value,pNode);value = (_variant_t)DataSet.GetFields()->Item"ID"->Value;ID = Val;m_tree.SetItemData(node,ID);GetNode(node,ID);DataSet.Next();UpdateDpt調(diào)用GetNode,實(shí)現(xiàn)信息更新,代碼如下:void CPersonManage:UpdateDept() m_tree.DeleteAllItems();HTREEITEM node;node = m_tre
42、e.InsertItem("全部",TVI_ROOT);m_tree.SetItemData(node,-1);GetNode(node,0);UpdatePerson更新人員信息,并將其顯示在列表控件中。代碼如下:void CPersonManage:UpdatePerson()m_list.DeleteAllItems();CADODataSet DataSet;DataSet.SetConnection(:GetConnection();CString str;if (m_DeptID = -1)str.Format("Select * From tab_E
43、mployees");elsestr.Format("Select * From tab_Employees where Dept = %d",m_DeptID);DataSet.Open(str);int count = DataSet.GetRecordCount();int n = 0;_variant_t value;for (int i = 0;i<count;i+)int index = 1;m_list.InsertItem(n,(_bstr_t)DataSet.GetFields()->Item"Emp_Id"-&g
44、t;Value);value = DataSet.GetFields()->Item"AutoID"->Value;m_list.SetItemData(n,value.lVal);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Emp_NAME"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Sex"->Value);m_li
45、st.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Nationality"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Birth"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Political_Party"->Value);m_list
46、.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Culture_Level"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Marital_Condition"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Id_Card"->Value);m_
47、list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Office_phone"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Mobile"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"HireDate"->Value);m_list.Se
48、tItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Duty"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Memo"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Files_Keep_Org"->Value);m_list.SetItemText(n
49、,index+,(_bstr_t)DataSet.GetFields()->Item"Hukou"->Value);m_list.SetItemText(n,index+,(_bstr_t)DataSet.GetFields()->Item"Family_Place"->Value);n+;DataSet.Next();單擊“添加”按鈕,彈出人員編輯窗體,輸入人員信息后,單擊保存按鈕,實(shí)現(xiàn)人員的添加代碼如下:void CPersonManage:OnAdd() CPersonEdit personedit;personedit.m
50、_DeptData = m_DeptID;if (personedit.DoModal() = IDOK)CADODataSet dataset;dataset.SetConnection(:GetConnection();CString str = "select top 1 * from tab_Employees"dataset.Open(str);dataset.AddNew();dataset.SetFieldValue("Emp_Id",(_bstr_t)personedit.m_id);dataset.SetFieldValue("
51、;Emp_NAME",(_bstr_t)personedit.m_name);dataset.SetFieldValue("Sex",(_bstr_t)personedit.m_sex);dataset.SetFieldValue("Nationality",(_bstr_t)personedit.m_nationality);dataset.SetFieldValue("Birth",(_bstr_t)personedit.m_birth.Format("%Y-%m-%d");dataset.SetFi
52、eldValue("Political_Party",(_bstr_t)personedit.m_farty);dataset.SetFieldValue("Culture_Level",(_bstr_t)personedit.m_culture);dataset.SetFieldValue("Marital_Condition",(_bstr_t)personedit.m_marital);dataset.SetFieldValue("Id_Card",(_bstr_t)personedit.m_card);da
53、taset.SetFieldValue("Office_phone",(_bstr_t)personedit.m_office);dataset.SetFieldValue("Mobile",(_bstr_t)personedit.m_mobile);dataset.SetFieldValue("HireDate",(_bstr_t)personedit.m_hire.Format("%Y-%m-%d");dataset.SetFieldValue("Duty",(_bstr_t)personedit.m_duty);dataset.SetFieldValue("Memo",(_bstr_t)personedit.m_memo);dataset.SetFieldValue("Files_Keep_Org",(_bstr_t)personedit.m_files);dataset.SetFieldValue("Hukou",(_bstr_t
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國硅藻泥行業(yè)前景趨勢調(diào)研及發(fā)展戰(zhàn)略分析報告
- 2025-2030年中國真絲絲巾產(chǎn)業(yè)市場運(yùn)行趨勢及投資戰(zhàn)略研究報告
- 2025-2030年中國電鎘行業(yè)發(fā)展?fàn)顩r及營銷戰(zhàn)略研究報告
- 陜西財(cái)經(jīng)職業(yè)技術(shù)學(xué)院《工業(yè)通風(fēng)與除塵技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 西昌學(xué)院《材料力學(xué)類》2023-2024學(xué)年第二學(xué)期期末試卷
- 泰州學(xué)院《分布式數(shù)據(jù)庫系統(tǒng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南吉利汽車職業(yè)技術(shù)學(xué)院《橋梁施工技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海立達(dá)學(xué)院《廣告策劃與新媒體設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 蘇州幼兒師范高等??茖W(xué)校《醫(yī)學(xué)生物化學(xué)B》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南電氣職業(yè)技術(shù)學(xué)院《高級數(shù)據(jù)庫技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 二零二五年度港口碼頭安全承包服務(wù)協(xié)議4篇
- 2024年蘇州衛(wèi)生職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 《歡樂運(yùn)動會:1 我為班級出把力》說課稿-2024-2025學(xué)年四年級上冊綜合實(shí)踐活動滬科黔科版
- 2024年南京機(jī)電職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫標(biāo)準(zhǔn)卷
- 2025年中智集團(tuán)及下屬單位招聘筆試參考題庫含答案解析
- 廣東2025年高中化學(xué)學(xué)業(yè)水平考試模擬試卷試題(含答案詳解)
- 2024年中國牛排2市場調(diào)查研究報告
- 2025年事業(yè)單位考試(綜合管理類A類)綜合應(yīng)用能力試題及解答參考
- 科創(chuàng)板知識題庫試題及答案
- UL1450標(biāo)準(zhǔn)中文版-2019電動空氣壓縮機(jī)真空泵和涂裝設(shè)備中文版第四版
- “互聯(lián)網(wǎng)+”大學(xué)生創(chuàng)新創(chuàng)業(yè)大賽計(jì)劃書一等獎
評論
0/150
提交評論