張世軍
摘要:Visual FoxPro是一個(gè)可運(yùn)行于Windows平臺(tái)之上的32位數(shù)據(jù)庫(kù)。由于它具有強(qiáng)大的數(shù)據(jù)處理功能,具有簡(jiǎn)單、方便的操作方法,具有美觀的用戶界面和直觀、易用的編程工具。本文介紹了用Visual FoxPro開發(fā)學(xué)生信息管理系統(tǒng)的全過(guò)程,該系統(tǒng)可以對(duì)學(xué)生各類信息進(jìn)行管理,包括信息編輯、查詢、統(tǒng)計(jì)、打印等功能。
關(guān)鍵詞:Visual FoxPro;學(xué)生;信息管理
中圖分類號(hào):TP315 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)10-0101-02
隨著國(guó)家對(duì)職業(yè)教育的重視與大力支持,近年來(lái),中等職業(yè)學(xué)校規(guī)模不斷擴(kuò)大,有關(guān)學(xué)生的各種信息量急劇增加,龐大學(xué)生信息的管理工作成了中等職業(yè)學(xué)校教學(xué)管理工作中的一項(xiàng)重要任務(wù),要高效率地把內(nèi)部活動(dòng)有機(jī)地組織起來(lái),就必須建立與自身特點(diǎn)相適應(yīng)的管理信息系統(tǒng)。本系統(tǒng)主要任務(wù)是對(duì)學(xué)生資料進(jìn)行處理,包括增加、修改、刪除、查詢、統(tǒng)計(jì)、打印等。
1 系統(tǒng)結(jié)構(gòu)
本系統(tǒng)只有一個(gè)文件,由五個(gè)基礎(chǔ)表和若于查詢、視圖、表單和報(bào)表等組成。表中存放學(xué)生的基本信息,用戶界面以表單形式顯示。
2創(chuàng)建數(shù)據(jù)庫(kù)和表
1)啟動(dòng)Visual FoxPro創(chuàng)建數(shù)據(jù)庫(kù)“學(xué)生信息管理”。
2)創(chuàng)建表
①表的結(jié)構(gòu)
學(xué)生信息表xsxx.dbf(學(xué)號(hào)、姓名、性別、民族、出生日期、家庭地址、班級(jí)、班主任、入學(xué)成績(jī)、獎(jiǎng)懲、照片)
課程表kc.dbf(學(xué)號(hào),編號(hào),課程名稱)
成績(jī)表cj.dbf(編號(hào),成績(jī))
雨露計(jì)劃表yljh.dbf(學(xué)號(hào)、第一學(xué)年、第二學(xué)年、合計(jì))
助學(xué)金表zxj.dbf(學(xué)號(hào)、第一學(xué)期、第二學(xué)期、第三學(xué)期、第四學(xué)期、合計(jì))
②創(chuàng)建表
使用表設(shè)計(jì)器創(chuàng)建xsxx.dbf、kc.dbf、cj.dbf 、yljh.dbf、zxj.dbf五個(gè)表。
③創(chuàng)建表間關(guān)系
建立學(xué)號(hào)對(duì)學(xué)號(hào),編號(hào)對(duì)編號(hào)的關(guān)系。
3 創(chuàng)建報(bào)表
本部分主要建立系統(tǒng)結(jié)構(gòu)中的“打印信息”部分。
①以xsxx.dbf為數(shù)據(jù)源創(chuàng)建報(bào)表xs.frx。
②以xsxx.dbf、kc.dbf、cj.dbf三個(gè)表為數(shù)據(jù)源創(chuàng)建報(bào)表xscjd.frx。
③以xsxx.dbf、yljh.dbf兩個(gè)表為數(shù)據(jù)源創(chuàng)建報(bào)表xsyljh.frx。
④以xsxx.dbf、zxj.dbf兩個(gè)表為數(shù)據(jù)源創(chuàng)建報(bào)表xszxj.frx。
4 創(chuàng)建表單
1)創(chuàng)建學(xué)生信息查詢表單xsxxcx.scx。如圖1。
①按學(xué)號(hào)查詢按鈕代碼:
select xsda
set filter to alltrim(xsda.學(xué)號(hào))==alltrim(thisform.text1.value)
count all to rs
go top
thisform.refresh
if rs=0
messagebox('查無(wú)此人!',0+64)
endif
②按姓名查詢按鈕代碼:
select xsda
set filter to alltrim(xsda.姓名)==alltrim(thisform.text2.value)
count all to rs
go top
thisform.refresh
if rs=0
messagebox('查無(wú)此人!',0+64)
endif
③按班級(jí)查詢按鈕代碼:
select xsda
set filter to alltrim(xsda.班級(jí))==alltrim(thisform.text3.value)
count all to rs
go top
thisform.refresh
if rs=0
messagebox('查無(wú)此班級(jí)!',0+64)
endif
2)創(chuàng)建成績(jī)查詢表單cjcx.scx。如圖2。
①按學(xué)號(hào)查詢按鈕代碼:
select xsxx.學(xué)號(hào),姓名,班級(jí),課程名稱,成績(jī) from xsgl!xsxx,xsgl!kc,xsgl!cj;
where xsxx.學(xué)號(hào)==alltrim(thisform.text1.value) and xsxx.學(xué)號(hào)=kc.學(xué)號(hào) and kc.編號(hào)=cj.編號(hào) into cursor xhcj
browse
②按姓名查詢按鈕代碼:
select distinct xsxx.學(xué)號(hào),姓名,班級(jí),課程名稱,成績(jī) from xsgl!xsxx,xsgl!kc,xsgl!cj;
where xsxx.姓名==alltrim(thisform.text2.value) and xsxx.學(xué)號(hào)=kc.學(xué)號(hào) and kc.編號(hào)=cj.編號(hào) into cursor xmcj
③按班級(jí)查詢按鈕代碼:
select distinct xsxx.學(xué)號(hào),姓名,班級(jí),課程名稱,成績(jī) from xsgl!xsxx,xsgl!kc,xsgl!cj;
where xsxx.班級(jí)==alltrim(thisform.text3.value) and xsxx.學(xué)號(hào)=kc.學(xué)號(hào) and kc.編號(hào)=cj.編號(hào) into cursor bjcj
3)創(chuàng)建打印信息表單dyxx.scx。如圖3。
①學(xué)生信息按鈕代碼
modify report xs.frx
report form xs.frx to printer
②學(xué)生成績(jī)單按鈕代碼
modify report xscjd.frx
report form xscjd.frx to printer
③學(xué)生雨露計(jì)劃按鈕代碼
modify report xsyljh.frx
report form xsyljh.frx to printer
④學(xué)生助學(xué)金按鈕代碼
modify report xszxj.frx
report form xszxj.frx to printer
⑤返回按鈕代碼
thisform.release
4)創(chuàng)建進(jìn)入系統(tǒng)表單drxt.scx。如圖4。
①學(xué)生信息查詢按鈕代碼
do form xsxxcx.scx
②成績(jī)查詢按鈕代碼
do form cjcx.scx
③打印信息按鈕代碼
do form dyxx.scx
④錄入新生按鈕代碼
use xsxx.dbf
append
⑤返回按鈕代碼
thisform.release
5)創(chuàng)建主界面表單ZJM.SCX。如圖5。
①進(jìn)入系統(tǒng)按鈕代碼
do form drxt.scx
②退出系統(tǒng)按鈕代碼
thisform.release
參考文獻(xiàn):
[1] 周察金.數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ)—VisualFoxPro[M]. 3版.北京:高等教育出版社,2012.
[2] 周察金.VisualFoxPro 學(xué)習(xí)輔導(dǎo)與上機(jī)實(shí)習(xí)[M]. 3版.北京:高等教育出版社,2012.
[3] 劉建臣.Visual FoxPro程序設(shè)計(jì)教程[M]. 北京:清華大學(xué)出版社,2011.
[4] 劉瑞新.Visual FoxPro程序設(shè)計(jì)教程[M]. 北京:電子工業(yè)出版社,2010.
[5] 王娟.數(shù)據(jù)庫(kù)基礎(chǔ)及Visual FoxPro程序設(shè)計(jì)教程[M].沈陽(yáng):東北大學(xué)出版社,2011.