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