【正文】
版權(quán)所有: dgghate48(m_name)。return。UpdateData(true)。(1,本科)。// TODO: Add extra initialization hereSetIcon(m_hIcon, TRUE)。}BOOL CLogin::OnInitDialog() {CDialog::OnInitDialog()。}(m_name)。if(m_name==){MessageBox(請輸入用戶名, 工資管理系統(tǒng) )。 ()。 ()。()。()。()。()。()。 // return TRUE unless you set the focus to a control}void CGZGLXTDlg::OnExit() {// TODO: Add your mand handler code hereOnOK()。版權(quán)所有: dgghate40謝辭版權(quán)所有: dgghate41參考文獻(xiàn)[1] 李芷,竇萬峰,任滿杰等,軟件工程方法與實(shí)踐,北京,電子工業(yè)出版社,2022:5785[2] 明日科技,宋坤,李偉明,劉銳寧等,Visual C++數(shù)據(jù)庫系統(tǒng)開發(fā)案例精選,北京,人民郵電出版社,2022:193309[3] 林銳,軟件工程思想,浙江,浙江大學(xué)出版社,2022 :4849[4] 胡海生,李升亮,Visual C++編程學(xué)習(xí)捷徑,北京,清華大學(xué)出版社,2022:143[5] 龔波,SQL Server 2022 教程,北京,北京希望電子出版社,2022:19[6] 孔鵬,Visual C++ 完全自學(xué)手冊,北京,機(jī)械工業(yè)出版社,2022:330361[7] 波斯特,數(shù)據(jù)庫管理系統(tǒng)(英文版) ,北京,機(jī)械工業(yè)出版社, 1993:1318[8] 明日科技,李賀,劉彬彬,孫明麗等,SQL Server 2022 應(yīng)用與開發(fā)范例寶典,北京,人民郵電出版社,2022:60161[9] 王育堅(jiān),Visual C++ 面向?qū)ο缶幊探坛?,北京,清華大學(xué)出版社,2022:193316[10] 東方人華,李秀敏,凌宇欣等,Visual C++ 范例入門與提高,北京,清華大學(xué)出版社,2022:5977[11] 胡曉軍,鄧波,高宏偉等,Visual C++高級開發(fā)范例解析,北京,電子工業(yè)出版社,2022:747[12] (美 )巴頓,軟件測試(英文版) ,北京,機(jī)械工業(yè)出版社,1998:20125[13] David ,Inside Visual C++ 4th Edition, 4th Edition,北京,清華大學(xué)出版社,2022:350[14] David ,Scot Wingo,Gee 等, Programming Visual C++,第 5 版,北京,北京希望電子出版社,1999:245[15] Raymond Mcleod Jc Gee Schell,Management Information Systems,北京,北京大學(xué)出版社,2022:89110版權(quán)所有: dgghate42附錄 系統(tǒng)部分代碼如下:主窗口BOOL CGZGLXTDlg::OnInitDialog(){CDialog::OnInitDialog()。(3)信息查詢靈活、方便、快捷、準(zhǔn)確,數(shù)據(jù)存儲安全可靠,采用多種方式查詢數(shù)據(jù),可以查詢員工基本工資,查詢員工浮動工資,查詢員工加班休假信息,也可以總體查詢。}版權(quán)所有: dgghate397 結(jié)論本系統(tǒng)設(shè)計(jì)是在 windows 環(huán)境的支持下運(yùn)行的,操作實(shí)用、簡易、方便、直觀。(%d,m)。y=()。(temp)。().GetItem(vIndex).SetWidth(60)。().GetItem(vIndex).SetWidth(60)。().GetItem(vIndex).SetWidth(60)。().GetItem(vIndex).SetWidth(60)。().GetItem(vIndex).SetWidth(60)。().GetItem(vIndex).SetWidth(75)。().GetItem(vIndex).SetWidth(60)。().GetItem(vIndex).SetWidth(60)。().GetItem(vIndex).SetWidth(60)。 and year(sjian)=+stry+ and month(sjian)=+strm+ )。 )。CString strm。//讀取當(dāng)前 Date Time 控件的年份int y。CTime temp。}(3) 為“查詢 ”按鈕添加消息響應(yīng)函數(shù),使其具有查詢功能,代碼如下:版權(quán)所有: dgghate36void CZongtcxdlg::OnChaxun() {// TODO: Add your control notification handler code hereUpdateData(true)。 // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE}這里需要加入頭文件,具體代碼如下:include include include (2) 設(shè)置復(fù)選框的響應(yīng)函數(shù),代碼如下:void CZongtcxdlg::OnCheck1() {// TODO: Add your control notification handler code hereUpdateData(true)。().GetItem(vIndex).SetWidth(60)。().GetItem(vIndex).SetWidth(60)。().GetItem(vIndex).SetWidth(60)。().GetItem(vIndex).SetWidth(60)。().GetItem(vIndex).SetWidth(60)。().GetItem(vIndex).SetWidth(75)。().GetItem(vIndex).SetWidth(60)。().GetItem(vIndex).SetWidth(60)。().GetItem(vIndex).SetWidth(60)。m_check2=TRUE。圖 24 DataCombo 控件“All”選項(xiàng)卡 代碼分析 (1) 當(dāng)啟動對話框時(shí),將執(zhí)行 OnInitDialog 函數(shù),設(shè)置 DataGrid 控件的列長。版權(quán)所有: dgghate33圖 23 DataGrid 控件“All”選項(xiàng)卡(5) DataCombo 控件具體設(shè)置如下。 圖 22 “記錄源”選項(xiàng)卡(4) DataGrid 控件具體設(shè)置如下。圖 19 設(shè)置數(shù)據(jù)源④接著彈出“數(shù)據(jù)連接屬性”對話框,在“提供者”頁中選擇“Microsoft OLE DB Provider for SQL Server”選項(xiàng),如圖 20 所示。版權(quán)所有: dgghate30表 9 資源設(shè)置ID Properties Type MemberIDC_CHECK1IDC_CHECK2IDC_DATACOMBO1IDC_ADODC1IDC_DATETIMEOICKER1IDC_DATAGRID1IDC_CHAXUNIDOKIDCANCEL默認(rèn)默認(rèn)默認(rèn)Caption 選擇默認(rèn)Caption 查詢Caption 查詢Caption 工資總額Caption 退出BOOLBOOLCDataComboCAdodcCDateTimeCtrlCDataGridm_check1 m_check2m_dcm_adm_timem_da(3) ADO Data 控件具體設(shè)置如下。圖 18 “總體查詢”對話框 設(shè)計(jì)步驟(1) 向項(xiàng)目中添加一個(gè)新 Dialog 資源,資源 ID 為 IDD_ZTCX。}else{MessageBox(沒有權(quán)限)。if(MessageBox(是否刪除當(dāng)前記錄,請確認(rèn),MB_YESNO)==IDYES){CCzyxxb xxb。(strjb)。(m_pwd)。}CCzyxxb xxb。}if(m_pwd1==){MessageBox(請確認(rèn)密碼)。if(jb==){MessageBox(級別不能為空)。if(m_name==){MessageBox(請輸入用戶名)。(系統(tǒng)管理員 )。在“Dialog Properties”對話框中選擇General 選項(xiàng)卡,更改其“ Caption”文本框內(nèi)容為 “用戶管理” 。CDialog::OnOK()。(jiabgz)。(m_sfgz)。int sjkk。int jiabgz。(m_grsds)。(m_jbgz)。}CGzffmxb mxb。}if((m_id,m_name)!=1){MessageBox(員工不存在)。}if((m_id)!=1){MessageBox(員工編號不存在)。CString yfgz。版權(quán)所有: dgghate23(%d,yfgz)。}int yfgz。CString syye。()。str=(char*)(_bstr_t)GetCollect(Yu_E)。 and month(sjian)=39。(select * from gzffmxb where ygid=39。if(m==0){m=12。int m,y。return。UpdateData(false)。表 7 資源設(shè)置ID Properties Type MemberIDC_EDIT1IDC_EDIT2IDC_EDIT3IDC_EDIT4IDC_EDIT5IDC_EDIT6IDC_EDIT7IDC_EDIT8IDC_EDIT9IDC_EDIT10IDC_EDIT11IDC_EDIT12IDC_EDIT13IDC_EDIT14IDC_EDIT15IDC_EDIT16IDC_EDIT17IDOKIDCANCELIDC_BUTTONsyyeIDC_BUTTONyfgz默認(rèn)默認(rèn)默認(rèn)默認(rèn)默認(rèn)默認(rèn)默認(rèn)默認(rèn)默認(rèn)Readonly TRUE默認(rèn)Readonly TRUE默認(rèn)默認(rèn)默認(rèn)Readonly TRUEReadonly TRUECaption 添加Caption 退出Caption 上月余額Caption 應(yīng)發(fā)工資CStringCStringintintintintintintintCEditintCEditintintintCEditCEditm_idm_namem_jbgzm_zwgzm_glgzm_zfbzm_shbzm_bxfm_jiabtsm_jiabgzm_sjtsm_sjgzm_ylbxjm_grsdsm_sfgzm_yfgzm_syye 代碼分析(1) 雙擊“IDC_EDIT9 ”控件,自動生成 OnChangeEdit9 函數(shù),實(shí)現(xiàn)用戶添加加班天數(shù)時(shí),加班工資自動計(jì)算并顯示,具體代碼如下:void CYggztjdlg::OnChangeEdit9() {// TODO: If this is a RICHEDIT control, the control will not// send this notification unless you override the CDialog::OnInitDialog()// function and call CRichEditCtrl().SetEventMask()版權(quán)所有: dgghate21// with the ENM_CHANGE flag ORed into the mask.UpdateData(true)。圖 16 員工工資添加對話框 設(shè)計(jì)步驟(1) 向項(xiàng)目中添加一個(gè)新 Dialog 資源,資源 ID 為 IDD_YGGONGZITJ。CDialog::OnOK()。//向加班休假表添加編號、姓名CYgjbsjb sjb。//向基本工資表添加編號、姓名CYgjbgzb gzb。//向浮動工資表添加編號、姓名CYgfdgzxmb xmb。return。}//從組合框中讀取文本 ((),strsex)。CString sex,whcd。}if((m_id)==1){MessageBox(員工編號已存在)。if(m_id==){MessageBox(編號不能為空)。(2,研究生)。(男)。(2) 從 Controls 面板上向 Dialog 資源中添加 4 個(gè) Static、2 個(gè) Combo、2 個(gè)Edit,更改資源的屬性,并為