freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于qt環(huán)境的企業(yè)人事管理系統(tǒng)(編輯修改稿)

2025-07-21 02:31 本頁面
 

【文章內容簡介】 ,Tcont,Trem,Tnum。這個表是用來存儲員工培訓信息的,當新建員工培訓信息時,就是相當于向這個表中插入一條記錄。其表結構如圖所示: 圖 310 trained 表結構圖zhicheng 表包含 2 個實體分別為 Zid,Zname 。這個表是用來存儲職稱信息的,這個企業(yè)的所有崗位名稱都包含在內,其表結構如圖所示: 圖 311 zhicheng 表結構圖從名為 RSDAMS 的數(shù)據庫的 11 表中我們不難發(fā)現(xiàn)每個表都相應的~id,這里的~id起到的作用是非常大的。當我們需要兩個表關聯(lián)時,都是利用它們 id 關聯(lián)在一起的,在系統(tǒng)設計中很多情況下需要調用數(shù)據中的幾個表,那么如何知道調用該表中的哪個記錄,就要靠它們的 id 來識別了,這些 id 就像我們的學號是唯一的一樣。數(shù)據庫中的各個表11 / 38都建好后,在編寫程序時需要將數(shù)據庫和我們建的工程聯(lián)系上。因此,在 中添加 database 類,在這個 C++類中實現(xiàn)數(shù)據庫的連接與關閉功能,具體如下:void Database::open() //數(shù)據庫連接函數(shù){ db = QSqlDatabase::addDatabase(QSQLITE)。 //數(shù)據庫為 SQLite()。 //建立名為 的數(shù)據庫if (!()) //打開并連接數(shù)據庫以及容錯處理 { QMessageBox::critical(0, Cannot open database, Unable to establish a database connection.\n This example needs SQLite support. Please read the Qt SQL driver documentation for information how to build it., QMessageBox::Cancel)。 return。 }}void Database::close() //關閉數(shù)據庫{()。}12 / 38 第四章 系統(tǒng)設計 第 1 節(jié) 系統(tǒng)功能結構 一、系統(tǒng)功能結構圖 圖 41 企業(yè)人事管理系統(tǒng)結構圖第 2 節(jié) 系統(tǒng)功能的具體設計及代碼實現(xiàn)一、系統(tǒng)預覽及界面功能實現(xiàn)13 / 38企業(yè)人事管理系統(tǒng)由多個窗體組成,下面僅列出幾個典型的窗體:,在該界面輸入用戶名和密碼實現(xiàn)登錄功能,由于用戶在輸入用戶名和密碼時需要密碼為圖中小黑點形式以便信息保護。在本系統(tǒng)中,首先在 工程中的添加 Login 界面文件,同時在工程中會自動添加 Login 類的源文件和頭文件。在其界面文件上添加用到的工具原件。我通過對 Login 類構造函數(shù)添加初始化語句來實現(xiàn)登錄密碼的保護顯示:ui linePw setEchoMode(QLineEdit::Password)。 圖 42 登錄界面圖,若為管理員用戶,所有的功能都可以直接或間接的在該界面上實現(xiàn)。該界面包含了該系統(tǒng)的所有的功能,滿足客戶對本系統(tǒng)的所有要求,而且在細節(jié)上也做到了很多人性化的方面。14 / 38 圖 43 管理員登錄的主界面圖首先,從個人賬戶這 groupBox 看起,其中修改密碼這個 Button 按鈕,無論用戶擁有怎樣的用戶權限,都應該是只能修改本身的密碼;而且我們確保不要出現(xiàn)操作上的失誤,我們在修改密碼時,會彈出一個對話框,需要填寫舊密碼、新密碼以及確認新密碼。當舊密碼為該用戶現(xiàn)有密碼,新密碼和確認新密碼一致時才可以實現(xiàn)修改。否則會通過如下代碼實現(xiàn)提示錯誤如圖所示:if(oldpw == (1).toString() amp。amp。 newpw1 == newpw2) { ()。 (update limits set Lpw = 39。 + newpw1 + 39。 where Lid = + m_id)。 QMessageBox::information(0,密碼修改成功!,QMessageBox::Ok)。 thisclose()。15 / 38 } else { QMessageBox::critical(0,錯誤!,密碼修改失?。?QMessageBox::Cancel)。}在這部分最大的難點是做到只能修改自己的密碼,因此我們做了和主界面的關聯(lián),通過一個函數(shù)傳遞一個參數(shù)。這個參數(shù)為每個員工所特有的,即每個員工的員工編號。void modpw::getID(QString id){ m_id = id。 }void Widget::on_btnPW_clicked(){ modpw *mopdw1 = new modpw。 mopdw1getID(m_loginid)。mopdw1exec()。delete mopdw1。} 圖 44 修改密碼運行圖16 / 38在這個 groupBox 里還有一個退出登錄的按鈕,這個按鈕的實現(xiàn)就想對簡單些,通過如下代碼實現(xiàn)返回登錄頁面:void Widget::on_btnLogag_clicked(){ Login *l = new Login。 m_loginid = 。 thishide()。 lexec()。 thisSetLimit(lLoginIDReturn())。thisshow()。delete l。}其次是員工列表這個 groupBox 的設計實現(xiàn)。在這里可以顯示所有員工的員工編號和姓名;具體實現(xiàn)代碼如下所示: void Widget::on_btnInsert_clicked(){ NewUser *nusr = new NewUser。nusrexec()。thissetAllModel(Model1,Model2)。 thisdisplay()。 delete nusr。}在這一部分還包括員工入職的辦理,設計的目標是在通過員工入職按鈕的槽函數(shù)彈出如圖所示的對話框,在這個對話框填寫新員工的信息,這些信息作為記錄插入到數(shù)據庫中實現(xiàn)員工入職的辦理。17 / 38 圖 45 新員工入職運行圖添加功能通過如下代碼實現(xiàn): (select Eid from emplinfo where Eid = + id)。 ()。 if((0).toString() == NULL){()。 (insert into emplinfo values( + id + ,39。+ name + 39。,39。+ sex +39。,39。+ date +39。,39。+ minzu +39。,+ phone +,39。+ addr +39。,39。+ +39。,39。+ univ +39。,39。+ xueli +39。,39。+ major +39。,39。+ remark +39。))。 (insert into workinfo values( + id + ,39。 + bumen + 39。,39。 + zhicheng + 39。, + salary + ))。18 / 38 (insert into limits values(+ id +,+ id +,39。 + limit + 39。))。thisclose()。 } else { QMessageBox::critical(0,錯誤!,該員工編號已存在!,QMessageBox::Cancel)。 }管理員還可以實現(xiàn)員工離職的辦理,即通過員工離職按鈕的槽函數(shù)實現(xiàn),首先需要選中一個操作對象,若沒有選中操作對象會彈出提示對話框,然后再單擊員工離職按鈕,便會彈出如下圖所示的對話框,當用戶單擊 Yes 這個 Button 時,數(shù)據庫 RSDAMS 中便執(zhí)行 delete 操作。依次從 emplinfo 表中刪除 Eid 為所選操作對象的 id 的記錄,從 select表中刪除 Sid 為 id 的記錄,從 limits 表中刪除 Lid 為 id 的記錄,從 kaop 表中刪除 Kid為 id 的記錄,從 reward 表中刪除 Rid 為 id 的記錄,從 workinfo 表中刪除 Wid 為 id 的記錄,從 trained 表中刪除 Tid 為 id 的記錄。具體操作由如下代碼實現(xiàn):void Widget::on_btnDelete_clicked(){ QAbstractItemModel *itModel = uiMsgTable2model()。// int row =
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1