第 1 頁:筆試 |
第 4 頁:機試 |
3.綜合應用題
在考生文件夾下有倉庫數(shù)據(jù)庫ck3,包括如下所示兩個表文件:
ck(倉庫號C(4),城市C(8),面積N(4))
zg(倉庫號C(4),職工號C(8),工資N(4))
設計一個名為zg3的菜單,菜單中有兩個菜單項“統(tǒng)計”和“退出”。
程序運行時,單擊“統(tǒng)計”菜單項應完成下列操作:檢索出所有職工的工資都大于1220元(不包括1220元)的職工所管理的倉庫信息,將結(jié)果保存在wh1數(shù)據(jù)表(wh1為自由表)文件中,該文件的結(jié)構(gòu)和ck數(shù)據(jù)表文件的結(jié)構(gòu)一致,并按面積升序排序。
單擊“退出”菜單項,程序終止運行。
注意:相關(guān)數(shù)據(jù)表文件存在于考生文件夾下。
【參考答案】
具體步驟如下:
、 在“命令”窗口輸入命令:CREATE MENU zg3。
② 彈出“新建菜單”對話框,單擊“菜單”圖標按鈕。
、 進入菜單設計器,根據(jù)題目要求,首先輸入兩個主菜單名稱“統(tǒng)計”和“退出”,然后在“統(tǒng)計”菜單行的“結(jié)果”下拉列表框中選擇“過程”選項(用于編寫程序),在“退出”菜單行的“結(jié)果”下拉列表框中選擇“命令”選項,
④ 單擊“統(tǒng)計”菜單行中的“創(chuàng)建”按鈕,進入程序設計的編輯窗口,在“命令”窗口中輸入如下程序段:
*********“統(tǒng)計”菜單命令的程序設計*********
SET TALK OFF
SET SAFETY OFF
OPEN DATABASE ck3.dbc
USE ck
SELECT * FROM ck WHERE 倉庫號 NOT IN;
(SELECT 倉庫號 FROM zg WHERE 工資<=1220);
AND 倉庫號IN(SELECT 倉庫號 FROM zg);
ORDER BY 面積
INTO TABLE wh1.dbf
CLOSE ALL
SET SAFETY ON
SET TALK ON
、 在“退出”菜單項的“命令”文本框中編寫程序代碼:SET SYSMENU TO DEFAULT。
、 選擇菜單命令“菜單”→“生成”,生成一個菜單文件zg3.mpr。
⑦ 關(guān)閉設計窗口,在“命令”窗口輸入命令:DO zg3.mpr。
、 可以看到Visual FoxPro的菜單欄被新建的菜單所代替,單擊“退出”菜單命令將恢復系統(tǒng)菜單。
⑨ 執(zhí)行“統(tǒng)計”菜單命令后,系統(tǒng)自動生成新數(shù)據(jù)表文件wh1.dbf用來保存查詢結(jié)果。
【試題解析】
本試題考查的主要內(nèi)容是利用SQL的嵌套查詢來完成兩個數(shù)據(jù)表之間的記錄查找,此處應注意運算符IN和NOT IN的使用;在菜單的設計過程中主要是注意兩個菜單命令在“結(jié)果”下拉列表框中應選擇的類型。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |