三、綜合應(yīng)用(1小題,計30分)
在考生文件夾下有職員管理數(shù)據(jù)庫staff_10,數(shù)據(jù)庫中有YUANGONG表結(jié)
構(gòu)是職工編碼C(4)、姓名C(10)、夜值班天數(shù)I、晝值班天數(shù)I、加班費N
(10.2)。ZHIBAN表結(jié)構(gòu)是值班時間C(2),每天加班費N(7.2),ZHIBAN表
中只有兩條記錄,分別記載了白天和夜里的每天加班費標(biāo)準(zhǔn)。
請編寫運行符合下列要求的程序:
設(shè)計一個名為staff_m的菜單,菜單中有兩個菜單項"計算"和"退出"。
程序運行時,單擊"計算"菜單項應(yīng)完成下列操作:
(1)計算YUANGONG表的加班費字段值,計算方法是:
加班費=夜值班天數(shù)*夜每天加班費+晝值班天數(shù)*晝每天加班費
(2)根據(jù)上面的結(jié)果,將員工的職工編碼、姓名、加班費存儲到的自由表
staff_d中 ,并按加班費降序排列,如果加班費相等,則按職工編碼的升序排列。
單擊"退出"菜單項,程序終止運行。
本題考查知識點:數(shù)據(jù)表的查詢,記錄的更新,數(shù)據(jù)表的定義等
本題解題思路:
SET TALK OFF &&在程序運行時關(guān)閉命令結(jié)果的顯示
SET SAFETY OFF &&關(guān)閉文件重名的提示
OPEN DATABASE STAFF_10 &&打開數(shù)據(jù)庫文件STAFF_10
SELECT 每天加班費 FROM ZHIBAN WHERE 值班時間="晝" INTO ARRAY zhou
&&由于要得到"晝"和"夜"的每天的加班費,所以要用到SELECT SQL查詢
&&WHERE 條件表達式 可以用來限定結(jié)果集,將條件表達式:值班時間="晝"
&&放在WHERE的后面;也可以將結(jié)果集的列數(shù)進行限制,這里我們只需要得到
&&每天加班費 ,將其放在SELECT的后面;可以將返回的結(jié)果集放入一個數(shù)組變量中
&&用到INTO ARRAY 數(shù)組變量名
SELECT 每天加班費 FROM ZHIBAN WHERE 值班時間="夜" INTO ARRAY ye
&&同上,這樣可以在ye中得到:值班時間="夜"的每天加班費
UPDATE YUANGONG SET 加班費=夜值班天數(shù)*ye+晝值班天數(shù)*zhou
&&UPDATE SQL語句用來修改某一個,某幾個字段的值
&&UPDATE 表名 SET 字段名1=表達式1[,字段名2=表達式2 ...]
&&[WHERE 條件表達式1[AND|OR 條件表達式2…]]
SELECT 職工編碼,姓名,加班費 FROM YUANGONG ORDER BY 加班費 DESC,職工編碼;
INTO TABLE STAFF_D
&&利用SELECT SQL語句中的ORDER BY 子句可以對結(jié)果集進行排序,有多個排序依據(jù)時
&&它們按優(yōu)先級的高低依次排在ORDER BY的后面,默認(rèn)是以升序進行排序的,如果要以
&&降序進行排序需要顯示指明DESC;利用INTO TABLE 表名 可以將結(jié)果集放入一個永久表中
CLOSE ALL
&&關(guān)閉所有打開的文件
SET SAFETY ON
&&恢復(fù)文件重復(fù)的提示設(shè)置
SET TALK ON
&&恢復(fù)命令結(jié)果顯示設(shè)置
相關(guān)推薦:2010年9月計算機等級考試沖刺備考指導(dǎo)專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |