版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 《Visual FoxPro 數(shù)據(jù)庫程序設(shè)計》課程設(shè)計說明書</p><p> 題目:學(xué)生成績管理系統(tǒng)</p><p><b> 1.系統(tǒng)總體設(shè)計</b></p><p><b> 1.1系統(tǒng)功能簡介</b></p><p> 數(shù)據(jù)錄入:輸入學(xué)生的學(xué)號,給出學(xué)生姓名;輸
2、入課程號,給出課程名;輸入學(xué)生成績。</p><p> 數(shù)據(jù)修改:按課程號修改成績。</p><p> 成績查詢:按學(xué)號查詢該同學(xué)的各科成績;按課程號查詢每名同學(xué)的成績,并排序查詢結(jié)果。</p><p> 1.2系統(tǒng)功能結(jié)構(gòu)圖</p><p><b> 2.數(shù)據(jù)庫設(shè)計</b></p><p&g
3、t; 2.1建立數(shù)據(jù)庫和基本表,并建立合理的約束</p><p> 打開Visual FoxPro,建立數(shù)據(jù)庫,名為學(xué)生成績管理系統(tǒng),并在數(shù)據(jù)庫下建立三張表:學(xué)生表、課程表、成績表。表結(jié)構(gòu)如下:</p><p> 學(xué)生表(學(xué)號,姓名,性別,出生年月) </p><p> 建立主索引:名為學(xué)號 表達(dá)式為:學(xué)號</p><p> 課程
4、表(課程名,課程號,學(xué)分,主講教師)</p><p> 建立主索引:名為課程號 表達(dá)式為:課程號</p><p> 成績表(學(xué)號,課程號,成績)</p><p> 建立普通索引:名為學(xué)號 表達(dá)式為:學(xué)號 </p><p> 建立普通索引:名為課程號 表達(dá)式為:課程號</p><p> 學(xué)生表、課程表、成績
5、表相關(guān)聯(lián)如圖所示:</p><p><b> 2.2錄入數(shù)據(jù)</b></p><p> 學(xué)生表錄入數(shù)據(jù)如下所示:</p><p> 課程表錄入數(shù)據(jù)如下所示:</p><p> 成績表錄入數(shù)據(jù)如下所示:</p><p><b> 3.程序設(shè)計界面</b></p&
6、gt;<p><b> 3.1系統(tǒng)主界面</b></p><p> 系統(tǒng)主界面設(shè)計如圖所示:</p><p><b> 1)菜單設(shè)計</b></p><p> 1、按照系統(tǒng)功能結(jié)構(gòu)圖設(shè)計頂層菜單。</p><p> 2、在VFP系統(tǒng)主菜單的“顯示”菜單下,選擇“常規(guī)選項”命令
7、,在彈出的對話框中,勾選頂層表單選項,將該菜單設(shè)置為頂層表單菜單。設(shè)計如下:</p><p><b> 2)控件屬性設(shè)置</b></p><p> 圖片Image1的路徑屬性Picture設(shè)置為VFP的默認(rèn)路徑。</p><p> 標(biāo)簽label1的標(biāo)題屬性Caption設(shè)置為:三亞學(xué)院學(xué)生成績管理系統(tǒng),并設(shè)置相應(yīng)的字體、字號和顏色。&l
8、t;/p><p><b> 3)表單代碼設(shè)計</b></p><p> 表單的Init事件代碼:DO 學(xué)生成績.MPR WITH THIS </p><p> 表單的Destroy事件代碼:RELEASE MENU 學(xué)生成績EXTENDED</p><p><b> 3.2學(xué)生成績錄入</b>&
9、lt;/p><p> 學(xué)生成績錄入表單設(shè)計如圖所示:</p><p><b> 1)控件屬性設(shè)置</b></p><p> 標(biāo)簽:label1學(xué)號 標(biāo)題:Caption 設(shè)置為:學(xué)號</p><p> Label2課程號 標(biāo)題:Caption 設(shè)置為:課程號</p>&l
10、t;p> Label3成績 標(biāo)題:Caption 設(shè)置為:成績</p><p> 文本框:txt1學(xué)號 數(shù)據(jù)源:ControlSource 設(shè)置為:成績.學(xué)號</p><p> Txt2課程號 數(shù)據(jù)源:ControlSource 設(shè)置為:成績.課程號</p><p> Txt3成績 數(shù)據(jù)源:ControlSo
11、urce 設(shè)置為:成績.成績</p><p> 命令按鈕:command1 標(biāo)題:caption 設(shè)置為:追加</p><p> Command2 標(biāo)題:caption 設(shè)置為:退出</p><p><b> 2)代碼設(shè)計</b></p><p> 文本框txt學(xué)號的GotFocus事件代碼:</p&
12、gt;<p> select 成績 </p><p> append blank</p><p> jlh=recno()</p><p> 文本框txt學(xué)號的LostFocus事件代碼:</p><p><b> select 成績</b></p><p> repla
13、ce 學(xué)號 with thisform.txt學(xué)號.value</p><p><b> select 學(xué)生</b></p><p> locate for 學(xué)號=thisform.txt學(xué)號.value</p><p> thisform.label1.caption="姓名: "+學(xué)生.姓名</p>
14、<p><b> select 成績</b></p><p> 文本框txt課程號的getFocus事件代碼:</p><p><b> select 成績</b></p><p> thisform.txt課程號.value=' '</p><p> 文本
15、框txt課程號的LostFocus事件代碼:</p><p><b> select 成績</b></p><p><b> go jlh</b></p><p> replace 課程號 with thisform.txt課程號.value</p><p> select 課程表</
16、p><p> locate for 課程號=thisform.txt課程號.value</p><p> thisform.label2.caption="課程名: "+課程表.課程名</p><p><b> select 成績</b></p><p><b> go jlh<
17、/b></p><p> thisform.txt成績.value=0</p><p> 文本框txt成績的getFocus事件代碼:</p><p><b> select 成績</b></p><p><b> go jlh</b></p><p> 文本
18、框txt成績的LostFocus事件代碼:</p><p><b> select 成績</b></p><p><b> go jlh</b></p><p> replace 成績 with thisform.txt成績.value</p><p> 命令按鈕command1的Click
19、事件代碼:</p><p> thisform.label1.caption=" "</p><p> thisform.label2.caption=" "</p><p><b> select 成績</b></p><p> append blank<
20、;/p><p> thisform.txt學(xué)號.setfocus </p><p> thisform.refresh</p><p> 命令按鈕command2的Click事件代碼:</p><p><b> select 成績</b></p><p><b> use</
21、b></p><p><b> use 成績</b></p><p> delete for 學(xué)號=space(8).or.課程號=space(5)</p><p><b> pack</b></p><p> close database </p><p>
22、 thisform.release</p><p><b> 3.3學(xué)生成績修改</b></p><p> 學(xué)生成績修改表單設(shè)計如圖所示:</p><p> 按課程號修改數(shù)據(jù),用戶由鍵盤輸入課程號,當(dāng)控制交點離開文本框時,在表格中顯示要修改的數(shù)據(jù)記錄。用戶用鼠標(biāo)、鍵盤對數(shù)據(jù)記錄進(jìn)行修改。</p><p><b
23、> 1)控件屬性設(shè)置</b></p><p> 標(biāo)簽:label1 標(biāo)題:caption 設(shè)置為:課程號</p><p> 文本框:text1 接收由鍵盤輸入的數(shù)據(jù)</p><p> 命令按鈕:command1 標(biāo)題:caption 設(shè)置為:退出</p><p> 表格:顯示要修改的記錄 </
24、p><p><b> 2)代碼設(shè)計</b></p><p> 文本框text1的LostFocus的事件代碼:</p><p> set filter to alltrim(課程號)=alltrim(thisform.text1.value)</p><p> 設(shè)置過濾器,修改滿足條件的數(shù)據(jù)記錄。</p>
25、<p><b> 3.4學(xué)生成績查詢</b></p><p> 3.4.1學(xué)號查詢表單設(shè)計</p><p><b> 界面設(shè)計如下:</b></p><p><b> 1)控件屬性設(shè)置</b></p><p> 標(biāo)簽:label1 標(biāo)題:caption
26、設(shè)置為:學(xué)號</p><p> 文本框:text1 接收由鍵盤輸入的數(shù)據(jù)</p><p> 命令按鈕:command1 標(biāo)題:caption 設(shè)置為:查詢</p><p> Command2 標(biāo)題:caption 設(shè)置為:退出</p><p> 表格:顯示查詢結(jié)果 </p><p><b&
27、gt; 2)代碼設(shè)計</b></p><p> 命令按鈕command1的Click事件代碼:</p><p> set safety off</p><p> select 成績.學(xué)號,學(xué)生.姓名,成績.課程號,課程表.課程名,成績.成績 from 成績,學(xué)生,課程表;</p><p> where 成績.學(xué)號=學(xué)生.
28、學(xué)號 and 成績.課程號=課程表.課程號 and alltrim(成績.學(xué)號)=alltrim(thisform.text1.value);</p><p> into table cxb</p><p> thisform.grid1.recordsource='cxb'</p><p> thisform.refresh</p>
29、;<p> set safety on</p><p> 命令按鈕command2的Click事件代碼:</p><p> thisform.release</p><p> 3.4.2課程號查詢表單設(shè)計</p><p><b> 界面設(shè)計如下:</b></p><p>&
30、lt;b> 1)控件屬性設(shè)置</b></p><p> 標(biāo)簽:label1 標(biāo)題:caption 設(shè)置為:學(xué)號</p><p> 文本框:text1 接收由鍵盤輸入的數(shù)據(jù)</p><p> 單選按鈕組:OptionGroup1.option1 標(biāo)題:Caption 設(shè)置為:升序</p><p> Opt
31、ionGroup1.option2 標(biāo)題:Caption 設(shè)置為:降序</p><p> 命令按鈕:command1 標(biāo)題:caption 設(shè)置為:查詢</p><p> Command2 標(biāo)題:caption 設(shè)置為:退出</p><p> 表格:顯示查詢結(jié)果 </p><p>
32、<b> 2)代碼設(shè)計</b></p><p> 命令按鈕command1的Click事件代碼:</p><p> set safety off</p><p> if thisform.optiongroup1.option1.value=1</p><p> select 成績.學(xué)號,學(xué)生.姓名,成績.課程
33、號,課程表.課程名,成績.成績 from 成績,學(xué)生,課程表;</p><p> where 成績.學(xué)號=學(xué)生.學(xué)號 and 成績.課程號=課程表.課程號 and alltrim(成績.課程號)=alltrim(thisform.text1.value);</p><p> order by 成績.成績 asc into table cxb1</p><p>&
34、lt;b> else</b></p><p> select 成績.學(xué)號,學(xué)生.姓名,成績.課程號,課程表.課程名,成績.成績 from 成績,學(xué)生,課程表;</p><p> where 成績.學(xué)號=學(xué)生.學(xué)號 and 成績.課程號=課程表.課程號 and alltrim(成績.課程號)=alltrim(thisform.text1.value);</p&g
35、t;<p> order by 成績.成績 desc into table cxb1</p><p><b> endif </b></p><p> thisform.grid1.recordsource='cxb1'</p><p> thisform.refresh</p><
36、p> set safety on</p><p><b> 4.課程設(shè)計總結(jié) </b></p><p> 經(jīng)過一年的荒廢,我們對于VFP的一些知識已經(jīng)忘的快差不多了,所以這次的作業(yè)對我們來說,相當(dāng)?shù)木哂须y度。在翻閱過多份資料,我們小組正式進(jìn)入了工作,我們首先通過分工,確定每個人的任務(wù)。然后每個人開始做自己的工作。我的任務(wù)主要是負(fù)責(zé)系統(tǒng)設(shè)計的操作以及圖片的剪
37、裁。每次的操作都要求非常的縝密,因為在不斷的操作中,需要認(rèn)真仔細(xì)的檢查代碼,也許中間的一個標(biāo)點都有可能造成程序的中止。其實,性格粗心大意的我,對于這種仔細(xì)的活有些不合適,但是組員們能決定將這項工作交給我,我將會盡自己最大的努力去完成。在不斷的“語法錯誤”、“命令無法識別”等等一些問題中,我終于完成自己工作。由于有時操作忘了截圖又讓我頭疼,通常是這項完成后,又忙著去找前幾個的代碼、圖片,工作也在這樣的不斷重復(fù)著持續(xù)到最后。</p&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- vfp課程設(shè)計--學(xué)生成績管理系統(tǒng)
- vfp課程設(shè)計報告---學(xué)生成績管理系統(tǒng)
- vfp課程設(shè)計報告--- 班級學(xué)生成績管理系統(tǒng)
- vfp課程設(shè)計報告---學(xué)生成績查詢系統(tǒng)
- vfp學(xué)生成績管理系統(tǒng)設(shè)計報告
- vfp學(xué)生成績管理系統(tǒng)設(shè)計報告
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- 課程設(shè)計——學(xué)生成績管理系統(tǒng)
- 課程設(shè)計---學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- 學(xué)生成績管理系統(tǒng) 課程設(shè)計
- 課程設(shè)計--學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- 課程設(shè)計-- 學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)課程設(shè)計
- 學(xué)生成績管理系統(tǒng)課程設(shè)計9
- 學(xué)生成績管理系統(tǒng)課程設(shè)計10
評論
0/150
提交評論