計(jì)算機(jī)等級(jí)考試:二級(jí)VFP機(jī)試第43套

字號(hào):

第四十三套
    一、基本操作題(共4小題,第1和2題是7分、第3和4題是8分)
    在考生目錄下完成如下操作:
     1. 打開(kāi)數(shù)據(jù)庫(kù)SCORE_MANAGER,該數(shù)據(jù)庫(kù)中含三個(gè)有聯(lián)系的表STUDENT、SCORE1
     和COURSE,根據(jù)已經(jīng)建立好的索引,建立表之間聯(lián)系。
     2. 為COURSE表增加字段:開(kāi)課學(xué)期(N,2,0)。
     3. 為SCORE1表"成績(jī)"字段設(shè)置字段有效性規(guī)則:成績(jī)>=0,出錯(cuò)提示信息是:
     "成績(jī)必須大于或等于零"。
     4. 將SCORE1表"成績(jī)"字段的默認(rèn)值設(shè)置為空值(NULL)。
    本題主要考核點(diǎn):
    為已建立索引的表建立聯(lián)系、設(shè)置字段的默認(rèn)值、字段的添加、字段有效性的設(shè)置等知識(shí)點(diǎn)
    本題解題思路:
    第1題:本題的主要考核點(diǎn)是建立兩個(gè)表之間永久聯(lián)系。
    在父表中選中主索引,按住鼠標(biāo)拖動(dòng)至子表相應(yīng)的普通索引上,釋放鼠標(biāo),聯(lián)系即已建立。
    第2題:本題的主要考核點(diǎn)是字段的添加的方法。
    打開(kāi)COURSE表表設(shè)計(jì)器,將光標(biāo)移動(dòng)到后的空字段格中,輸入新的字段名、字段類型及長(zhǎng)度。
    第3題:本題的主要考核點(diǎn)是字段有效性的設(shè)置。
    在表設(shè)計(jì)器中,選中"成績(jī)"字段,在"字段有效性"中的"規(guī)則"文本框中填入: 成績(jī)>=0,在"信息"文本框中中填入"成績(jī)必須大于或等于零",單擊確定。
    第4題:本題的主要考核點(diǎn)是字段默認(rèn)值的設(shè)置。
    在表設(shè)計(jì)器對(duì)話框中,選擇"成績(jī)"字段,點(diǎn)擊NULL列下的按鈕(表示此列允許空值),然后再在"字段有效性"中的默認(rèn)值中填入.NULL.,單擊確定。
    二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
     在考生目錄下完成如下簡(jiǎn)單應(yīng)用:
     1. 在SCORE_MANAGER數(shù)據(jù)庫(kù)中查詢學(xué)生的姓名和年齡(計(jì)算年齡的公式
    是:2003-Year(出生日期),年齡作為字段名),結(jié)果保存在一個(gè)新表NEW_TABLE1
    中。使用報(bào)表向?qū)Ы?bào)表NEW_REPORT1,用報(bào)表顯示NEW_TABLE1的內(nèi)容。報(bào)表
    中數(shù)據(jù)按年齡升序排列,報(bào)表標(biāo)題是"姓名-年齡",其余參數(shù)使用缺省參數(shù)。
     2. 在SCORE_MANAGER數(shù)據(jù)庫(kù)中查詢沒(méi)有選修任何課程的學(xué)生信息,查詢
    結(jié)果包括"學(xué)號(hào)"、"姓名"和"系部"字段,查詢結(jié)果按學(xué)號(hào)升序保存在一個(gè)新
    表NEW_TABLE2中。
    本題主要考核點(diǎn):
    本題的主要考核點(diǎn)是SQL查詢語(yǔ)句的使用,查詢?nèi)ハ颉?bào)表向?qū)У氖褂玫戎R(shí)點(diǎn)
    本題解題思路:
    第1題:本題的主要考核點(diǎn)是SQL查詢語(yǔ)句的使用,查詢?nèi)ハ颉?bào)表向?qū)У氖褂谩?BR>    SELECT 姓名, 2003-Year(出生日期) as 年齡;
     FROM student;
     INTO TABLE new_table1.dbf
    啟動(dòng)報(bào)表向?qū)Э稍?文件"菜單中選擇"新建"或者單擊工具欄上的"新建"按鈕,打開(kāi)"新建"對(duì)話框,文件類型選擇報(bào)表,單擊向?qū)О粹o?;蛘咴?工具"菜單中選擇"向?qū)?子菜單,選擇"報(bào)表",或直接單擊工具欄上的"報(bào)表向?qū)?圖標(biāo)按鈕。然后按照向?qū)崾静僮骷纯伞?BR>    第2題:本題的主要考核點(diǎn)是SQL查詢語(yǔ)句的使用。
    SELECT Student.學(xué)號(hào), Student.姓名, Student.系部;
     FROM course right OUTER JOIN score1;
     right OUTER JOIN student ;
     ON Student.學(xué)號(hào) = Score1.學(xué)號(hào) ;
     ON Course.課程號(hào) = Score1.課程號(hào);
     WHERE Student.學(xué)號(hào) != Score1.學(xué)號(hào) ;
     ORDER BY Student.學(xué)號(hào);
     INTO TABLE new_table2.dbf
    三、綜合應(yīng)用(1小題,計(jì)30分)
     SCORE_MANAGER數(shù)據(jù)庫(kù)中含有三個(gè)數(shù)據(jù)庫(kù)表STUDENT、SCORE1和COURSE。
     為了對(duì)SCORE_MANAGER數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行查詢,設(shè)計(jì)一個(gè)如圖所示的表單
    Myform1(控件名為form1,表單文件名Myform1.scx)。表單的標(biāo)題為"成績(jī)查詢"。
    表單左側(cè)有文本"輸入學(xué)號(hào)(名稱為L(zhǎng)abel1的標(biāo)簽)"和用于輸入學(xué)號(hào)的文本框(名
    稱為Text1)以及"查詢"(名稱為Command1)和"退出"(名稱為Command2)兩個(gè)命令
    按鈕以及1個(gè)表格控件。
     表單運(yùn)行時(shí),用戶首先在文本框中輸入學(xué)號(hào),然后單擊"查詢"按鈕,如果
    輸入學(xué)號(hào)正確,在表單右側(cè)以表格(名稱為Grid1)形式顯示該生所選課程名和成
    績(jī),否則提示"學(xué)號(hào)不存在,請(qǐng)重新輸入學(xué)號(hào)"。
     單擊"退出"按鈕,關(guān)閉表單。
    本題主要考核點(diǎn):
     表單文件的創(chuàng)建、控件的屬性的修改、SQL語(yǔ)句運(yùn)用、表單的退出等知識(shí)點(diǎn)
    本題解題思路:
    操作過(guò)程:
    ①在命令窗口輸入命令:CREATE FORM Myform1,打開(kāi)表單設(shè)計(jì)器窗口。
    ②在表格上添加各文本框、命令按鈕、表格及相關(guān)的標(biāo)簽,并進(jìn)行適當(dāng)?shù)牟贾煤痛笮≌{(diào)整。
    ③設(shè)置各標(biāo)簽、命令按鈕以及表單的Caption屬性值。
    ④將表單的ColumnCount 屬性值設(shè)置為2(共兩列)、RecordSourceType屬性值設(shè)置為"4-SQL說(shuō)明"。
    ⑤將表格內(nèi)兩列標(biāo)頭的Caption屬性分別設(shè)置為"課程名"和"成績(jī)",并適當(dāng)調(diào)整兩列的寬度。
    ⑥設(shè)置表單的Load事件代碼:
     CLOSE ALL
    USE STUDENT
    ⑦設(shè)置"查詢"按鈕的Click事件代碼:
     GO
    LOCATE FOR Student.學(xué)號(hào) ==ALLTRIM(THISFORM.TEXT1.VALUE)
    IF Student.學(xué)號(hào) ==ALLTRIM(THISFORM.TEXT1.VALUE)
    THISFORM.GRID1.RECORDSOURCE="SELECT Course.課程名, Score1.成績(jī);
     FROM course INNER JOIN score1;
     INNER JOIN student ;
     ON Student.學(xué)號(hào) = Score1.學(xué)號(hào) ;
     ON Course.課程號(hào) = Score1.課程號(hào);
     WHERE Student.學(xué)號(hào) = ALLTRIM(THISFORM.TEXT1.VALUE);
     INTO CURSOR TEMP"
    ELSE
    MESSAGEBOX("學(xué)號(hào)不存在,請(qǐng)重新輸入學(xué)號(hào)")
    THISFORM.GRID1.RECORDSOURCE=''
    ENDIF
    ⑧設(shè)置"退出"按鈕的Click事件代碼:
     THISFORM.RELEASE
     ⑨保存表單,關(guān)閉表單設(shè)計(jì)器窗口。