第三十三套
一、基本操作題(共4小題,第1和2題是7分、第3和4題是8分)
在考生文件夾下完成如下操作:
1. 新建一個(gè)名為"學(xué)生管理"的項(xiàng)目文件。
2. 將"學(xué)生"數(shù)據(jù)庫(kù)加入到新建的項(xiàng)目文件中。
3. 將"教師"表從"學(xué)生"數(shù)據(jù)庫(kù)中移出,使其成為自由表。
4. 通過(guò)"學(xué)號(hào)"字段為"學(xué)生"和"選課"表建立永久聯(lián)系(如果必要請(qǐng)先建立有關(guān)索引)。
本題主要考核點(diǎn):
創(chuàng)建項(xiàng)目、數(shù)據(jù)庫(kù)相關(guān)操作、在數(shù)據(jù)庫(kù)中建立表、索引的建立
本題解題思路:
第一步:在Visual FoxPro主窗口下按組合鍵Ctrl+N,則系統(tǒng)彈出"新建"對(duì)話框,在文件類型中選擇"項(xiàng)目",再點(diǎn)擊"新建文件"按鈕;
第二步:在彈出的"創(chuàng)建"對(duì)話框中,選定考生文件夾,在項(xiàng)目文件中填入"學(xué)生管理",再點(diǎn)擊保存按鈕;這樣便新建了一個(gè)項(xiàng)目;
第三步:在彈出的項(xiàng)目管理器中先選擇"數(shù)據(jù)"標(biāo)簽,再選擇"數(shù)據(jù)庫(kù)",后點(diǎn)擊"添加"按鈕;
第四步:在彈出的"打開"對(duì)話框中的"選擇數(shù)據(jù)庫(kù)"處,選擇"學(xué)生"數(shù)據(jù)庫(kù);
第五步:在數(shù)據(jù)庫(kù)設(shè)計(jì)器窗口中單擊選中"教師"表,打開主窗口的數(shù)據(jù)庫(kù)菜單選擇"移去(R)",并在彈出的菜單中選擇"移去(R)"即可,這樣就將表"教師"表從數(shù)據(jù)庫(kù)中移出而成為了自由表;
第六步:在數(shù)據(jù)庫(kù)設(shè)計(jì)器中選中表"學(xué)生",在主菜單中選擇"修改(Y)",彈出表設(shè)計(jì)器,選擇表設(shè)計(jì)器"索引"標(biāo)簽,在索引名列中填入"學(xué)號(hào)",在索引類型列中選擇"主索引",在索引表達(dá)式列中填入" 學(xué)號(hào)",點(diǎn)擊"確定"按鈕,保存表結(jié)構(gòu),用類似的方法,為"選課"表建立普通索引
第七步:在數(shù)據(jù)庫(kù)設(shè)計(jì)器中,選中"學(xué)生"表中的索引"學(xué)號(hào)"并拖動(dòng)到表"選課"表的"學(xué)號(hào)"的索引上并松開,這樣兩個(gè)表之間就建立起了永久聯(lián)系。
二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
在考生文件夾下完成如下簡(jiǎn)單應(yīng)用:
1. 用SQL語(yǔ)句對(duì)自由表"教師"完成下列操作:將職稱為"教授"的教師新工資一項(xiàng)設(shè)置為原工資的120%,其他教師的新工資與原工資相等;插入一條新記錄,該教師的信息:姓名"林紅",職稱"講師",原工資10000,新工資10200,同時(shí)將你所使用的SQL語(yǔ)句存儲(chǔ)于新建的文本文件teacher.txt中(兩條更新語(yǔ)句,一條插入語(yǔ)句,按順序每條語(yǔ)句占一行)。
2. 使用查詢?cè)O(shè)計(jì)器建立一個(gè)查詢文件stud.qpr,查詢要求:選修了"英語(yǔ)"并且
成績(jī)大于等于70的學(xué)生的姓名和年齡,查詢結(jié)果按年齡升序存放于stud_temp.dbf表中。
本題主要考核點(diǎn):
SQL語(yǔ)句的使用、使用查詢?cè)O(shè)計(jì)器建立查詢
本題解題思路:
第1題:本題的主要考核點(diǎn)是SQL語(yǔ)句的使用。
update 教師 set 新工資=原工資*1.2 where 職稱="教授"
update 教師 set 新工資=原工資 where 職稱!="教授"
insert into 教師 values("林紅","講師",10000,10200)
第2題,本題的主要考核點(diǎn)是建立查詢。
建立查詢可以使用"文件"菜單完成,選擇文件--新建--查詢--新建文件,將"學(xué)生","課程"和"選課"表添加入查詢中,從字段中選擇姓名和年齡字段;切換到"篩選"選項(xiàng)卡,在其中進(jìn)行如下設(shè)置:
字段名 條件 實(shí)例 邏輯
課程.課程名稱 = "英語(yǔ)" AND
選課.成績(jī) >= 70
;切換到"排序依據(jù)"中選擇字段"學(xué)生.年齡",在"排序選項(xiàng)"處選擇"升序";單擊查詢菜單下的 查詢?nèi)ハ颍x擇表,輸入表名stud_temp,后運(yùn)行該查詢。
三、綜合應(yīng)用(1小題,計(jì)30分)
設(shè)計(jì)名為mystu的表單(文件名為mystu,表單名為form1),所有控件的屬性必須在表單設(shè)計(jì)器的屬性窗口中設(shè)置。表單的標(biāo)題為"計(jì)算機(jī)系學(xué)生選課情況"。
表單中有一個(gè)表格控件(Grid1),該控件的RecordSourceType的屬性設(shè)置為4(SQL說(shuō)明)和兩個(gè)命令按鈕"查詢"(command1)和"退出"(command2)。
運(yùn)行表單時(shí),單擊"查詢"命令按鈕后,表格控件中顯示6系(系字段值等于
字符6)的所有學(xué)生的姓名、選修的課程名和成績(jī)。
單擊"退出"按鈕關(guān)閉表單。
本題主要考核點(diǎn)
控件的屬性的修改、SQL語(yǔ)句運(yùn)用、表單的退出等知識(shí)點(diǎn)
本題解題思路:
第一步:在Visual FoxPro主窗口中按下組合鍵Ctrl+N,系統(tǒng)彈出"新建"對(duì)話框,在文件類型中選擇"表單",點(diǎn)擊"新建文件"按鈕(系統(tǒng)將打開表單設(shè)計(jì)器);或直接在命令窗口中輸入 crea form mystu。
第二步:點(diǎn)擊工具欄按鈕"表單控件工具欄",在彈出的"表單控件"對(duì)話框中,選中"表格"控件,在表單設(shè)計(jì)器中拖動(dòng)鼠標(biāo),這樣在表單上得到一個(gè)"表格"控件grid1,用類似的方法為表單再加入兩個(gè)"命令按鈕"控件command1和command2;
***************命令按鈕command1(查詢)的Click事件代碼如下***************
THISFORM.GRID1.RECORDSOURCE="SELECT 學(xué)生.姓名, 課程.課程名稱, 選課.成績(jī);
FROM 學(xué)生!課程 INNER JOIN 學(xué)生!選課;
INNER JOIN 學(xué)生!學(xué)生 ;
ON 學(xué)生.學(xué)號(hào) = 選課.學(xué)號(hào) ;
ON 課程.課程號(hào) = 選課.課程號(hào);
WHERE 學(xué)生.系 = '6';
INTO CURSOR temp"
***************命令按鈕command2(退出)的Click事件代碼如下***************