計(jì)算機(jī)等級(jí)考試:二級(jí)VFP機(jī)試第44套

字號(hào):

第四十四套
    一、基本操作題(共4小題,第1和2題是7分、第3和4題是8分)
    在考生目錄下完成如下操作:
     1. 建立菜單QUERY_MENU。該菜單只有"查詢(xún)"和"退出"兩個(gè)主菜單項(xiàng)(條形菜單),
     其中單擊菜單項(xiàng)"退出"時(shí),返回到VFP系統(tǒng)菜單(相應(yīng)命令寫(xiě)在命令框中,不要
     寫(xiě)在過(guò)程中)。
     2. 將COURSE表的"開(kāi)課系部"字段名改為"開(kāi)課單位",其余不變。
     3. 從數(shù)據(jù)庫(kù)SCORE_MANAGER中移去表TEMP2.DBF(不是刪除)。
     4. 將SCORE1表中記錄按學(xué)號(hào)從低到高排序,在學(xué)號(hào)相同的情況下再按成績(jī)從高
     到低排序,排序結(jié)果存入表NEW_ORDER。
    本題主要考核點(diǎn):
    菜單的建立、字段改名、數(shù)據(jù)庫(kù)表的邏輯刪除、表的排序及查詢(xún)?nèi)ハ虻戎R(shí)點(diǎn)
    本題解題思路:
    第1題:本題的主要考核點(diǎn)是菜單的建立。新建菜單可按下列步驟:選擇"文件"菜單中的"新建"命令,在"新建"對(duì)話框中選擇"菜單",單擊"新建文件"按鈕。在"新建菜單"對(duì)話框中選擇"菜單"按鈕,調(diào)出"菜單設(shè)計(jì)器"。也可用CREATE MENU命令直接調(diào)出菜單設(shè)計(jì)器。在菜單名稱(chēng)中填入"查詢(xún)"、"退出","退出"結(jié)果為命令"SET SYSMENU TO DEFAULT"。
    第2題:本題的主要考核點(diǎn)是字段的改名。
    打開(kāi)COURSE表表設(shè)計(jì)器,將光標(biāo)移動(dòng)到"開(kāi)課系部"字段格中,將其改為"開(kāi)課單位"。
    第3題:本題的主要考核點(diǎn)是數(shù)據(jù)庫(kù)表的邏輯刪除。
    打開(kāi)考生文件夾下的" SCORE_MANAGER "數(shù)據(jù)庫(kù),在" SCORE_MANAGER "數(shù)據(jù)庫(kù)設(shè)計(jì)器中,選中"TEMP2"表,點(diǎn)擊主菜單"數(shù)據(jù)庫(kù)"下的"移去",在彈出的對(duì)話框中點(diǎn)擊"移去"按鈕,在隨后彈出的對(duì)話框中點(diǎn)擊"是"按鈕,至此便完成了"從數(shù)據(jù)庫(kù)"SCORE_MANAGER"中移去表TEMP2(不是刪除)"的操作。
    第4題:本題的主要考核點(diǎn)是表的排序知識(shí),查詢(xún)?nèi)ハ颉?BR>    select * from score1 order by 學(xué)號(hào),成績(jī) desc;
    into table new_order
    二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
     在考生文件夾下完成如下簡(jiǎn)單應(yīng)用:
     1. 在SCORE_MANAGER數(shù)據(jù)庫(kù)中統(tǒng)計(jì)選修了課程的學(xué)生人數(shù)(選修多門(mén)時(shí),只
    計(jì)算1次),統(tǒng)計(jì)結(jié)果保存在一個(gè)新表NEW_TABLE中,表中只有一個(gè)字段,字段名
    為學(xué)生人數(shù)。
     2. 在SCORE_MANAGER數(shù)據(jù)庫(kù)中查詢(xún)沒(méi)有學(xué)生選修的課程,查詢(xún)結(jié)果含"課程
    名"和"開(kāi)課單位"字段,結(jié)果按課程名升序保存在一個(gè)新表NEW_TABLE2中(注意:
    字段名"開(kāi)課單位"是在基本操作中根據(jù)"開(kāi)課系部"修改后的字段名)。
    本題主要考核點(diǎn):
    本題的主要考核點(diǎn)是SQL查詢(xún)語(yǔ)句的使用,查詢(xún)?nèi)ハ虻戎R(shí)點(diǎn)。
    本題解題思路:
    第1題: 本題可以通過(guò)新建一個(gè)程序來(lái)實(shí)現(xiàn)統(tǒng)計(jì),相關(guān)代碼如下所示:
    SELECT Student.姓名;
     FROM course INNER JOIN score1;
     INNER JOIN student ;
     ON Student.學(xué)號(hào) = Score1.學(xué)號(hào) ;
     ON Course.課程號(hào) = Score1.課程號(hào);
     WHERE Course.課程號(hào) = score1.課程號(hào);
     GROUP BY Student.姓名;
     into cursor temp
    select count(姓名) AS 學(xué)生人數(shù) from temp;
    into table NEW_TABLE
     第2題:本題的主要考核點(diǎn)是SQL查詢(xún)語(yǔ)句的使用。
     SELECT Course.課程名, Course.開(kāi)課單位;
     FROM course LEFT OUTER JOIN score1;
     LEFT OUTER JOIN student ;
     ON Student.學(xué)號(hào) = Score1.學(xué)號(hào) ;
     ON Course.課程號(hào) = Score1.課程號(hào);
     WHERE Course.課程號(hào) !=Score1.課程號(hào);
     ORDER BY Course.課程名;
    INTO TABLE new_table2.dbf
    三、綜合應(yīng)用(1小題,計(jì)30分)
     SCORE_MANAGER數(shù)據(jù)庫(kù)中含有三個(gè)數(shù)據(jù)庫(kù)表STUDENT、SCORE1和COURSE。
     為了對(duì)SCORE_MANAGER數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行查詢(xún),設(shè)計(jì)一個(gè)表單Myform3(控件名為
    form1,表單文件名為Myform3)。表單標(biāo)題為"成績(jī)查詢(xún)";表單有"查詢(xún)"(名稱(chēng)為
    Command1)和"退出"(名稱(chēng)為Command2)兩個(gè)命令按鈕。表單運(yùn)行時(shí),單擊"查詢(xún)"
    按鈕,查詢(xún)每門(mén)課程的高分,查詢(xún)結(jié)果中含"課程名"和"高分"字段,結(jié)果按
    課程名升序保存在表NEW_TABLE3。
     單擊"退出"按鈕,關(guān)閉表單。
    本題主要考核點(diǎn):
     表單文件的創(chuàng)建、控件的屬性的修改、SQL語(yǔ)句運(yùn)用、表單的退出等知識(shí)點(diǎn)
    本題解題思路:
    第一步:在Visual FoxPro主窗口中按下組合鍵Ctrl+N,系統(tǒng)彈出"新建"對(duì)話框,在文件類(lèi)型中選擇"表單",點(diǎn)擊"新建文件"按鈕,系統(tǒng)將打開(kāi)表單設(shè)計(jì)器;或直接在命令窗口中輸入 crea form Myform3
    第二步:點(diǎn)擊工具欄按鈕"表單控件工具欄",在彈出的"表單控件"工具欄中,選中"命令按鈕"控件,在表單設(shè)計(jì)器中拖動(dòng)鼠標(biāo),這樣在表單上得到一個(gè)"命令按鈕"控件command1,用同樣的方法為表單再加入一個(gè)"命令按鈕"控件command2;
    相關(guān)控件的屬性值如下:
    對(duì)象 屬性 屬性值
    Form1 Caption 成績(jī)查詢(xún)
    Command1 Caption 查詢(xún)
    Command2 Caption 退出
    ****命令按鈕command1(查詢(xún))的Click事件代碼如下****
    SELECT Course.課程名, MAX(score1.成績(jī)) AS 高分;
     FROM course INNER JOIN score1;
     INNER JOIN student ;
     ON Student.學(xué)號(hào) = Score1.學(xué)號(hào) ;
     ON Course.課程號(hào) = Score1.課程號(hào);
     GROUP BY Course.課程名;
     INTO TABLE NEW_TABLE3
    ****命令按鈕command2(退出)的Click事件代碼如下****
     thisform.release