中國(guó)最大的商務(wù)辦公文檔下載基地: http://www./
╔------------------------------------------------------------------------╗ ┆項(xiàng)目方案 調(diào)查報(bào)告 可研分析 廣告策劃 案例分析┆ ┆商業(yè)計(jì)劃 項(xiàng)目管理 電子商務(wù) 財(cái)稅管理 法律文書(shū)┆ ┆戰(zhàn)略管理 企業(yè)文化 行政管理 人力資源 管理制度┆ ┆合同文本 個(gè)人簡(jiǎn)歷 年終總結(jié) 公文寫(xiě)作 視頻講座┆ ╚------------------------------------------------------------------------╝ 中國(guó)文案:www. 中國(guó)商務(wù)辦公文案的下載基地...... 娛樂(lè)中國(guó):www. v. 免費(fèi)電影下載 在線電影觀看...... 辦公休閑小游戲:www. 超多FLASH游戲免費(fèi)玩...... 以下為文案正文:
Visual FoxPro 課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 ——“學(xué)生信息管理系統(tǒng)”
國(guó)貿(mào)2班 200204074224 佘楷
一.設(shè)計(jì)題目 學(xué)生信息管理系統(tǒng) 二.開(kāi)發(fā)軟件 VFP6.0 三.課題要求 (1) 掌握課堂講授的基本數(shù)據(jù)庫(kù)知識(shí)和VFP的基本技巧: 1. 數(shù)據(jù)庫(kù)管理系統(tǒng)合數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),; 2. VFP的界面組成與操作; 3. VFP的工作方式,; 4. 標(biāo)的基本操作(表的建立與修改、表達(dá)式、維護(hù)命令); 5. 表的查詢與統(tǒng)計(jì)(排序與索引,,SELECT-SQL查詢,數(shù)據(jù)庫(kù)于視圖),; 6. 程序設(shè)計(jì)初步(程序文件,程序的控制,多模塊程序),。 (2) 自學(xué)部分書(shū)本關(guān)于VFP的內(nèi)容: 1. 菜單設(shè)計(jì),; 2. 表單設(shè)計(jì); 3. 表單控件設(shè)計(jì),; 4. 實(shí)例:汽車修理管理系統(tǒng)的開(kāi)發(fā),。 (3) 要求能夠獨(dú)立設(shè)計(jì)。完成一個(gè)簡(jiǎn)單的學(xué)生信息管理系統(tǒng),,此系統(tǒng)必須有如下基本功能: 1. 數(shù)據(jù)的查詢,; 2. 記錄的增加,刪除,,修改等功能,; 3. 系統(tǒng)界面良好; 4. 操作方便,,運(yùn)行穩(wěn)定,。 四.目的 掌握基本的數(shù)據(jù)庫(kù)知識(shí),熟悉VFP的使用,。學(xué)習(xí)VFP數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)的一般步驟: 1. 需求分析 2. 數(shù)據(jù)庫(kù)設(shè)計(jì) 3. 應(yīng)用程序設(shè)計(jì) 4. 軟件的運(yùn)行測(cè)試 通過(guò)簡(jiǎn)單的系統(tǒng)設(shè)計(jì),、開(kāi)發(fā),激發(fā)學(xué)生的學(xué)習(xí)興趣和動(dòng)手能力,。 五.設(shè)計(jì)時(shí)間 第12周——第19周 六.設(shè)計(jì)主要流程 流程圖:
(1) 數(shù)據(jù)庫(kù)設(shè)計(jì) 根據(jù)此系統(tǒng)需要建立數(shù)據(jù)庫(kù)sexxdb.dbc,,數(shù)據(jù)庫(kù)中有如下幾個(gè)數(shù)據(jù)表:student.dbf、course.dbf,、score.dbf,、password.dbf、passwordm.dbf,。 student..dbf記錄的是學(xué)生的個(gè)人信息,,如:學(xué)號(hào)、姓名,、性別,、民族、出生日期,、所在專業(yè),、籍貫。 Course.dbf記錄的是有關(guān)課程的信息,,如:課程編號(hào),、課程名稱、學(xué)分,、任課老師,。 Score.dbf記錄的是每個(gè)同學(xué)不同科目的考試成績(jī),,有以下這些內(nèi)容:課程編號(hào)、課程名稱,、學(xué)號(hào),、成績(jī)。 Password.dbf記錄系統(tǒng)普通用戶的用戶名和密碼,。 Passwordm.dbf記錄系統(tǒng)管理員的用戶名和密碼,。 (2) 應(yīng)用程序設(shè)計(jì) 由于本系統(tǒng)是多用戶登陸,當(dāng)是管理員登陸時(shí)此系統(tǒng)的所有功能都可能用,,當(dāng)是普通用戶登陸時(shí)此系統(tǒng)時(shí)將無(wú)法使用系統(tǒng)的維護(hù)功能,。下面就各個(gè)表單功能和使用作如下簡(jiǎn)述: 1. 用戶登錄 先選擇用戶類型:普通用戶、管理員,,輸入密碼,,按確定鍵進(jìn)入(按重寫(xiě)鍵重新填寫(xiě);按退出鍵退出系統(tǒng)),。主要代碼如下: optiongroup1.click事件: do case case this.value=0 thisform.combo1.rowsource="" case this.value=1 thisform.combo1.rowsource="password.用戶名" case this.value=2 thisform.combo1.rowsource="passwordm.管理員" endcase “確定”鍵command1.click事件: public
guest private
Password1 do case case thisform.optiongroup1.value=1 select password password1=alltrim(thisform.text1.value) locate for alltrim(用戶名)==alltrim(thisform.combo1.value) if found() and password1==alltrim(密碼) guest=2 thisform.release do form main.scx else =messagebox("用戶名或密碼錯(cuò)誤,請(qǐng)重新輸入!") thisform.text1.setfocus endif case thisform.optiongroup1.value=2 select passwordm password1=alltrim(thisform.text1.value) locate for alltrim(管理員)==alltrim(thisform.combo1.value) if found() and password1==alltrim(密碼) guest=1 thisform.release do form main.scx else =messagebox("用戶名或密碼錯(cuò)誤,請(qǐng)重新輸入!") thisform.text1.setfocus endif endcase 在此代碼中定義了公共變量guest,,是為了判斷用戶類型以確定進(jìn)入系統(tǒng)界面后“維護(hù)”鍵是否可用。 “重寫(xiě)”鍵command2.click事件: thisform.combo1.value="" thisform.text1.value="" thisform.text1.setfocus “退出”鍵command3.click事件: thisform.release 2. 系統(tǒng)界面 當(dāng)使用者是普通用戶時(shí),,系統(tǒng)界面中的“維護(hù)”鍵是不可用的,。 當(dāng)管理員登陸時(shí)則可以使用“維護(hù)”鍵。 “維護(hù)”鍵可否使用是通過(guò)form.activate來(lái)實(shí)現(xiàn)的: if guest=1 thisform.Command2.enabled=.t. else thisform.Command2.enabled=.f. endif “查詢”,、“維護(hù)”,、“統(tǒng)計(jì)”、“退出”鍵的click代碼分別為: do form
chaxun.scx do form
weihu.scx do form
statistic.scx thisform.release do form logo 3. 查詢界面 用戶可以在此查詢學(xué)生信息,、課程信息和成績(jī)信息,。 查詢學(xué)生信息時(shí)“確定”鍵的代碼是: thisform.pageframe1.page1.grid1.recordsource="" XH=alltrim(thisform.pageframe1.page1.text1.value) thisform.pageframe1.page1.grid1.recordsource="select
student.學(xué)號(hào), student.姓名, student.性別,
student.民族, student.出生日期, student.專業(yè),
student.籍貫 from student where alltrim(學(xué)號(hào))==XH or alltrim(姓名)==XH into cursor temp" thisform.pageframe1.page1.text1.value="" 查詢課程信息時(shí)的代碼為: kcmc=alltrim(thisform.pageframe1.page2.text1.value) thisform.pageframe1.page2.grid1.recordsource="select
course.課程編號(hào), course.課程名稱, course.學(xué)分,
course.任課老師 from course where alltrim(課程名稱)=kcmc or alltrim(課程編號(hào))=kcmc into cursor temp" thisform.pageframe1.page2.text1.value="" 查詢成績(jī)信息時(shí)的代碼為: xh=alltrim(thisform.pageframe1.page3.text1.value) thisform.pageframe1.page3.grid1.recordsource="select
student.學(xué)號(hào),student.姓名,course.課程名稱,score.成績(jī) from student,course,score where
alltrim(score.學(xué)號(hào))==xh and alltrim(student.學(xué)號(hào))==alltrim(score.學(xué)號(hào)) and alltrim(course.課程編號(hào))==alltrim(score.課程編號(hào)) into cursor temp" thisform.pageframe1.page3.text1.value="" 4. 維護(hù)界面 只有管理員才能進(jìn)入此界面。 進(jìn)入此界面后,,選擇組合框里的一項(xiàng)可以查詢此項(xiàng)的數(shù)據(jù),,但不能修改,只有按下“進(jìn)行修改”鍵后才能進(jìn)行修改,,修改后按“確定”鍵確認(rèn)修改,。按“退出”鍵退出此界面。 此界面中optiongroup1的click事件代碼為: do case case
thisform.optiongroup1.option1.value=1 thisform.grid1.recordsource="student" thisform.grid1.refresh case
thisform.optiongroup1.option2.value=1 thisform.grid1.recordsource="course" thisform.grid1.refresh case
thisform.optiongroup1.option3.value=1 thisform.grid1.recordsource="score" thisform.grid1.refresh endcase thisform.command1.enabled=.t. thisform.command2.enabled=.t. thisform.command3.enabled=.t. “進(jìn)行修改”鍵的click代碼為: thisform.grid1.enabled=.t. thisform.grid1.readonly=.f. thisform.grid1.allowaddnew=.t. thisform.grid1.setfocus thisform.command1.enabled=.f. “確定”鍵的click代碼為: use thisform.grid1.enabled=.t. thisform.grid1.allowaddnew=.f. thisform.grid1.readonly=.t. &&thisform.grid1.recordsource="" thisform.grid1.refresh thisform.command1.enabled=.t. thisform.command2.enabled=.f. thisform.command3.enabled=.f. 5. 統(tǒng)計(jì)界面 通過(guò)選擇組合框中的選項(xiàng),,可以統(tǒng)計(jì)個(gè)人成績(jī)或某一課程的成績(jī),。 此界面中optiongroup1的click事件代碼為: Do case Case
this.value=0 Thisform.combo1.rowsource="" Case
this.value=1 Thisform.combo1.rowsource="student.學(xué)號(hào)" Case
this.value=2 Thisform.combo1.rowsource="course.課程名稱" Endcase “確定”鍵的click代碼為: do case case thisform.optiongroup1.value=1 xh=alltrim(thisform.combo1.value) select
score calculate
max(成績(jī)),min(成績(jī)),avg(成績(jī)),cnt(); for 學(xué)號(hào)=xh
to a1,a2,a3,a4 &&顯示統(tǒng)計(jì)結(jié)果 Thisform.text1.value=alltrim(str(a1)) Thisform.text2.value=alltrim(str(a2)) Thisform.text3.value=alltrim(str(a3)) Thisform.text4.value=alltrim(str(a4)) Case
thisform.optiongroup1.value=2 Kcmc=alltrim(thisform.combo1.value) Select course Locate for 課程名稱=kcmc Select
score Calculate max(成績(jī)),min(成績(jī)),avg(成績(jī)),cnt(); For 課程名稱=kcmc
to a1,a2,a3,a4 &&顯示統(tǒng)計(jì)結(jié)果 Thisform.text1.value=alltrim(str(a1)) Thisform.text2.value=alltrim(str(a2)) Thisform.text3.value=alltrim(str(a3)) Thisform.text4.value=alltrim(str(a4)) Endcase (3) 程序測(cè)試 登陸系統(tǒng),選擇選項(xiàng)按鈕組中的“普通用戶”,,在組合框中選擇用戶(如用 “王儀”登陸,,密碼為111111),查看能否登陸,。以此相同方法查看“管理員”選項(xiàng),。查看“重寫(xiě)”,、“退出”按鈕是否有效。 進(jìn)入系統(tǒng)界面,,查看“維護(hù)”鍵是否可用(用戶為管理員時(shí)才可用),;點(diǎn)擊“查詢”鍵進(jìn)入查詢界面,,點(diǎn)擊頁(yè)框的“學(xué)生信息”一項(xiàng),,在文本框中輸入學(xué)號(hào)或姓名(如1或王儀),單擊“確定”,,查看列表框中是否顯示相應(yīng)的信息,。依此方法查看“課程信息”、“成績(jī)信息”,。然后單擊“退出”,。 點(diǎn)擊“統(tǒng)計(jì)”進(jìn)入統(tǒng)計(jì)界面,選擇選項(xiàng)按鈕組中的“個(gè)人統(tǒng)計(jì)”選項(xiàng),,在組合框中選擇學(xué)號(hào)(如1),,單擊“,確定”,,查看右側(cè)文本框中的數(shù)據(jù)是否正確,。以相同方法檢查“課程統(tǒng)計(jì)”選項(xiàng)。然后單擊“退出”,。 點(diǎn)擊“維護(hù)”(當(dāng)用戶為管理員時(shí)),,選擇選項(xiàng)按鈕組中的“學(xué)生信息”選項(xiàng),然后單擊列表,,檢查能否修改(正常應(yīng)當(dāng)無(wú)法修改),;然后單擊“進(jìn)行修改”按鈕,在檢查列表能否修改(正常應(yīng)當(dāng)可以修改),;單擊“確定”確認(rèn)修改,,在查看列表能否修改(正常應(yīng)當(dāng)無(wú)法修改)。以此方法檢查“課程信息”,、“成績(jī)信息”選項(xiàng),。 七.系統(tǒng)實(shí)現(xiàn)的功能 查詢、統(tǒng)計(jì),、維護(hù)(添加,、刪除、修改) 八.設(shè)計(jì)中遇到的主要問(wèn)題,,解決方法 主要問(wèn)題:代碼編寫(xiě)問(wèn)題,、數(shù)據(jù)表的關(guān)聯(lián)、數(shù)據(jù)環(huán)境 解決方法:注意中英文輸入法切換,;注意主索引的設(shè)置,;添加數(shù)據(jù)表,。 九.心得體會(huì) 符號(hào)輸入不可用中文輸入法 出現(xiàn)錯(cuò)誤時(shí)從使用“掛起”,查看代碼何處發(fā)生錯(cuò)誤,,查看控件屬性,。 十.系統(tǒng)需要改善之處,改善方法的構(gòu)思 該系統(tǒng)比較簡(jiǎn)單,,功能較少,; 可添加報(bào)表功能、用戶注冊(cè)功能,、修改密碼功能,; 可使用菜單。
|
|
來(lái)自: 老狗布魯丁 > 《研究報(bào)告》