三、綜合應(yīng)用(1小題,計(jì)30分)
在考生文件夾下有倉(cāng)庫(kù)數(shù)據(jù)庫(kù)GZ3包括兩個(gè)表文件:
ZG(倉(cāng)庫(kù)號(hào)C(4),職工號(hào)C(4),工資N(4))
DGD(職工號(hào)C(4),供應(yīng)商號(hào)C(4),訂購(gòu)單號(hào) C(4),訂購(gòu)日期D,總金額N(10))
首先在GZ3庫(kù)中建立工資文件數(shù)據(jù)表:GJ3(職工號(hào)C(4),工資N(4))設(shè)計(jì)一個(gè)名為YEWU3的菜單,菜單中有兩個(gè)菜單項(xiàng)"查詢"和"退出"。
程序運(yùn)行時(shí),單擊"查詢"應(yīng)完成下列操作:檢索出與供應(yīng)商S7、S4和S6都有業(yè)務(wù)聯(lián)系的職工的職工號(hào)和工資,并按工資降序存放到所建立的GJ3文件中。單擊"退出"菜單項(xiàng),程序終止運(yùn)行。
(注:相關(guān)數(shù)據(jù)表文件存在于考生文件夾下)
本題主要考核點(diǎn):
表結(jié)構(gòu)的建立、菜單的建立、結(jié)構(gòu)化查詢語(yǔ)言(SQL)中的聯(lián)接查詢、查詢的排序、臨時(shí)表的概念、查詢結(jié)果的去向、HAVING子句、聚合函數(shù)COUNT()等的使用等知識(shí)。
解題思路:
第一步:利用菜單設(shè)計(jì)器定義兩個(gè)菜單項(xiàng),在菜單名稱為"查詢"的菜單項(xiàng)的結(jié)果列中選擇"過(guò)程",并通過(guò)單擊"編輯"按鈕打開(kāi)一個(gè)窗口來(lái)添加"查詢"菜單項(xiàng)要執(zhí)行的命令。在菜單名稱為"退出"的菜單項(xiàng)的結(jié)果列中選擇"命令",并在后面的"選項(xiàng)"列中輸入以下退出菜單的命令:SET SYSMENU TO DEFAULT
第二步:在單擊"計(jì)算"菜單項(xiàng)后面的"編輯"按鈕所打開(kāi)的窗口中添加如下的過(guò)程代碼:
SET TALK OFF &&在程序運(yùn)行時(shí)關(guān)閉命令結(jié)果的顯示
OPEN DATABASE GZ3 &&打開(kāi)數(shù)據(jù)庫(kù)文件GZ3
USE DGD &&打開(kāi)表DGD
CREATE TABLE GJ3(職工號(hào) C(4),工資 N(4))
SELECT 職工號(hào) FROM DGD WHERE 供應(yīng)商號(hào) IN ("S4","S6","S7");
GROUP BY 職工號(hào);
HAVING COUNT(DISTINCT 供應(yīng)商號(hào))=3;
INTO CURSOR CurTable
&&SELECT SQL語(yǔ)句中的GROUP BY 子句可以用來(lái)指定結(jié)果集的組,
&&要得到"供應(yīng)商號(hào)"是 "S4"、"S6"或"S7"的訂購(gòu)單,同時(shí)以訂購(gòu)單所在的職工員進(jìn)行分組
&&并且保證每個(gè)分組里面供應(yīng)商號(hào)有三個(gè)(也就是三個(gè)供應(yīng)商都應(yīng)有訂購(gòu)單);這樣就得到了滿
&&足條件的職工號(hào),將返回的結(jié)果集放于一個(gè)臨時(shí)表CurTable中:INTO CURSOR CurTable
SELECT ZG.職工號(hào),工資 FROM ZG,CurTable WHERE ZG.職工號(hào)=CurTable.職工號(hào);
ORDER BY 工資 DESC;
INTO ARRAY AFieldsValue
&&將生成的臨時(shí)表與DGD表進(jìn)行聯(lián)接查詢,便可以得到滿足條件的職工號(hào)和工資
&&返回的結(jié)果集放入數(shù)組AFieldsValue中:INTO ARRAY AFieldsValue
INSERT INTO GJS FROM ARRAY AFieldsValue
&&在新建的表中追加記錄
CLOSE ALL
&&關(guān)閉打開(kāi)的文件
SET TALK ON
&&恢復(fù)命令結(jié)果的顯示設(shè)置
第三步:以文件名YEWU3.MNX保存菜單源文件,并生成菜單,運(yùn)行菜單。
相關(guān)推薦:2010年9月計(jì)算機(jī)等級(jí)考試沖刺備考指導(dǎo)專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |