2015年計(jì)算機(jī)二級(jí)VFP考試上機(jī)操作題(12)

字號(hào):

點(diǎn)擊查看>>全國(guó)計(jì)算機(jī)等級(jí)考試題庫(kù)大全
    一、基本操作題(共4小題,第1和2題是7分、第3和4題是8分)
    在考生文件夾下,打開(kāi)招生數(shù)據(jù)庫(kù)SDB,完成如下操作:
    1.在KSB表中增加一個(gè)名為"備注"的字段、字段數(shù)據(jù)類型為"字符"、寬度為30。
    2.在考生成績(jī)表KSCJB中給成績(jī)字段設(shè)置有效性規(guī)則和默認(rèn)值,成績(jī)>=0 AND 成績(jī)<=150;默認(rèn)值為0。
    3.通過(guò)"考生號(hào)"字段建立KSB表和KSCJB表間的永久聯(lián)系,并為該聯(lián)系設(shè)置參照完整性約束:更新規(guī)則為"級(jí)聯(lián)";刪除規(guī)則為"限制";插入規(guī)則為"忽略"。
    4.使用報(bào)表向?qū)Ы⒁粋€(gè)簡(jiǎn)單報(bào)表。要求選擇考生表KSB中所有字段;記錄不分組;報(bào)表樣式為隨意式;列數(shù)為1,字段布局為"列",方向?yàn)?縱向";排序字段為"考生號(hào)"(升序);報(bào)表標(biāo)題為"考生成績(jī)一覽表";報(bào)表文件名為ONE.FRX。
    本題的主要考核點(diǎn):字段的添加、字段有效性規(guī)則的建立、默認(rèn)值的設(shè)置、建立兩個(gè)表之間的聯(lián)系、設(shè)置參照完整性、使用報(bào)表向?qū)е谱鲌?bào)表。
    解題思路:
    1、打開(kāi)KSB表設(shè)計(jì)器,將光標(biāo)移動(dòng)到后的空字段格中,輸入新的字段名、字段類型和寬度。
    2、打開(kāi)KSCJB表設(shè)計(jì)器,選擇"成績(jī)"字段,在其字段有效性規(guī)則欄中輸入:成績(jī)>=0.AND.成績(jī)<=150,在默認(rèn)值欄中輸入:0。
    3、在數(shù)據(jù)庫(kù)設(shè)計(jì)器中,選中KSB表中的索引"考生號(hào)"并拖動(dòng)到KSCJB表的"考生號(hào)"的索引上并松開(kāi),這樣兩個(gè)表之間就建立起了永久聯(lián)系。建立好永久聯(lián)系之后,在兩處表的"考生號(hào)"索引之間有一條線,單擊這條表示兩個(gè)表之間聯(lián)系的線,線會(huì)加粗,此時(shí)在主菜單中選擇"數(shù)據(jù)庫(kù)"中的"編輯參照完整性(I)",系統(tǒng)彈出"參照完整性生成器"對(duì)話框,在"更新規(guī)則"標(biāo)簽中,選擇"級(jí)聯(lián)"規(guī)則,在"刪除"規(guī)則中選擇"限制",在"插入規(guī)則"中選擇"忽略",單擊"確定"保存所編輯的參照完整性。
    4、啟動(dòng)報(bào)表向?qū)Э稍?文件"菜單中選擇"新建"或者單擊工具欄上的"新建"按鈕,打開(kāi)"新建"對(duì)話框,文件類型選擇報(bào)表,單擊向?qū)О粹o,然后按照向?qū)崾静僮骷纯伞?BR>    二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
    在考生文件夾下,打開(kāi)招生數(shù)據(jù)庫(kù)SDB,完成如下簡(jiǎn)單應(yīng)用:
    1.使用一對(duì)多表單向?qū)нx擇KSB表和KSCJB表生成一個(gè)名為TWO的表單。要求從父表KSB中選擇所有字段,從子表KSCJB中選擇所有字段,使用"考生號(hào)"建立兩表之間的關(guān)系,樣式為陰影式;按鈕類型為圖片按鈕;排序字段為考生號(hào)(來(lái)自KSB),升序;表單標(biāo)題為"考生數(shù)據(jù)輸入維護(hù)"。
    2.在考生文件夾下打開(kāi)命令文件THREE.PRG,該命令文件用來(lái)查詢所有成績(jī)都高于或等于平均分的學(xué)生的考生號(hào)和姓名。并將查詢結(jié)果存儲(chǔ)到表THREE中。
    注意,該命令文件在第3行、第6行、第9行有錯(cuò)誤,打開(kāi)該命令文件,直接在錯(cuò)誤處修改,不可改變SQL語(yǔ)句的結(jié)構(gòu)和短語(yǔ)的順序,不允許增加、刪除或合并行。
    本題主要考核點(diǎn):使用表單向?qū)е谱鞅韱?、修改程序文件?BR>    解題思路:
    第1題:?jiǎn)?dòng)表單向?qū)Э稍?文件"菜單中選擇"新建"或者單擊工具欄上的"新建"按鈕,打開(kāi)"新建"對(duì)話框,文件類型選擇表單,單擊向?qū)О粹o,在"向?qū)нx取"對(duì)話框中選擇"一對(duì)多表單向?qū)?,然后按照表單向?qū)Р僮骷纯伞?BR>    第2題:利用"文件"菜單下的"打開(kāi)"命令打開(kāi)程序文件THREE.PRG。將命令文件修改為:
    SELECT AVG(成績(jī));
    FROM kscjb;
    INTO ARRAY tem
    SELECT 考生號(hào),姓名;
    FROM ksb;
    WHERE not exists;
    ( SELECT *;
    FROM kscjb;
    WHERE 成績(jī)  INTO TABLE three
    三、綜合應(yīng)用(1小題,計(jì)30分)
    在考生文件夾下,打開(kāi)招生數(shù)據(jù)庫(kù)SDB,完成如下綜合應(yīng)用:
    1.創(chuàng)建文件名為form的表單,將表單標(biāo)題改為:錄取研究生。
    2.在表單中設(shè)計(jì)"錄取"和"退出"兩個(gè)按鈕。兩個(gè)按鈕功能分別如下:
    (1)在"錄取"按鈕(Command1)中,編寫程序,查詢總成績(jī)大于或等于330分的考生的考生號(hào)、姓名、性別、單位和該生的政治成績(jī)、外語(yǔ)成績(jī)、高數(shù)成績(jī)(即高等數(shù)學(xué)成績(jī))、專業(yè)課成績(jī)、總成績(jī),并將結(jié)果按總成績(jī)降序排序存儲(chǔ)到表FOUR中。
    表FOUR(需要自己創(chuàng)建或生成)的字段名為:考生號(hào)、姓名、性別、單位、政治成績(jī)、外語(yǔ)成績(jī)、高數(shù)成績(jī)、專業(yè)課成績(jī)、總成績(jī)(各成績(jī)字段的類型為N(5,1),其他字段的類型與原表中一致)。
    (2)單擊"退出"按鈕(Command2)時(shí),關(guān)閉表單。
    3.表單設(shè)計(jì)完成后,運(yùn)行表單,單擊"錄取"按鈕進(jìn)行統(tǒng)計(jì),然后單擊"退出"按鈕關(guān)閉表單。
    注:在考試科目代碼表DM中存儲(chǔ)了各考試科目與考試科目名對(duì)應(yīng)關(guān)系。
    本題主要考核點(diǎn):表單文件的創(chuàng)建、控件的屬性的修改、SQL語(yǔ)句運(yùn)用。
    解題思路:
    ①建立表單:可通過(guò)"文件"菜單下的"新建"命令或用命令CREATE FORM打開(kāi)表單設(shè)計(jì)器。
    ②在表單上添加兩個(gè)命令按鈕,并進(jìn)行適當(dāng)?shù)牟贾煤痛笮≌{(diào)整。
    ③設(shè)置窗體和命令按鈕的Caption屬性值。
    ④設(shè)置"錄取"按鈕的Click事件代碼:
    close all
    CREATE TABLE test(考生號(hào) C(4),政治成績(jī) N(5,1),外語(yǔ)成績(jī) N(5,1),高數(shù)成績(jī) N(5,1),專業(yè)課成績(jī) N(5,1),總成績(jī) N(5,1))
    use
    select 2
    use test
    select 1
    use kscjb
    do while .not.eof()
    select test
    locate for 考生號(hào)=kscjb->考生號(hào)
    if not found() then
    append blank
    replace 考生號(hào) with kscjb->考生號(hào)
    endif
    do case
    case kscjb->考試科目="101"
    replace 政治成績(jī) with kscjb->成績(jī)
    case kscjb->考試科目="102"
    replace 外語(yǔ)成績(jī) with kscjb->成績(jī)
    case kscjb->考試科目="103"
    replace 高數(shù)成績(jī) with kscjb->成績(jī)
    case kscjb->考試科目="104"
    replace 專業(yè)課成績(jī) with kscjb->成績(jī)
    endcase
    select kscjb
    skip
    enddo
    close all
    update test set 總成績(jī)=政治成績(jī)+外語(yǔ)成績(jī)+高數(shù)成績(jī)+專業(yè)課成績(jī)
    SELECT Ksb.考生號(hào), Ksb.姓名, Ksb.性別, Ksb.單位, Test.政治成績(jī),;
    Test.外語(yǔ)成績(jī), Test.高數(shù)成績(jī), Test.專業(yè)課成績(jī), Test.總成績(jī);
    FROM sdb!ksb INNER JOIN test ;
    ON Ksb.考生號(hào)=Test.考生號(hào);
    WHERE Test.總成績(jī)>=330;
    ORDER BY Test.總成績(jī) DESC INTO TABLE four
    ⑤設(shè)置"退出"按鈕的Click事件代碼:
    Release Thisform
    ⑥保存表單并運(yùn)行,單擊"錄取"按鈕,再單擊"退出"按鈕。