第九套
一、基本操作題(共四小題,第1和2題是7分、第3和4題是8分)
1、在考生文件夾下打開數(shù)據(jù)庫CUST_M,為CUST表建立主索引,索引名為客戶編號,
索引表達(dá)式為客戶編號。
2、CUST表和ORDER1表中必要的索引已經(jīng)建立,為兩表建立永久性聯(lián)系。
3、為CUST表增為字段:客戶等級C(2),字段值允許為空。
4、為ORDER1表"金額"字段增加有效性規(guī)則:金額大于零,否則提示:金額必須
大于零。
本題的主要考核點:
主索引的建立、為已建立索引的表建立聯(lián)系、字段的添加、字段有效性規(guī)則的建立。
解題思路:
1.在表設(shè)計器中的索引頁面,建立索引名索引表達(dá)式都為客戶編號的主索引。
2.建立兩個表的聯(lián)系。在父表中選中主索引,按住鼠標(biāo)拖動至子表相應(yīng)的普通索引上,釋放鼠標(biāo),聯(lián)系即已建立。
3.增加字段的方法:
打開CUST表的表設(shè)計器,將光標(biāo)移動到后的空字段格中,輸入新的字段名、字段類型及長度。字段值允許為空,則選中"NULL"項。
4.建立有效性規(guī)則比較簡單直接的方法是在表設(shè)計器中建立。在表設(shè)計器中首先選中要定義有效性規(guī)則的字段"金融",在"規(guī)則"一欄中輸入"金額>0"(或用表達(dá)式生成器生成),在"信息"欄中輸入:"金額必須大于零"。
二、簡單應(yīng)用(2小題,每題20分,計40分)
1、在考生文件夾中有一個數(shù)據(jù)庫SDB,其中有數(shù)據(jù)庫表STUDENT2,SC和
COURSE2。三個表如下所示:
STUDENT2(學(xué)號,姓名,年齡,性別,院系編號)
SC(學(xué)號,課程號,成績,備注)
COURSE2(課程號,課程名,先修課號,學(xué)分)
在考生文件夾下有一個程序dbtest3.prg,該程序的功能是定義一個視圖VS1,
檢索選課門數(shù)是3門以上的每個學(xué)生的學(xué)號、姓名、平均成績、低分、選
課門數(shù)和院系編號,并按平均成績降序排序。請修改程序中的錯誤,并調(diào)試
該程序,使之正確運行。不得增加或刪減程序行。
2、在考生文件夾下有一個數(shù)據(jù)庫CUST_M,數(shù)據(jù)庫中有CUST和ORDER1兩個表。請
使用菜單設(shè)計器制作一個名為 MY_MENU的菜單,菜單只有"瀏覽"一個菜單
項。
瀏覽菜單項中有"客戶"、"訂單"和"退出"三個子菜單:
客戶子菜單使用SELECT * FROM CUST命令對CUST表查詢;
訂單子菜單使用SELECT * FROM ORDER1命令對ORDER1表查詢;
退出子菜單使用SET SYSMENU TO DEFAULT命令返回系統(tǒng)菜單。
第1題,本題是一個程序修改題。第一個錯誤是在"USE DATABASE SDB"行,打開數(shù)據(jù)庫的命令錯誤,應(yīng)該是"OPEN DATABASE SDB"。第二個錯誤是在"FROM STUDENT2, COURSE2",按題目所給程序下一行"WHERE STUDENT2.學(xué)號 = SC.學(xué)號",可知此處應(yīng)在STUDENT2和SC表中選擇,應(yīng)把COURSE2改為SC。第三個錯誤在"ORDER BY 成績"行中,因要求按平均成績降序排序,所以應(yīng)改為"ORDER BY 平均成績 DESC"。
第2題,本題的主要考核點是建立菜單。新建菜單可按下列步驟:選擇"文件"菜單中的"新建"命令,在"新建"對話框中選擇"菜單",單擊"新建文件"按鈕。在"新建菜單"對話框中選擇"菜單"按鈕,調(diào)出"菜單設(shè)計器"。也可用CREATE MENU命令直接調(diào)出菜單設(shè)計器。在菜單名稱中填入"瀏覽",結(jié)果為子菜單,單擊編輯;在子菜單的菜單名稱中分別輸入"客戶"、"訂單"和"退出",結(jié)果都為命令。分別在對應(yīng)的命令欄內(nèi)輸入相應(yīng)的命令,保存為MY_MENU。
三、綜合應(yīng)用(1小題,計30分)
在考生文件夾下有學(xué)生管理數(shù)據(jù)庫stu_3,數(shù)據(jù)庫中有score_fs表,其表結(jié)構(gòu)是
學(xué)號C(10)、物理I、高數(shù)I、英語I和平均分 N(6.2)。成績?nèi)绻?1表示,說明
學(xué)生沒有選學(xué)該門課程。其中 ,該表前四項已有數(shù)據(jù)。
請編寫并運行符合下列要求的程序:
設(shè)計一個名為form_my的表單,表單中有兩個命令按鈕,按鈕的名稱分別為
cmdYes和CmdNo,標(biāo)題分別為"統(tǒng)計"和"關(guān)閉"。
程序運行時,單擊"統(tǒng)計"按鈕應(yīng)完成下列操作:
(1)計算每一個學(xué)生的平均分存入平均分字段。注意:分?jǐn)?shù)為-1不記入平均分,
例如一個學(xué)生的三門成績存儲的是90,-1,70,平均分應(yīng)是80。
(2)根據(jù)上面的計算結(jié)果,生成一個新的表PJF ,該表只包括學(xué)號和平均分兩
項,并且按平均分的降序排序,如果平均分相等,則按學(xué)號升序排序。
單擊"關(guān)閉"按鈕,程序終止運行。
本題主要考核點:
表單的建立、程序設(shè)計中循環(huán)結(jié)構(gòu)、條件結(jié)構(gòu)的應(yīng)用、SELECT語句的應(yīng)用等知識點
解題思路:
第一步:利用表單設(shè)計器建立所要求的表單,將在表單上添加兩個按鈕控件。分別設(shè)置兩個按鈕控件的標(biāo)題和名字屬性。
第二步:雙擊標(biāo)題為"統(tǒng)計"的按鈕控件,在新打開的窗口中添加此按鈕的CLICK事件代碼:
SET TALK OFF &&在程序中要關(guān)閉命令結(jié)果的顯示
SET SAFETY OFF &&關(guān)閉當(dāng)生成的文件出現(xiàn)重名時的提示
OPEN DATABASE STU_3 &&打開數(shù)據(jù)庫文件STU_3 (也可以直接將數(shù)據(jù)庫文件加入到表單的數(shù)據(jù)環(huán)境之中)
USE SCORE_FS
GO
DO WHILE NOT EOF() &&遍歷每一條記錄
STORE 0 TO RS,PJF &&RS表示參加了幾個科目的考試,PJF表示參加考試科目的成績之和
IF 物理<>-1 THEN &&判斷是否參加了物理科的考試
RS=RS+1 &&如果參加了物理科的考試,則考試科目加1
PJF=PJF+物理 &&如果參加了物理科的考試,成績加上物理科的成績
ENDIF
IF 高數(shù)<>-1 THEN
RS=RS+1
PJF=PJF+高數(shù)
ENDIF
IF 英語<>-1 THEN
RS=RS+1
PJF=PJF+英語
ENDIF
IF RS<>0 THEN &&在有參加科目考試的情況下計算出平均成績
REPLACE 平均分 WITH PJF/RS && 計算出平均成績并寫入當(dāng)前記錄的"平均分"字段
ENDIF
SKIP
ENDDO
SELECT學(xué)號,平均分 FROM SCORE_FS ORDER BY 平均分 DESC,學(xué)號 INTO TABLE PJF
&&利用SELECT語句中的ORDER BY 子句進(jìn)行查詢的排序,ORDER BY 子句默認(rèn)的排序是升序,如果要指
&&寫為降序需用DESC,如果有多個排序的依據(jù),則按排序依據(jù)的優(yōu)先順序依次放在ORDER BY 子句的后面,
&&相互之間用,隔開;可以利用INTO TABLE子句將查詢的結(jié)果生成一個永久表,也可以生成一個臨時表
&&格式為:INTO CURSOR 臨時表名
CLOSE ALL &&關(guān)閉打開的數(shù)據(jù)庫等
SET SAFETY ON &&恢復(fù)原來的設(shè)置
SET TALK ON
第三步:用同樣的方法為標(biāo)題為"退出"的按鈕控件添加如下的CLICK的事件代碼:
thisForm.release &&退出此表單。
一、基本操作題(共四小題,第1和2題是7分、第3和4題是8分)
1、在考生文件夾下打開數(shù)據(jù)庫CUST_M,為CUST表建立主索引,索引名為客戶編號,
索引表達(dá)式為客戶編號。
2、CUST表和ORDER1表中必要的索引已經(jīng)建立,為兩表建立永久性聯(lián)系。
3、為CUST表增為字段:客戶等級C(2),字段值允許為空。
4、為ORDER1表"金額"字段增加有效性規(guī)則:金額大于零,否則提示:金額必須
大于零。
本題的主要考核點:
主索引的建立、為已建立索引的表建立聯(lián)系、字段的添加、字段有效性規(guī)則的建立。
解題思路:
1.在表設(shè)計器中的索引頁面,建立索引名索引表達(dá)式都為客戶編號的主索引。
2.建立兩個表的聯(lián)系。在父表中選中主索引,按住鼠標(biāo)拖動至子表相應(yīng)的普通索引上,釋放鼠標(biāo),聯(lián)系即已建立。
3.增加字段的方法:
打開CUST表的表設(shè)計器,將光標(biāo)移動到后的空字段格中,輸入新的字段名、字段類型及長度。字段值允許為空,則選中"NULL"項。
4.建立有效性規(guī)則比較簡單直接的方法是在表設(shè)計器中建立。在表設(shè)計器中首先選中要定義有效性規(guī)則的字段"金融",在"規(guī)則"一欄中輸入"金額>0"(或用表達(dá)式生成器生成),在"信息"欄中輸入:"金額必須大于零"。
二、簡單應(yīng)用(2小題,每題20分,計40分)
1、在考生文件夾中有一個數(shù)據(jù)庫SDB,其中有數(shù)據(jù)庫表STUDENT2,SC和
COURSE2。三個表如下所示:
STUDENT2(學(xué)號,姓名,年齡,性別,院系編號)
SC(學(xué)號,課程號,成績,備注)
COURSE2(課程號,課程名,先修課號,學(xué)分)
在考生文件夾下有一個程序dbtest3.prg,該程序的功能是定義一個視圖VS1,
檢索選課門數(shù)是3門以上的每個學(xué)生的學(xué)號、姓名、平均成績、低分、選
課門數(shù)和院系編號,并按平均成績降序排序。請修改程序中的錯誤,并調(diào)試
該程序,使之正確運行。不得增加或刪減程序行。
2、在考生文件夾下有一個數(shù)據(jù)庫CUST_M,數(shù)據(jù)庫中有CUST和ORDER1兩個表。請
使用菜單設(shè)計器制作一個名為 MY_MENU的菜單,菜單只有"瀏覽"一個菜單
項。
瀏覽菜單項中有"客戶"、"訂單"和"退出"三個子菜單:
客戶子菜單使用SELECT * FROM CUST命令對CUST表查詢;
訂單子菜單使用SELECT * FROM ORDER1命令對ORDER1表查詢;
退出子菜單使用SET SYSMENU TO DEFAULT命令返回系統(tǒng)菜單。
第1題,本題是一個程序修改題。第一個錯誤是在"USE DATABASE SDB"行,打開數(shù)據(jù)庫的命令錯誤,應(yīng)該是"OPEN DATABASE SDB"。第二個錯誤是在"FROM STUDENT2, COURSE2",按題目所給程序下一行"WHERE STUDENT2.學(xué)號 = SC.學(xué)號",可知此處應(yīng)在STUDENT2和SC表中選擇,應(yīng)把COURSE2改為SC。第三個錯誤在"ORDER BY 成績"行中,因要求按平均成績降序排序,所以應(yīng)改為"ORDER BY 平均成績 DESC"。
第2題,本題的主要考核點是建立菜單。新建菜單可按下列步驟:選擇"文件"菜單中的"新建"命令,在"新建"對話框中選擇"菜單",單擊"新建文件"按鈕。在"新建菜單"對話框中選擇"菜單"按鈕,調(diào)出"菜單設(shè)計器"。也可用CREATE MENU命令直接調(diào)出菜單設(shè)計器。在菜單名稱中填入"瀏覽",結(jié)果為子菜單,單擊編輯;在子菜單的菜單名稱中分別輸入"客戶"、"訂單"和"退出",結(jié)果都為命令。分別在對應(yīng)的命令欄內(nèi)輸入相應(yīng)的命令,保存為MY_MENU。
三、綜合應(yīng)用(1小題,計30分)
在考生文件夾下有學(xué)生管理數(shù)據(jù)庫stu_3,數(shù)據(jù)庫中有score_fs表,其表結(jié)構(gòu)是
學(xué)號C(10)、物理I、高數(shù)I、英語I和平均分 N(6.2)。成績?nèi)绻?1表示,說明
學(xué)生沒有選學(xué)該門課程。其中 ,該表前四項已有數(shù)據(jù)。
請編寫并運行符合下列要求的程序:
設(shè)計一個名為form_my的表單,表單中有兩個命令按鈕,按鈕的名稱分別為
cmdYes和CmdNo,標(biāo)題分別為"統(tǒng)計"和"關(guān)閉"。
程序運行時,單擊"統(tǒng)計"按鈕應(yīng)完成下列操作:
(1)計算每一個學(xué)生的平均分存入平均分字段。注意:分?jǐn)?shù)為-1不記入平均分,
例如一個學(xué)生的三門成績存儲的是90,-1,70,平均分應(yīng)是80。
(2)根據(jù)上面的計算結(jié)果,生成一個新的表PJF ,該表只包括學(xué)號和平均分兩
項,并且按平均分的降序排序,如果平均分相等,則按學(xué)號升序排序。
單擊"關(guān)閉"按鈕,程序終止運行。
本題主要考核點:
表單的建立、程序設(shè)計中循環(huán)結(jié)構(gòu)、條件結(jié)構(gòu)的應(yīng)用、SELECT語句的應(yīng)用等知識點
解題思路:
第一步:利用表單設(shè)計器建立所要求的表單,將在表單上添加兩個按鈕控件。分別設(shè)置兩個按鈕控件的標(biāo)題和名字屬性。
第二步:雙擊標(biāo)題為"統(tǒng)計"的按鈕控件,在新打開的窗口中添加此按鈕的CLICK事件代碼:
SET TALK OFF &&在程序中要關(guān)閉命令結(jié)果的顯示
SET SAFETY OFF &&關(guān)閉當(dāng)生成的文件出現(xiàn)重名時的提示
OPEN DATABASE STU_3 &&打開數(shù)據(jù)庫文件STU_3 (也可以直接將數(shù)據(jù)庫文件加入到表單的數(shù)據(jù)環(huán)境之中)
USE SCORE_FS
GO
DO WHILE NOT EOF() &&遍歷每一條記錄
STORE 0 TO RS,PJF &&RS表示參加了幾個科目的考試,PJF表示參加考試科目的成績之和
IF 物理<>-1 THEN &&判斷是否參加了物理科的考試
RS=RS+1 &&如果參加了物理科的考試,則考試科目加1
PJF=PJF+物理 &&如果參加了物理科的考試,成績加上物理科的成績
ENDIF
IF 高數(shù)<>-1 THEN
RS=RS+1
PJF=PJF+高數(shù)
ENDIF
IF 英語<>-1 THEN
RS=RS+1
PJF=PJF+英語
ENDIF
IF RS<>0 THEN &&在有參加科目考試的情況下計算出平均成績
REPLACE 平均分 WITH PJF/RS && 計算出平均成績并寫入當(dāng)前記錄的"平均分"字段
ENDIF
SKIP
ENDDO
SELECT學(xué)號,平均分 FROM SCORE_FS ORDER BY 平均分 DESC,學(xué)號 INTO TABLE PJF
&&利用SELECT語句中的ORDER BY 子句進(jìn)行查詢的排序,ORDER BY 子句默認(rèn)的排序是升序,如果要指
&&寫為降序需用DESC,如果有多個排序的依據(jù),則按排序依據(jù)的優(yōu)先順序依次放在ORDER BY 子句的后面,
&&相互之間用,隔開;可以利用INTO TABLE子句將查詢的結(jié)果生成一個永久表,也可以生成一個臨時表
&&格式為:INTO CURSOR 臨時表名
CLOSE ALL &&關(guān)閉打開的數(shù)據(jù)庫等
SET SAFETY ON &&恢復(fù)原來的設(shè)置
SET TALK ON
第三步:用同樣的方法為標(biāo)題為"退出"的按鈕控件添加如下的CLICK的事件代碼:
thisForm.release &&退出此表單。