电竞比分网-中国电竞赛事及体育赛事平台

分享

Visual FoxPro 課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告

 老狗布魯丁 2015-01-29

 

 

 

中國(guó)最大的商務(wù)辦公文檔下載基地: http://www./

 

------------------------------------------------------------------------

┆項(xiàng)目方案  調(diào)查報(bào)告  可研分析  廣告策劃  案例分析┆

┆商業(yè)計(jì)劃  項(xiàng)目管理  電子商務(wù)  財(cái)稅管理  法律文書┆

┆戰(zhàn)略管理  企業(yè)文化  行政管理  人力資源  管理制度┆

┆合同文本  個(gè)人簡(jiǎn)歷  年終總結(jié)  公文寫作  視頻講座┆

------------------------------------------------------------------------

中國(guó)文案:www.  中國(guó)商務(wù)辦公文案的下載基地......

娛樂中國(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)

.開發(fā)軟件

VFP6.0

.課題要求

(1) 掌握課堂講授的基本數(shù)據(jù)庫知識(shí)和VFP的基本技巧:

   1. 數(shù)據(jù)庫管理系統(tǒng)合數(shù)據(jù)庫應(yīng)用系統(tǒng);

   2. VFP的界面組成與操作;

   3. VFP的工作方式;

   4. 標(biāo)的基本操作(表的建立與修改、表達(dá)式、維護(hù)命令);

   5. 表的查詢與統(tǒng)計(jì)(排序與索引,SELECT-SQL查詢,數(shù)據(jù)庫于視圖);

   6. 程序設(shè)計(jì)初步(程序文件,程序的控制,多模塊程序)。

(2) 自學(xué)部分書本關(guān)于VFP的內(nèi)容:

   1. 菜單設(shè)計(jì);

   2. 表單設(shè)計(jì);

   3. 表單控件設(shè)計(jì);

   4. 實(shí)例:汽車修理管理系統(tǒng)的開發(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ù)庫知識(shí),熟悉VFP的使用。學(xué)習(xí)VFP數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)的一般步驟:

1.       需求分析

2.       數(shù)據(jù)庫設(shè)計(jì)

3.       應(yīng)用程序設(shè)計(jì)

4.       軟件的運(yùn)行測(cè)試

通過簡(jiǎn)單的系統(tǒng)設(shè)計(jì)、開發(fā),激發(fā)學(xué)生的學(xué)習(xí)興趣和動(dòng)手能力。

.設(shè)計(jì)時(shí)間

12周——第19

.設(shè)計(jì)主要流程

流程圖:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


(1) 數(shù)據(jù)庫設(shè)計(jì)

根據(jù)此系統(tǒng)需要建立數(shù)據(jù)庫sexxdb.dbc,數(shù)據(jù)庫中有如下幾個(gè)數(shù)據(jù)表:student.dbfcourse.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í)將無法使用系統(tǒng)的維護(hù)功能。下面就各個(gè)表單功能和使用作如下簡(jiǎn)述:

1. 用戶登錄

先選擇用戶類型:普通用戶、管理員,輸入密碼,按確定鍵進(jìn)入(按重寫鍵重新填寫;按退出鍵退出系統(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ù)”鍵是否可用。

“重寫”鍵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ù)”鍵可否使用是通過form.activate來實(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)修改。按“退出”鍵退出此界面。

此界面中optiongroup1click事件代碼為:

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ì)界面

通過選擇組合框中的選項(xiàng),可以統(tǒng)計(jì)個(gè)人成績(jī)或某一課程的成績(jī)。

此界面中optiongroup1click事件代碼為:

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)。查看“重寫”、“退出”按鈕是否有效。

進(jìn)入系統(tǒng)界面,查看“維護(hù)”鍵是否可用(用戶為管理員時(shí)才可用);點(diǎn)擊“查詢”鍵進(jìn)入查詢界面,點(diǎn)擊頁框的“學(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)無法修改);然后單擊“進(jìn)行修改”按鈕,在檢查列表能否修改(正常應(yīng)當(dāng)可以修改);單擊“確定”確認(rèn)修改,在查看列表能否修改(正常應(yīng)當(dāng)無法修改)。以此方法檢查“課程信息”、“成績(jī)信息”選項(xiàng)。

.系統(tǒng)實(shí)現(xiàn)的功能

  查詢、統(tǒng)計(jì)、維護(hù)(添加、刪除、修改)

.設(shè)計(jì)中遇到的主要問題,解決方法

主要問題:代碼編寫問題、數(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è)功能、修改密碼功能;

可使用菜單。

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多