一、基本操作題(共4小題,第1和2題是7分、第3和4題是8分)
在考生目錄下完成如下操作:
1. 建立菜單QUERY_MENU。該菜單只有"查詢"和"退出"兩個主菜單項(條形菜單), 其中單擊菜單項"退出"時,返回到VFP系統菜單(相應命令寫在命令框中,不要寫在過程中)。
2. 將COURSE表的"開課系部"字段名改為"開課單位",其余不變。
3. 從數據庫SCORE_MANAGER中移去表TEMP2.DBF(不是刪除)。
4. 將SCORE1表中記錄按學號從低到高排序,在學號相同的情況下再按成績從高到低排序,排序結果存入表NEW_ORDER。
解答:
1. 單擊“文件”菜單,單擊“新建”,在“新建”對話框中選擇“菜單”,單擊“新建文件”按鈕,在出現的“新建菜單”對話框中單擊“菜單”按鈕,輸入菜單文件名“QUERY_MENU”,進入“菜單設計器”,按試題要求設計菜單項,在“退出”菜單項的結果中選“命令”,在隨后的命令輸入框中輸入命令:set sysmenu to default。
保存后單擊“菜單”下的“生成”命令,生成菜單程序,然后設計名為myform的表單,設置表單的RightClick事件代碼為:do menu_quick.mpr
(以下2、3、4均以命令方式,菜單方式也可完成操作。)
2、alter table course rename 開課系部 to 開課單位
3、remove table temp2
4、SELECT * FROM score_manager!score1 ORDER BY Score1.學號, Score1.成績 DESC into table NEW_ORDER
二、簡單應用(2小題,每題20分,計40分)
在考生文件夾下完成如下簡單應用:
1. 在SCORE_MANAGER數據庫中統計選修了課程的學生人數(選修多門時,只計算1次),統計結果保存在一個新表NEW_TABLE中, 表中只有一個字段,字段名為學生人數。
解答:
SELECT COUNT(Student.姓名) AS 學生人數;
FROM score_manager!course INNER JOIN score_manager!score1;
INNER JOIN score_manager!student ON Student.學號 = Score1.學號 ;
ON Course.課程號 = Score1.課程號 GROUP BY Course.課程名;
INTO TABLE new_table.dbf
或:sele count(dist 學號) as 學生人數 from score1 into table new_table
2. 在SCORE_MANAGER數據庫中查詢沒有學生選修的課程,查詢結果含"課程名"和"開課單位"字段,結果按課程名升序保存在一個新表NEW_TABLE2中(注意:字段名"開課單位"是在基本操作中根據"開課系部"修改后的字段名)。
解答:
SELECT Course.課程名, Course.開課單位;
FROM score_manager!course INNER JOIN score_manager!score1;
INNER JOIN score_manager!student ON Student.學號 = Score1.學號 ;
ON Course.課程號 = Score1.課程號 WHERE Score1.成績 IS NULL;
ORDER BY Course.課程名 INTO TABLE new_table2.dbf
三、綜合應用(1小題,計30分)
SCORE_MANAGER數據庫中含有三個數據庫表STUDENT、SCORE1和COURSE。為了對SCORE_MANAGER數據庫數據進行查詢,設計一個表單Myform3(控件名為form1,表單文件名為Myform3)。表單標題為"成績查詢";表單有"查詢"(名稱為Command1)和"退出"(名稱為Command2)兩個命令按鈕。表單運行時,單擊"查詢"按鈕,查詢每門課程的最高分,查詢結果中含"課程名"和"最高分"字段,結果按課程名升序保存在表NEW_TABLE3。
單擊"退出"按鈕,關閉表單。
解答:
在查詢按鈕中置如下程序:
SELECT Course.課程名, MAX(Score1.成績) as 最高分;
FROM score_manager!course INNER JOIN score_manager!score1;
INNER JOIN score_manager!student ON Student.學號 = Score1.學號 ;
ON Course.課程號 = Score1.課程號 GROUP BY Course.課程名;
ORDER BY Course.課程名 INTO TABLE new_table3.dbf
附相關數據表:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |