點(diǎn)擊查看:2015年計(jì)算機(jī)二級(jí)VFP考試練習(xí)及答案解析匯總
第12套
一、基本操作題(共4小題,第1和2題是7分、第3和4題是8分)
在考生文件夾下,打開招生數(shù)據(jù)庫SDB,完成如下操作:
1.在KSB表中增加一個(gè)名為"備注"的字段、字段數(shù)據(jù)類型為"字符"、寬度為30。
2.在考生成績表KSCJB中給成績字段設(shè)置有效性規(guī)則和默認(rèn)值,成績>=0 AND 成績<=150;默認(rèn)值為0。
3.通過"考生號(hào)"字段建立KSB表和KSCJB表間的永久聯(lián)系,并為該聯(lián)系設(shè)置參照完整性約束:更新規(guī)則為"級(jí)聯(lián)";刪除規(guī)則為"限制";插入規(guī)則為"忽略"。
4.使用報(bào)表向?qū)Ы⒁粋(gè)簡單報(bào)表。要求選擇考生表KSB中所有字段;記錄不分組;報(bào)表樣式為隨意式;列數(shù)為1,字段布局為"列",方向?yàn)?縱向";排序字段為"考生號(hào)"(升序);報(bào)表標(biāo)題為"考生成績一覽表";報(bào)表文件名為ONE.FRX。
本題的主要考核點(diǎn):字段的添加、字段有效性規(guī)則的建立、默認(rèn)值的設(shè)置、建立兩個(gè)表之間的聯(lián)系、設(shè)置參照完整性、使用報(bào)表向?qū)е谱鲌?bào)表。
解題思路:
1、打開KSB表設(shè)計(jì)器,將光標(biāo)移動(dòng)到最后的空字段格中,輸入新的字段名、字段類型和寬度。
2、打開KSCJB表設(shè)計(jì)器,選擇"成績"字段,在其字段有效性規(guī)則欄中輸入:成績>=0.AND.成績<=150,在默認(rèn)值欄中輸入:0。
3、在數(shù)據(jù)庫設(shè)計(jì)器中,選中KSB表中的索引"考生號(hào)"并拖動(dòng)到KSCJB表的"考生號(hào)"的索引上并松開,這樣兩個(gè)表之間就建立起了永久聯(lián)系。建立好永久聯(lián)系之后,在兩處表的"考生號(hào)"索引之間有一條線,單擊這條表示兩個(gè)表之間聯(lián)系的線,線會(huì)加粗,此時(shí)在主菜單中選擇"數(shù)據(jù)庫"中的"編輯參照完整性(I)",系統(tǒng)彈出"參照完整性生成器"對(duì)話框,在"更新規(guī)則"標(biāo)簽中,選擇"級(jí)聯(lián)"規(guī)則,在"刪除"規(guī)則中選擇"限制",在"插入規(guī)則"中選擇"忽略",單擊"確定"保存所編輯的參照完整性。
4、啟動(dòng)報(bào)表向?qū)Э稍?文件"菜單中選擇"新建"或者單擊工具欄上的"新建"按鈕,打開"新建"對(duì)話框,文件類型選擇報(bào)表,單擊向?qū)О粹o,然后按照向?qū)崾静僮骷纯伞?/P>
二、簡單應(yīng)用(2小題,每題20分,計(jì)40分)
在考生文件夾下,打開招生數(shù)據(jù)庫SDB,完成如下簡單應(yīng)用:
1.使用一對(duì)多表單向?qū)нx擇KSB表和KSCJB表生成一個(gè)名為TWO的表單。要求從父表KSB中選擇所有字段,從子表KSCJB中選擇所有字段,使用"考生號(hào)"建立兩表之間的關(guān)系,樣式為陰影式;按鈕類型為圖片按鈕;排序字段為考生號(hào)(來自KSB),升序;表單標(biāo)題為"考生數(shù)據(jù)輸入維護(hù)"。
2.在考生文件夾下打開命令文件THREE.PRG,該命令文件用來查詢所有成績都高于或等于平均分的學(xué)生的考生號(hào)和姓名。并將查詢結(jié)果存儲(chǔ)到表THREE中。
注意,該命令文件在第3行、第6行、第9行有錯(cuò)誤,打開該命令文件,直接在錯(cuò)誤處修改,不可改變SQL語句的結(jié)構(gòu)和短語的順序,不允許增加、刪除或合并行。
本題主要考核點(diǎn):使用表單向?qū)е谱鞅韱、修改程序文件?/P>
解題思路:
第1題:啟動(dòng)表單向?qū)Э稍?文件"菜單中選擇"新建"或者單擊工具欄上的"新建"按鈕,打開"新建"對(duì)話框,文件類型選擇表單,單擊向?qū)О粹o,在"向?qū)нx取"對(duì)話框中選擇"一對(duì)多表單向?qū)?,然后按照表單向?qū)Р僮骷纯伞?/P>
第2題:利用"文件"菜單下的"打開"命令打開程序文件THREE.PRG。將命令文件修改為:
SELECT AVG(成績);
FROM kscjb;
INTO ARRAY tem
SELECT 考生號(hào),姓名;
FROM ksb;
WHERE not exists;
( SELECT *;
FROM kscjb;
WHERE 成績 INTO TABLE three
三、綜合應(yīng)用(1小題,計(jì)30分)
在考生文件夾下,打開招生數(shù)據(jù)庫SDB,完成如下綜合應(yīng)用:
1.創(chuàng)建文件名為form的表單,將表單標(biāo)題改為:錄取研究生。
2.在表單中設(shè)計(jì)"錄取"和"退出"兩個(gè)按鈕。兩個(gè)按鈕功能分別如下:
(1)在"錄取"按鈕(Command1)中,編寫程序,查詢總成績大于或等于330分的考生的考生號(hào)、姓名、性別、單位和該生的政治成績、外語成績、高數(shù)成績(即高等數(shù)學(xué)成績)、專業(yè)課成績、總成績,并將結(jié)果按總成績降序排序存儲(chǔ)到表FOUR中。
表FOUR(需要自己創(chuàng)建或生成)的字段名為:考生號(hào)、姓名、性別、單位、政治成績、外語成績、高數(shù)成績、專業(yè)課成績、總成績(各成績字段的類型為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ùn)用。
解題思路:
①建立表單:可通過"文件"菜單下的"新建"命令或用命令CREATE FORM打開表單設(shè)計(jì)器。
、谠诒韱紊咸砑觾蓚(gè)命令按鈕,并進(jìn)行適當(dāng)?shù)牟贾煤痛笮≌{(diào)整。
③設(shè)置窗體和命令按鈕的Caption屬性值。
④設(shè)置"錄取"按鈕的Click事件代碼:
close all
CREATE TABLE test(考生號(hào) C(4),政治成績 N(5,1),外語成績 N(5,1),高數(shù)成績 N(5,1),專業(yè)課成績 N(5,1),總成績 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 政治成績 with kscjb->成績
case kscjb->考試科目="102"
replace 外語成績 with kscjb->成績
case kscjb->考試科目="103"
replace 高數(shù)成績 with kscjb->成績
case kscjb->考試科目="104"
replace 專業(yè)課成績 with kscjb->成績
endcase
select kscjb
skip
enddo
close all
update test set 總成績=政治成績+外語成績+高數(shù)成績+專業(yè)課成績
SELECT Ksb.考生號(hào), Ksb.姓名, Ksb.性別, Ksb.單位, Test.政治成績,;
Test.外語成績, Test.高數(shù)成績, Test.專業(yè)課成績, Test.總成績;
FROM sdb!ksb INNER JOIN test ;
ON Ksb.考生號(hào)=Test.考生號(hào);
WHERE Test.總成績>=330;
ORDER BY Test.總成績 DESC INTO TABLE four
、菰O(shè)置"退出"按鈕的Click事件代碼:
Release Thisform
、薇4姹韱尾⑦\(yùn)行,單擊"錄取"按鈕,再單擊"退出"按鈕。
相關(guān)推薦:
各地2015年計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |