版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《數(shù)據(jù)庫(kù)原理與應(yīng)用》課程設(shè)計(jì)報(bào)告</p><p><b> 職工信息管理系統(tǒng)</b></p><p><b> 一.系統(tǒng)介紹</b></p><p><b> 1.1.功能簡(jiǎn)介</b></p><p> 職工信息管理系統(tǒng)的功能是管理職工的個(gè)人信息,
2、包括對(duì)其進(jìn)行查詢、修改、打印等,職工信息管理系統(tǒng)的主要功能有:</p><p> ?。?)對(duì)新聘任的職工注冊(cè);</p><p> (2)對(duì)職工信息維護(hù);</p><p> ?。?)可以方便的查詢職工信息;</p><p> (4)可以進(jìn)行教師信息報(bào)表的查看與打??;</p><p> ?。?)對(duì)登錄口令的添加、修改、
3、刪除。</p><p><b> 1.2.功能模塊圖</b></p><p><b> 圖1-1</b></p><p><b> 二.需求分析</b></p><p><b> 2.1.功能需求</b></p><p>
4、 通過調(diào)查,要求功能需要有以下功能:</p><p> ?。?)由于需要方便的系統(tǒng)操作,要求有良好人機(jī)界面;</p><p> ?。?)由于該系統(tǒng)的使用對(duì)象多,要求有較好的權(quán)限管理; </p><p> (3)方便的數(shù)據(jù)查詢;</p><p> ?。?)信息需要全面系統(tǒng),報(bào)表也應(yīng)全面。</p><p> 2 .2.
5、數(shù)據(jù)需求 </p><p> ?。?)原始數(shù)據(jù)修改簡(jiǎn)單方便;</p><p> ?。?)數(shù)據(jù)的添加簡(jiǎn)單方便;</p><p> (3)滿足第三范式要求不存在部分函授依賴關(guān)系和傳遞依賴關(guān)系;</p><p> ?。?)刪除數(shù)據(jù)方便簡(jiǎn)單,數(shù)據(jù)穩(wěn)定性好。</p><p><b> 三.建庫(kù)結(jié)果</b&g
6、t;</p><p> 3.1.數(shù)據(jù)關(guān)系E-R</p><p><b> 圖3-1</b></p><p><b> 3.2.數(shù)據(jù)表結(jié)構(gòu)</b></p><p> 1.建表 本系統(tǒng)數(shù)據(jù)庫(kù)包括職工信息表、部門表、工資費(fèi)用表、調(diào)資表</p><p><b>
7、表1職工信息表</b></p><p><b> 表2部門表</b></p><p><b> 表3工資費(fèi)用表</b></p><p><b> 表4調(diào)資表</b></p><p> 2.創(chuàng)建表間永久關(guān)系 </p><p> 對(duì)表結(jié)
8、構(gòu)進(jìn)行修改,設(shè)置職工信息表中的編號(hào)為主索引;職工信息表中的部門號(hào)為候選索引;部門表中的部門號(hào)字段為主索引;工資費(fèi)用表中的編號(hào)字段為主普通索引;調(diào)資表中的編號(hào)為普通索引;</p><p> 再依次建立下述關(guān)系: </p><p> 以職工信息表為主表,工資費(fèi)用表為從表,以編號(hào)字段作為關(guān)鍵字建立主從關(guān)系。</p><p> 以職工信息表為主表,調(diào)資用表為從表,以編
9、號(hào)字段作為關(guān)鍵字建立主從關(guān)系。</p><p> 以部門表為主表,職工信息表為從表,以部門編號(hào)字段為關(guān)鍵字建立主從關(guān)系。</p><p><b> 四.系統(tǒng)開發(fā)設(shè)計(jì)</b></p><p> 4.1. 開發(fā)流程模塊框圖</p><p><b> 圖4-1</b></p><
10、;p> 4.2開發(fā)流程與功能介紹</p><p><b> 1.登錄</b></p><p> 在設(shè)計(jì)登錄菜單是先健一個(gè)口令表,里面有操作員和口令兩個(gè)字段,輸入幾組數(shù)據(jù),然后新建一個(gè)登錄界面如圖所示</p><p><b> 圖4-2-1</b></p><p> 2.主表單:功能選
11、擇</p><p> 登錄系統(tǒng)后,進(jìn)入功能選擇界面如圖所示,</p><p><b> 圖4-2-2</b></p><p> 3.設(shè)計(jì)職工信息表單</p><p> 職工信息子系統(tǒng)表單包括查詢、維護(hù)、退出</p><p><b> 圖4-2-3</b></p
12、><p><b> 4.“查詢”表單</b></p><p> 點(diǎn)擊“查詢”按鈕進(jìn)入查詢表單。設(shè)計(jì)如圖(4-2-4a)所示界面,查詢表單包括信息查詢、工資查詢、費(fèi)用查詢和退出。通過DO FORM命令調(diào)出相應(yīng)表單。如圖(4-2-4b)</p><p><b> 圖4-2-4a</b></p><p>
13、; 在費(fèi)用查詢界面中輸入要查詢的編號(hào)可以查詢工會(huì)會(huì)費(fèi)和房租水費(fèi)。在職工信息查詢中輸入要查詢的編號(hào)可以查詢出職工的基本信息包括編號(hào)、姓名、性別、出生日期等。在工資查詢中輸入職工的編號(hào)可以查詢到該職工的基本工資、獎(jiǎng)金、崗位津貼、調(diào)資以及總工資信息。對(duì)與查詢命令,以工資查詢?yōu)槔銫LICK事件為:</p><p> local mycursor</p><p> select rsb.編號(hào)
14、,rsb.姓名,gzb.基本工資, gzb.獎(jiǎng)金,gzb.崗位津貼,;</p><p> tzb.增加工資 from rsb,gzb,tzb into CURSOR mycursor;</p><p> where rsb.編號(hào) = gzb.編號(hào) and rsb.編號(hào) = tzb.編號(hào) and ;</p><p> rsb.編號(hào) =thisform.Text1
15、.Value</p><p> thisform.text2.value= mycursor.編號(hào)</p><p> thisform.text3.value= mycursor.姓名</p><p> thisform.text4.value= mycursor.基本工資</p><p> thisform.text5.value=
16、 mycursor.獎(jiǎng)金</p><p> thisform.text6.value= mycursor.崗位津貼</p><p> thisform.text7.value= mycursor.增加工資</p><p> thisform.text8.value= mycursor.增加工資 +mycursor.崗位津貼+ mycursor.獎(jiǎng)金 + myc
17、ursor.基本工資</p><p><b> 圖4-2-4b</b></p><p><b> 5.維護(hù)菜單 </b></p><p> 返回職工信息子系統(tǒng)點(diǎn)擊維護(hù)按鈕進(jìn)入信息的維護(hù)界面,在信息維護(hù)界面中可以對(duì)職工信息進(jìn)行添加、修改、刪除操作。在刪除操作中會(huì)出現(xiàn)信息提示“你真的要?jiǎng)h除編號(hào)為某某的記錄嗎?”。這樣能防
18、止因操作不當(dāng)而導(dǎo)致信息的丟失。在添加操作中如果沒有輸入姓名會(huì)出現(xiàn)“職工姓名不可為空,請(qǐng)重新輸入姓名”。如過職工的信息需要修改,用鼠標(biāo)在表格上點(diǎn)擊該職工信息,左邊會(huì)出現(xiàn)相應(yīng)的信息內(nèi)容,把需要修改的內(nèi)容改正,然后點(diǎn)擊修改就行了。</p><p> 另外在表單上創(chuàng)建一個(gè)表格,這樣能直接關(guān)注信息的變化,對(duì)操作失誤產(chǎn)生的錯(cuò)誤可以及時(shí)的改正。表格一定要設(shè)置它的AfterRowColChange事件,這里為</p>
19、;<p> select rsb</p><p> thisform.text1.value=編號(hào)</p><p> thisform.text2.value=姓名</p><p> thisform.optiongroup1.value=iif(性別="男",1,2)</p><p> thisf
20、orm.text3.value=出生日期</p><p> thisform.combo1.value=職稱</p><p> thisform.text4.value=部門號(hào)</p><p> thisform.edit1.value=業(yè)績(jī)</p><p> thisform.check1.value=是否黨員</p>
21、<p><b> 圖4-2-5</b></p><p> 6.報(bào)表的創(chuàng)建于調(diào)出</p><p> 返回主表單——功能選擇,點(diǎn)擊表報(bào)信息,進(jìn)入報(bào)表表單界面如圖(圖4-2-6a)所示。</p><p> 在建表單之前建一個(gè)菜單來調(diào)出報(bào)表,語(yǔ)句為report form worker.frx preview\report form
22、gongzi.frx preview\ report form feiyong.frx preview,然后對(duì)應(yīng)建三個(gè)報(bào)表</p><p><b> 圖4-2-6a</b></p><p> 職工信息報(bào)表、職工工資報(bào)表、職工費(fèi)用報(bào)表如圖(圖4-2-6b)所示。</p><p><b> 圖4-2-6b</b><
23、/p><p> 7.口令設(shè)置(添加修改)</p><p> 返回主表單功能選擇,點(diǎn)擊口令設(shè)置進(jìn)入口令添加修改界面(4-2-7)。口令設(shè)置的設(shè)計(jì)與職工信息的維護(hù)設(shè)計(jì)相似,主要對(duì)操作員信息進(jìn)行添加、修改、刪除操作。修改命令為L(zhǎng)ocal a1,a2,n</p><p><b> n=recno()</b></p><p>
24、 with thisform</p><p> a1=.text1.value</p><p> a2=.text2.value</p><p><b> endwith</b></p><p> update 口令 set 操作員 =a1,口令 =a2;</p><p> where
25、recno()=n</p><p> thisform.grid1.refresh</p><p><b> 圖4-2-7</b></p><p><b> 8.系統(tǒng)的退出</b></p><p> 返回系統(tǒng)的主表單,點(diǎn)擊退出按鈕,會(huì)出現(xiàn)“你真的要退出嗎?”,點(diǎn)擊確定,然后會(huì)出現(xiàn)“歡迎再來
26、再見!”的提示(圖4-2-8),點(diǎn)擊確定就退出了本系統(tǒng),退出按鈕的CLICK事件為:</p><p> if messagebox("你真的要退出嗎?",52)=6</p><p> messagebox("歡迎再來 再見!",48)</p><p> thisform.release</p><p&
27、gt; clear events</p><p><b> endif</b></p><p><b> 圖4-2-8</b></p><p> 9.連遍成應(yīng)用程序,編寫主程序</p><p> set century on &&設(shè)置世紀(jì)為可見</p><
28、;p> set date to ansi &&設(shè)置日期格式</p><p> set escape off &&設(shè)置Esc 鍵作用為無(wú)效</p><p> set console off &&設(shè)置不把屏幕或主窗口作為輸出對(duì)象</p><p> set multilocks on &&設(shè)置多
29、記錄鎖定</p><p> set exact on &&設(shè)置以精確方式進(jìn)行字符串比較</p><p> *set help to 幫助文件名&&設(shè)置幫助文件</p><p> set default to sys(5)+sys(2003) &&設(shè)置默認(rèn)路徑</p><p> set p
30、ath to sys(5)+sys(2003)+"\" &&設(shè)置文件搜索路徑</p><p> _vfp.visible = .f.</p><p> do form 登錄.scx</p><p> &&調(diào)用登錄,如進(jìn)入系統(tǒng)時(shí)要先進(jìn)行口令驗(yàn)證,則應(yīng)調(diào)用口令驗(yàn)證表單</p><p>
31、read events &&啟動(dòng)事件循環(huán)。</p><p> 設(shè)置項(xiàng)目信息然后進(jìn)行連編。</p><p> 四.關(guān)鍵和難點(diǎn)問題以及相應(yīng)的解決方案</p><p> 1.信息維護(hù)界面設(shè)計(jì)中的數(shù)據(jù)匹配問題,主要是性別、出生日期和是否黨員字段的問題。比如在添加命令</p><p> Insert into rsb (編號(hào),姓
32、名,性別,出生日期,職稱,部門號(hào),業(yè)績(jī),是否黨員);</p><p> Values(thisform.text1.value,thisform.text2.value,;</p><p> iif(thisform.Optiongroup1.value=1,"男","女"),;</p><p> ctod(thisfo
33、rm.text3.value),thisform.combo1.value,thisform.text4.value,;</p><p> thisform.edit1.value,thisform.check1.value)</p><p> thisform.grid1.refresh</p><p> 中對(duì)性別的添加不能是thisform.Optiong
34、roup1.value而應(yīng)是iif(thisform.Optiongroup1.value=1,"男","女")。</p><p><b> 2.數(shù)據(jù)查詢問題</b></p><p> 在工資查詢中定義一個(gè)臨時(shí)表?!安樵儭卑粹o的click事件為</p><p> local mycursor<
35、/p><p> select rsb.編號(hào),rsb.姓名,gzb.基本工資, gzb.獎(jiǎng)金,gzb.崗位津貼,tzb.增加工資 from rsb,gzb,tzb into CURSOR mycursor;</p><p> where rsb.編號(hào) = gzb.編號(hào) and rsb.編號(hào) = tzb.編號(hào) and rsb.編號(hào) =thisform.Text1.Value</p>
36、<p> thisform.text2.value= mycursor.編號(hào)</p><p> thisform.text3.value= mycursor.姓名</p><p> thisform.text4.value= mycursor.基本工資</p><p> thisform.text5.value= mycursor.獎(jiǎng)金<
37、/p><p> thisform.text6.value= mycursor.崗位津貼</p><p> thisform.text7.value= mycursor.增加工資</p><p> thisform.text8.value= mycursor.增加工資 +mycursor.崗位津貼 + mycursor.獎(jiǎng)金 + mycursor.基本工資</
38、p><p> 注意要定義一個(gè)mycursor把查詢的信息發(fā)到其中,然后在賦值到表單中的控件中</p><p> 3. 應(yīng)用程序運(yùn)行時(shí),不打開VFP 的背景窗口問題</p><p> 如果單純的在主程序加_vfp.visible = .f.那么可能會(huì)出先程序打開了但馬上就沒了,但在windows任務(wù)管理器的進(jìn)程中會(huì)出現(xiàn)。解決辦法是設(shè)置主表單的MDIForm 為.t.
39、 、ShowWindow 為2-作為頂層表單。將主表單和主菜單調(diào)用的表單</p><p> 的此屬性均設(shè)置為1-在頂層表單中。然后在主程序上加上設(shè)置主表單的MDIForm 為.t. 、ShowWindow 為2-作為頂層表單。將菜單所要調(diào)用的表單的此屬性均設(shè)置為1-在頂層表單中。然后在主程序加上_vfp.visible = .f.</p><p> 另外在主程序上一定要有read ev
40、ents語(yǔ)句,在主表單的退出click事件代碼上一定要有clear events這句。</p><p> 五.對(duì)課程教學(xué)和課程設(shè)計(jì)的認(rèn)識(shí)體會(huì)以及建議</p><p> 經(jīng)過將近一周的努力,終于完成了VFP課程設(shè)計(jì)。通過這次課程設(shè)計(jì),我深知自己掌握的知識(shí)還遠(yuǎn)遠(yuǎn)不夠,掌握的一些理論知識(shí)應(yīng)用到實(shí)踐中去,總會(huì)出現(xiàn)這樣或那樣的問題,不是理論沒有掌握好,而是光知道書本上的知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,一定要把
41、理論知識(shí)和實(shí)踐結(jié)合起來。把學(xué)到的知識(shí)應(yīng)用到時(shí)間中去,多做多練,才可以把理論的精華發(fā)揮出來。在剛開始設(shè)計(jì)這個(gè)系統(tǒng)的時(shí)候,感覺無(wú)從下手,但是經(jīng)過需求分析,結(jié)構(gòu)設(shè)計(jì)步驟以后。剩下的步驟一目了然,但是,看起來越簡(jiǎn)單的事情缺在實(shí)踐的過程中發(fā)現(xiàn)非常難。好多資料需要去圖書館和上網(wǎng)查閱。在設(shè)計(jì)的時(shí)候,有時(shí)候想放棄,有時(shí)會(huì)忘記吃飯,在電腦前坐的腰酸悲痛。但是設(shè)計(jì)成功后,當(dāng)運(yùn)行自己親手做的程序成功實(shí)現(xiàn)各種功能的時(shí)候,心里十分高興。</p>&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫(kù)原理b課程設(shè)計(jì)--數(shù)據(jù)庫(kù)學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)原理及應(yīng)用課程設(shè)計(jì)--職工考勤管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
- 數(shù)據(jù)庫(kù)原理及應(yīng)用課程設(shè)計(jì)--- 醫(yī)藥信息管理子系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---宿舍信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--教室信息管理系統(tǒng).
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-員工信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--顧客信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)課程設(shè)計(jì)論文-醫(yī)院信息管理數(shù)據(jù)庫(kù)設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-客房信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--教師信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--顧客信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)----藥品信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- pb數(shù)據(jù)庫(kù)應(yīng)用課程設(shè)計(jì)——學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---客戶信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-教務(wù)信息管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論