第二十九套
一、基本操作題(共4小題,第1和2題是7分、第3和4題是8分)
在考生文件夾下完成如下操作:
1. 根據(jù)SCORE數(shù)據(jù)庫(kù),使用查詢向?qū)Ы⒁粋€(gè)含有學(xué)生"姓名"和
"出生日期"的標(biāo)準(zhǔn)查詢QUERY31.QPR。
2. 從SCORE數(shù)據(jù)庫(kù)中刪除視圖NEWVIEW。
3. 用SQL命令向SCORE1表插入一條記錄:學(xué)號(hào)為"993503433"、課程號(hào)為"0001"、成績(jī)是99。
4. 打開(kāi)表單MYFORM34,向其中添加一個(gè)"關(guān)閉"命令按鈕(名稱為Command1),單擊此按鈕關(guān)閉表單(不可以有多余的命令)。
本題主要考核點(diǎn):
查詢的創(chuàng)建,視圖的刪除,添加記錄,向表單中添加對(duì)象等知識(shí)點(diǎn)
本題解題思路:
第一步:打開(kāi)考生文件夾下的"SCORE"數(shù)據(jù)庫(kù)
第二步:打開(kāi)"文件"、"新建"菜單選擇"查詢",在彈出的"新建"對(duì)話框中,選擇"查詢",單擊"向?qū)?按鈕,按照向?qū)?選定student表的姓名,出生日期字段,連續(xù)單擊下一步,輸入保存的查詢名為"QUERY31",再點(diǎn)擊"完成"即可
第三步:在數(shù)據(jù)庫(kù)設(shè)計(jì)器中的"NEWVIEW"上單擊右鍵,在彈出的菜單中選擇"刪除",并在彈出的對(duì)話框中選擇"移去"即可。
第四步:用INSERT語(yǔ)句來(lái)完成,格式為INSERT INTO dbf_name [(fname1 [, fname2, ...])] VALUES (eExpression1 [, eExpression2, ...])本題的命令為INSERT INTO score1(學(xué)號(hào),課程號(hào),成績(jī)) VALUES ("993503433","0001",99)
第五步:打開(kāi)表單后,添加工具欄中的命令按鈕到表單中,雙擊該按鈕,輸入命令THISFORM.RELEASE。
二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
在考生文件夾下完成如下簡(jiǎn)單應(yīng)用:
1. 建立視圖NEW_VIEW, 該視圖含有選修了課程但沒(méi)有參加考試(成績(jī)字段值為NULL)的學(xué)生信息(包括"學(xué)號(hào)"、"姓名"和"系部"3個(gè)字段)。
2. 建立表單MYFORM3,在表單上添加表格控件(名稱為grdCourse), 并通過(guò)該控件顯示表course的內(nèi)容(要求RecordSourceType屬性必須為0)。
本題主要考核點(diǎn):
視圖的建立方法、查詢語(yǔ)句的應(yīng)用、表單的建立方法等知識(shí)點(diǎn)
解題思路:
第一小題:打開(kāi)考生文件夾下數(shù)據(jù)庫(kù)"SCORE",在命令窗口中輸入下列命令來(lái)建立sview視圖:
CREATE VIEW NEW_VIEW AS SELECT Student.學(xué)號(hào), Student.姓名, Student.系部 FROM score!course INNER JOIN score!score1 INNER JOIN score!student ON Student.學(xué)號(hào) = Score1.學(xué)號(hào) ON Course.課程號(hào) = Score1.課程號(hào) WHERE Course.課程號(hào) IS NOT NULL AND Score1.成績(jī) IS NULL
第二小題:按CTRL+N,選擇"表單,然后點(diǎn)擊"新建"按鈕,在彈出的"新建表單"對(duì)話框中點(diǎn)擊"新建表單",彈出"表單設(shè)計(jì)器"。在表單設(shè)計(jì)器中放置一個(gè)網(wǎng)格控件和一個(gè)命令按鈕控件。將網(wǎng)格控件的name屬性改為:grdCourse.點(diǎn)擊工具欄中的"數(shù)據(jù)環(huán)境"按鈕,在彈出的"添加表或視圖"對(duì)話框中選擇SCORE數(shù)據(jù)庫(kù)下的course表.點(diǎn)擊"添加"按鈕,然后點(diǎn)擊"關(guān)閉"按鈕。在表單設(shè)計(jì)器中對(duì)GrdSalarys網(wǎng)格控件的RecordSourceType和RecordSource屬性分別設(shè)為:0-表和course,以文件名MYFORM3.scx將所編輯的表單保存在考生文件夾下。
三、綜合應(yīng)用(1小題,計(jì)30分)
利用菜單設(shè)計(jì)器建立一個(gè)菜單TJ_MENU3,要求如下:
(1) 主菜單(條形菜單)的菜單項(xiàng)包括"統(tǒng)計(jì)"和"退出"兩項(xiàng);
(2) "統(tǒng)計(jì)"菜單下只有一個(gè)菜單項(xiàng)"平均",該菜單項(xiàng)的功能是統(tǒng)計(jì)各門(mén)課程的平均成績(jī),統(tǒng)計(jì)結(jié)果包含"課程名"和"平均成績(jī)"兩個(gè)字段,并將統(tǒng)計(jì)結(jié)果按課
程名升序保存在表NEWTABLE中。
(3) "退出"菜單項(xiàng)的功能是返回VFP系統(tǒng)菜單(SET SYSMENU TO DEFAULT)。
菜單建立后,運(yùn)行該菜單中各個(gè)菜單項(xiàng)。
本題主要考核點(diǎn):
菜單的建立、結(jié)構(gòu)化查詢語(yǔ)言(SQL)中的聯(lián)接查詢、查詢的排序、分組查詢、臨時(shí)表的概念、查詢結(jié)果的去向等知識(shí)點(diǎn)。
本題解題思路:
第一步:利用菜單設(shè)計(jì)器定義兩個(gè)菜單項(xiàng),在菜單名稱為"統(tǒng)計(jì)"的字菜單下建立"平均"菜單,"平均"的菜單項(xiàng)的結(jié)果列中選擇"過(guò)程",并通過(guò)單擊"編輯"按鈕打開(kāi)一個(gè)窗口來(lái)添加"平均"菜單項(xiàng)要執(zhí)行的命令。在菜單名稱為"退出"的菜單項(xiàng)的結(jié)果列中選擇"命令",并在后面的"選項(xiàng)"列中輸入以下退出菜單的命令:SET SYSMENU TO DEFAULT
第二步:在單擊"平均"菜單項(xiàng)后面的"編輯"按鈕所打開(kāi)的窗口中添加如下的過(guò)程代碼:
SET TALK OFF &&在程序工作方式下關(guān)閉命令結(jié)果的顯示
OPEN DATABASE SCORE
SELECT Course.課程名, AVG(Score1.成績(jī)) 平均成績(jī);
FROM score!course INNER JOIN score!score1 ;
ON Course.課程號(hào) = Score1.課程號(hào);
GROUP BY Course.課程名;
ORDER BY Course.課程名;
INTO TABLE NEWTABLE
CLOSE ALL
SET TALK ON
完成之后,單擊菜單->生成,選擇考試文件夾,文件名為T(mén)J_MENU3,系統(tǒng)將生成一可執(zhí)行菜單程序,在命令窗口輸入do tj_menu3.mpr,單擊統(tǒng)計(jì)->平均,完成操作。

