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

正文內(nèi)容

工資管理系統(tǒng)軟件工程課程設(shè)計(jì)2(編輯修改稿)

2025-07-27 11:34 本頁面
 

【文章內(nèi)容簡介】 式能真實(shí)地反應(yīng)用戶要求的實(shí)際情況,是一種容易被人們理解的直觀的數(shù)據(jù)庫結(jié)構(gòu)模式。同時(shí)也是一種相對(duì)穩(wěn)定統(tǒng)一的數(shù)據(jù)模式,一般情況下很少變動(dòng)。概念性數(shù)據(jù)在用戶和設(shè)計(jì)者之間建立了橋梁。是設(shè)計(jì)數(shù)據(jù)庫結(jié)構(gòu)的基礎(chǔ)。概念設(shè)計(jì)中自頂向下的實(shí)體分析方法,即常用的實(shí)體聯(lián)系模型(簡稱ER 模型),對(duì)具體數(shù)據(jù)進(jìn)行抽象加工,將實(shí)體集合抽象成實(shí)體類型。用實(shí)體間聯(lián)系反映現(xiàn)實(shí)世界事物間的內(nèi)在聯(lián)系。ER 模型是建立概念性數(shù)據(jù)模型的有力工具。 系統(tǒng)數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)是將概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)的ER 圖,轉(zhuǎn)化為選用所支持?jǐn)?shù)據(jù)模型相符的邏輯結(jié)構(gòu),形成邏輯模型。基于關(guān)系數(shù)據(jù)模型的邏輯結(jié)構(gòu)的設(shè)計(jì)一般分為三個(gè)步驟:〔1〕概念模型轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型?!?〕關(guān)系模型的優(yōu)化?!?〕設(shè)計(jì)用戶子模式書號(hào)。一般轉(zhuǎn)換原則如下:〔1〕一個(gè)實(shí)體轉(zhuǎn)換為一個(gè)表(Table),則實(shí)體的屬性轉(zhuǎn)換為表的列(Column),實(shí)體的碼轉(zhuǎn)換為表的主鍵(Primary Key)?!?〕實(shí)體間的聯(lián)系根據(jù)聯(lián)系的類型,轉(zhuǎn)換如下:① 1:n 的聯(lián)系: 1:n 的聯(lián)系是比較普遍的聯(lián)系,其轉(zhuǎn)換比較直觀。轉(zhuǎn)換規(guī)律是在n 端的實(shí)體對(duì)應(yīng)的表中增加屬性,該屬性是1 端實(shí)體對(duì)應(yīng)表的主碼。如:崗位和員工的關(guān)系是1:n 的聯(lián)系。② m:n 的聯(lián)系: 通過引進(jìn)一個(gè)新表來表達(dá)兩個(gè)實(shí)體間多對(duì)多的聯(lián)系,新表的主碼由聯(lián)系兩端實(shí)體的主碼組合而成,同時(shí)增加相關(guān)的聯(lián)系屬性。如:部門與員工的聯(lián)系是n:m 聯(lián)系。 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計(jì)是指為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)和存取方法),它完全取決于給定的計(jì)算機(jī)系統(tǒng)。物理結(jié)構(gòu)可分兩步進(jìn)行。第一步是分析所得到的各種數(shù)據(jù)模型,依據(jù)在實(shí)際執(zhí)行時(shí)可能產(chǎn)生的數(shù)據(jù)容量以及各種數(shù)據(jù)模型之間的相互依賴程度等,確定數(shù)據(jù)庫的物理結(jié)構(gòu);第二步則要根據(jù)某種方法對(duì)所設(shè)計(jì)的物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)重點(diǎn)是時(shí)間和空間的效率。數(shù)據(jù)庫實(shí)施是指建立數(shù)據(jù)庫,編制與調(diào)試應(yīng)用程序, 組織數(shù)據(jù)入庫,并進(jìn)行試運(yùn)行。根據(jù)人員規(guī)模,我們只建立起一個(gè)數(shù)據(jù)庫,在此數(shù)據(jù)庫基礎(chǔ)上建立起如下表: 職工表   用戶表 工資表 下面說明各表的字段名稱和數(shù)據(jù)類型: 工資表:職工表:用戶表: 第五章 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)階段主要是將系統(tǒng)中的每個(gè)模塊完成的功能進(jìn)行具體描述。根據(jù)系統(tǒng)總體結(jié)構(gòu)可以得出登錄管理模塊實(shí)現(xiàn)用戶登錄、密碼修改和退出系統(tǒng)三個(gè)功能。其中,退出系統(tǒng)實(shí)現(xiàn)流程很容易,只需要一行代碼即可;用戶登錄的實(shí)現(xiàn)流程是用戶在登錄窗口輸入用戶名稱和密碼,如果沒有用戶名和密碼可以進(jìn)行注冊(cè)后再登錄,選擇了用戶角色后,單擊【登錄】按鈕進(jìn)行提交,系統(tǒng)開始驗(yàn)證用戶提交的登錄信息是否正確。如果正確,則打開工資管理系統(tǒng),并根據(jù)用戶角色賦于相應(yīng)的操作權(quán)限;否則給出錯(cuò)誤信息。登錄界面如下: 代碼部分核心代碼設(shè)計(jì):void CZHUCE::OnButton1() { UpdateData(TRUE)。 if(()||()||()) {AfxMessageBox(請(qǐng)將資料填寫完整!)。 ()。 ()。 UpdateData(FALSE)。 return。 } OnInitADOConn()。 if (m_password2==m_password) { CString str。 (insert into 用戶表(用戶名,密碼) values (39。%s39。,39。%s39。),m_username,m_password)。 _variant_t var。 int fieldrow。 try{//捕捉表的主鍵存在重復(fù)值的異常 m_pConnectionExecute((_bstr_t)str,amp。var,adCmdText)。 fieldrow=(int)V_I2(amp。var)。 } catch(...) { AfxMessageBox(用戶名已存在,注冊(cè)失敗)。 ()。 ()。 ()。 UpdateData(FALSE)。 return。 } AfxMessageBox(注冊(cè)成功,請(qǐng)返回登錄!)。 m_pConnectionClose()。 Clogin clg。 ()。 } else{AfxMessageBox(兩次密碼輸入不一樣,注冊(cè)失敗!)。 ()。 ()。 ()。 UpdateData(FALSE)。 return。 }}void CZHUCE::OnInitADOConn(){ try {//創(chuàng)建連接對(duì)象實(shí)例 ()。 //設(shè)置連接字符串 Cstring strConnect=Provider=。Data Source=。Persist Security Info=False。 //使用Open方法連接數(shù)據(jù)庫 m_pConnectionOpen((_bstr_t)strConnect,adModeUnknown)。 } catch(__error e) { AfxMessageBox(())。 }}_RecordsetPtramp。 CZHUCE::GetRecordSet(_bstr_t sqlstr){ { try{if (m_pConnection==NULL) {OnInitADOConn()。 } (__uuidof(Recordset))。 m_pRecordsetOpen(sqlstr,(),adOpenDynamic,adLockOptimistic,adCmdText)。 } catch (__error e) { ()。 } return m_pRecordset。 }}:成功登錄主界面:用戶管理模塊用于實(shí)現(xiàn)用戶的添加、刪除、更新功能。:::員工信息管理模塊用于實(shí)現(xiàn)員工信息的添加、刪除、修改。其中,員工信息添加的實(shí)現(xiàn)流程是用戶在添加員工窗口中輸入所要添加員的信息后,單擊【確認(rèn)添加】按鈕進(jìn)行提交,系統(tǒng)獲得用戶提交的員工信息,并嘗試寫入到工資管理系統(tǒng)的數(shù)據(jù)庫中,最后返回員工信息添加的執(zhí)行結(jié)果。:部分核心代碼代碼如下:void CGXZHG::OnButton2() {// TODO: Add your control notification handler code here UpdateData(TRUE)。 if(()||()) {AfxMessageBox(not null)。 return。} OnInitADOConn()。 CString str。 (update 職工表 set 性別=39。%s39。,年齡=%d,電話=39。%s39。,住址=39。%s39。,職位=39。%s39。,備注=39。%s39。 where 職工編號(hào)=39。%s39。,m_Sex,m_Age,m_Telphone,m_Address,m_Zhiwei,m_Beizhu,m_Bianhao)。 m_pConnectionExecute((_bstr_t)str,NULL,adCmdText)。 m_pConnectionClose()。 ()。 AddToGrid()。ClearAll()。}void CGXZHG::OnButton1() {// TODO: Add your control notification handler code hereClearAll()。 UpdateData(FALSE)。 }void CGXZHG::OnButton3() {// TODO: Add your control notification handler code here UpdateData(TRUE)。 if(()) {AfxMessageBox(請(qǐng)選擇刪除的職工!)。 return。} OnInitADOConn()。 CString bstrSQL。 (delete from 職工表 where 職工編號(hào)=39。%s39。,m_tiaojian)。 CMAKESURE cmake。 if(()!=IDOK) { return 。 } m_pConnectionExecute((_bstr_t)bstrSQL,NULL,adCmdText)。 m_pConnectionClose()。 ()。 AddToGrid()。 ClearAll()。 AfxMessageBox(刪除成功!)。 UpdateData(FALSE)。}void CGXZHG::OnButton4() { UpdateData(TRUE)。 (m_Type)。 if(()) {AfxMessageBox(請(qǐng)選擇查詢的方式!)。 return。} if(()) {AfxMessageBox(請(qǐng)輸入查詢的職工編號(hào)!)。 return。} OnInitADOConn()。 CString sql。 sql+=select * from 職工表 where 。 sql+=m_Type+=+39。+m_tiaojian+39。 m_pConnectionExecute((_bstr_t)sql,NULL,adCmdText)。 m_pConnectionClose()。 ()。 UpdateGr
點(diǎn)擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1