【正文】
用戶設(shè)置民族檔案案文化程度政治面貌職稱類別工資類別部門類別職工類型職務(wù)類別用戶名職務(wù)名稱密碼職務(wù)編號(hào)民族編號(hào)民族名稱文化程度編號(hào)編號(hào)文化程度名稱工資類別編號(hào)工資類別名稱 人事管理系統(tǒng)的 ER 圖1……用戶瀏覽,查詢,統(tǒng)計(jì)職工表用戶名密碼職工姓名民族婚姻狀況身份證職工編號(hào)出生日期 ER 圖2 ER圖的有關(guān)實(shí)體和聯(lián)系的說明說明:對于人事管理系統(tǒng)的 ER 圖1,一個(gè)用戶可以設(shè)置多個(gè)民族的情況,一個(gè)民族檔案能被多個(gè)用戶設(shè)置。9)數(shù)據(jù)結(jié)構(gòu)名稱:職務(wù)類別設(shè)置組成:職務(wù)類別編號(hào),職務(wù)類別名稱10)數(shù)據(jù)結(jié)構(gòu)名稱:職工信息組成:職工編號(hào),職工性別,職工年齡,民族,婚姻狀況,家庭電話,電子郵箱,手機(jī),籍貫,地址,畢業(yè)學(xué)校,職稱,入職時(shí)間,職稱類別,部門類別,職務(wù)類別。為企業(yè)的人事管理提供一個(gè)便利的管理系統(tǒng)。葉偉平(3105007360)完成了基本數(shù)據(jù)的管理(民族檔案設(shè)置,職工類型設(shè)置,文化程度設(shè)置,政治面貌設(shè)置,部門類別設(shè)置,工資類別設(shè)置,職稱類別設(shè)置,職務(wù)類別設(shè)置)的功能和系統(tǒng)管理。通過這次課程設(shè)計(jì),我們掌握了Microsoft Visual Studio2005和Microsoft Office Access 2003的使用方法和軟件設(shè)計(jì)的方法。通過這次的課程設(shè)計(jì),在界面設(shè)計(jì)上也收獲不少,學(xué)會(huì)了skinplusplus的使用,這使界面的美化變得更容易。 Visual Studio可以用來創(chuàng)建 Windows平臺(tái)下的Windows應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序,也可以用來創(chuàng)建網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和Office 插件。1)數(shù)據(jù)項(xiàng)名稱: 用戶名簡述:用戶的名字,沒有重復(fù),可以唯一標(biāo)識(shí)每一用戶類型:文本長度:502)數(shù)據(jù)項(xiàng)名稱:用戶密碼簡述:用戶的密碼,用來證驗(yàn)登陸的用戶是否合法。采用自底而上的設(shè)計(jì)方法。實(shí)現(xiàn)方法如下: 頭文件 , include 和數(shù)據(jù)庫API頭文件, include //ODBC數(shù)據(jù)庫API頭文件。 } if(m_strContent==) { MessageBox(請輸入查詢內(nèi)容!)。 } else if(1==m_nCondition) {//按職工職務(wù)查詢 (select * from person where duty=39。} else if(3==m_nCondition) {//按職工類型查詢 (select * from person where isworker=39。} else if(5==m_nCondition) {//按職工性別查詢 (select * from person where sex=39。} else if(7==m_nCondition) {//按職工民族查詢 (select * from person where folk=39。 } else if(9==m_nCondition) {//按文化程度查詢 (select * from person where education=39。 m_bNew = FALSE。 ()。%s39。%s39。%s39。%s39。%s39。 (TRUE)。 else strType = like 。 } if(m_strDept!=) { ( dept %s 39。 ,strType,m_strDuty)。 strSQL += strTemp。 } if(m_strIsWorker!=) { ( isworker %s 39。 ,strType,m_strMarry)。 strSQL += strTemp。 } if(m_strTechnical!=) { ( technical %s 39。 strSQL += strTemp。 bNoCondition = FALSE。%s39。 if(!bNoCondition) strSQL += and 。 return 。 (i,2,)。 (i,8,)。 } ()。 UpdateData(TRUE)。 (0,100)。 (num,strValue)。 (1)。 return 。 break。 strSQL=select count(ID) as num ,folk from person group by folk。 ()。 (0,100)。 (i,1,strValue)。 (0,職務(wù))。 (i,strValue)。 (1)。 return。 break。 strSQL=select count(ID) as num ,education from person group by education。 ()。 (0,100)。 (i,1,strValue)。 (0,部門)。 (i,strValue)。 (1)。 return 。 break。 strSQL=select count(ID) as num ,aboutpay from person group by aboutpay。 ()。 (0,100)。 (i,1,strValue)。}6.5數(shù)據(jù)庫備份以及恢復(fù) 代碼如下:void CMainFrame::OnDatabaseBackup() { // TODO: Add your mand handler code here if(AfxMessageBox(您確定要備份數(shù)據(jù)庫嗎?,MB_OKCANCEL)==IDCANCEL) { return。 if(()) {//增加新用戶的輸入檢查 if(m_strUser==) { MessageBox(請?zhí)顚懹脩裘?。 } //驗(yàn)證密碼與確認(rèn)密碼是否一致 if(m_strPass!=m_strRePass) { MessageBox(兩次輸入地密碼不一致,請重新輸入密碼!)。%s39。 = m_strUser。 return。 } (FALSE)。在前面的近三年時(shí)間內(nèi)我學(xué)習(xí)了很多的課程,從最初始的C語言到稍微深入一點(diǎn)的JAVA語言,但以前的課程設(shè)計(jì)多是在MSDOS運(yùn)行的,沒有好的界面,還有就是以前沒有學(xué)習(xí)數(shù)據(jù)庫,所以以前的數(shù)據(jù)只是單純地保存到內(nèi)存,數(shù)據(jù)在系統(tǒng)退出之后沒有正確地保存起來,通過本項(xiàng)目我們學(xué)會(huì)了成員之間的協(xié)調(diào)、團(tuán)隊(duì)精神,加深了對數(shù)據(jù)庫設(shè)計(jì)和應(yīng)用軟件開發(fā)過程的理解,更了解到了數(shù)據(jù)字典在軟件開發(fā)過程中的重要性。}7. 測試方案和測試報(bào)告 (葉丙坤 葉偉平) 在系統(tǒng)的實(shí)現(xiàn)過程和程序的調(diào)試過程中,遇到很多問題,此時(shí)應(yīng)該對程序仔細(xì)閱讀,設(shè)置斷點(diǎn),進(jìn)行白盒測試。 = m_strUser。 = m_strPass。 if(!(AFX_DB_USE_DEFAULT_TYPE,strSQL)) { MessageBox(打開數(shù)據(jù)庫失敗!,數(shù)據(jù)庫錯(cuò)誤,MB_OK)。 m_strPass = 。 return。 else AfxMessageBox(數(shù)據(jù)庫備份失敗!)。 ()。 strSQL=select count(ID) as num ,ismarry from person group by ismarry。 break。 return 。 (1)。 (i,strValue)。 (0,職工類型)。 (i,1,strValue)。 (0,100)。 ()。 strSQL=select count(ID) as num ,political from person group by political。 break。 return 。 (1)。 (i,strValue)。 (0,職稱)。 (i,1,strValue)。 (0,100)。 ()。 strSQL=select count(ID) as num ,native from person group by native。 break。 return 。 (1)。 (i,strValue)。 (0,年齡)。