三、綜合應用(1小題,計30分)
1.打開基本操作中建立的數(shù)據(jù)庫sdb,使用SQL的CREATE VIEW命令定義一個名稱為SVIEW的視圖,該視圖的SELECT語句完成查詢:選課數(shù)是3門以上(不包括3門)的每個學生的學號、姓名、平均成績、最低分和選課數(shù),并按"平均成績" 降序排序。最后將定義視圖的命令代碼存放到命令文件T1.PRG中并執(zhí)行該文件。接著利用報表向?qū)е谱饕粋報表。要求選擇SVIEW視圖中所有字段;記錄不分組;報表樣式為"隨意式";排序字段為 "學號"(升序);報表標題為"學生成績統(tǒng)計一覽表";報表文件名為pstudent。
2.設計一個名稱為form2的表單,表單上有"瀏覽"(名稱為Command1)和"打印"(Command2)兩個命令按鈕。鼠標單擊"瀏覽"命令按鈕時,先打開數(shù)據(jù)庫sdb,然后執(zhí)行SELECT語句查詢前面定義的 SVIEW視圖中的記錄(兩條命令不可以有多余命令),鼠標單擊"打印"命令按鈕時,調(diào)用報表文件pstuden瀏覽報表的內(nèi)容(一條命令,不可以有多余命令)。
本題主要考核點:
視圖的建立方法、利用報表向?qū)Ы蟊淼姆椒ā⒈韱蔚慕⒎椒ǖ戎R點
解題思路:
第一小題:
先打開數(shù)據(jù)庫SDB,打開考生文件夾下新建的項目"sdb_p.pjx",在命令窗口中輸入下列命令來建立sview視圖:
CREATE VIEW SVIEW AS;
SELECT SC.學號,姓名,AVG(成績) AS 平均成績,MIN(成績) AS 最低分,COUNT(課程號) AS 選課數(shù);
FROM SC,STUDENT;
WHERE SC.學號=STUDENT.學號;
GROUP BY STUDENT.學號;
HAVING COUNT(課程號)>3;
ORDER BY 平均成績 DESC
下面來建立T1.prg程序,在項目sdb_p的項目管理器中,選擇"代碼"標簽,再選擇"程序",點擊"新建(N)"按鈕,在打開的代碼編輯窗口中輸入sview視圖的查詢代碼,即:SELECT SC.學號,姓名,AVG(成績) AS 平均成績,MIN(成績) AS 最低分,COUNT(課程號) AS 選課數(shù);
FROM SC,STUDENT;
WHERE SC.學號=STUDENT.學號;
GROUP BY STUDENT.學號;
HAVING COUNT(課程號)>3;
ORDER BY 平均成績 DESC
選擇工具欄的保存按鈕,以文件名T1.prg保存在考生文件夾下。
利用表單向?qū)斫⒈韱危涸陧椖縮db_p的項目管理器中,選擇"文檔"標簽,再選擇"報表",點擊"新建(N)"按鈕,在彈出的"新建報表"對話框中選擇"報表向?qū)?,在彈出的"向?qū)нx取"對話框中選擇"報表向?qū)?,點擊"確定"按鈕,彈出"報表向?qū)?,在"報表向?qū)?步驟一字段選取中選擇sview視圖中的所有字段,然后點擊"下一步";在"報表向?qū)?的步驟二分組記錄中直接點擊"下一步";在步驟三選擇報表樣式中,選擇報表樣式類型為"隨意式",然后點擊"下一步";在步驟五排序記錄中選擇按學號的升序,然后點擊"下一步";在步驟六完成中輸入報表的標題:學生成績統(tǒng)計一覽表,然后點擊"完成",在彈出的"另存為"對話框中的"保存報表為:"文本框中輸入:pstudent.frx報表名,保存在考生文件夾下即可。
第二小題:在項目sdb_p的項目管理器中,選擇"文檔"標簽,再選擇"表單",點擊"新建(N)"在彈出的"新建表單"對話框中點擊"新建表單",系統(tǒng)打開表單設計器;點擊工具欄按鈕"表單控件工具欄",在彈出的"表單控件"中,選中"命令按鈕",在表單設計器中拖動鼠標,這樣在表單上得到一個"命令按鈕"對象command1,設置它的caption屬性為"瀏覽",
雙擊command1在打開的代碼編輯器窗口中輸入以下代碼:
open data sdb
select * from sview
作為command1的CLICK的事件代碼。
用同樣的方法,在表單上放置command2對象,它的Click的事件代碼為:
REPORT FORM PSTUDENT.FRX PREVIEW
以文件名form2.scx保存表單,并且保存在考生文件夾下。
相關推薦:2010年9月計算機等級考試沖刺備考指導專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |