第二十五套
一、基本操作題(共四小題,第1和2題是7分、第3和4題是8分)
在考生文件夾下的"商品銷售"數(shù)據(jù)庫(kù)中完成如下操作:
1. 將"銷售表"中的日期在2000年12月31日前(含2000年12月31日)的記錄復(fù)
制到一個(gè)新表"2001.dbf"中。
2.將"銷售表"中的日期(日期型字段)在2000年12月31日前(含2000年12月
31日)的記錄物理刪除。
3.打開"商品表",使用BROWSE命令瀏覽時(shí),使用"文件"菜單中的選項(xiàng)將"商
品表"中的記錄生成文件名為"商品表.htm"的HTML格式文件。
4.為"商品表"創(chuàng)建一個(gè)主索引,索引名和索引表達(dá)式均是"商品號(hào)";為"銷
售表"創(chuàng)建一個(gè)普通索引(升序),索引名和索引表達(dá)式均是"商品號(hào)"。
本題主要考核點(diǎn):
SQL查詢語(yǔ)句的使用、SQL語(yǔ)言中刪除語(yǔ)句的使用、如何將一個(gè)表存為一個(gè)HTML文件、表的索引的建立方法等知識(shí)點(diǎn)。
解題思路:
第一步:打開考生文件夾下的"商品銷售"數(shù)據(jù)庫(kù)
第二步:在命令窗口中輸入以下語(yǔ)句:
SELECT * FROM 銷售表 WHERE 日期<={^2000-12-31} INTO TABLE 2001.DBF
并執(zhí)行該語(yǔ)句。根據(jù)要求要得到2001年12月31日以前的銷售表的記錄,將條件:日期<={^2000-12-31}放在WHERE子句的后面,結(jié)果集存放入一個(gè)永久表2001.dbf中要用到INTO TABLE子句
第三步:在物理刪除記錄,我們要先將其邏輯刪除,然后使用PACK命令將加上邏輯刪除的記錄物理刪除。所以在命令窗口依次執(zhí)行以下兩條命令即可:
DELETE FROM 銷售表 WHERE 日期<={^2000-12-31}
PACK
第四步:在命令窗口依次執(zhí)行:USE 商品表和Brow兩條命令,在商品表處于瀏覽狀態(tài)時(shí),選擇"文件"菜單的"另存為HTML(H)",彈出"另存為HTML"對(duì)話框,選擇"保存文件以便以后使用"選項(xiàng),并點(diǎn)擊文件位置按鈕,彈出"另存為"對(duì)話框,選擇考生文件夾,并在"保存"文件框中輸入"商品表.html",點(diǎn)擊"確定"按鈕,返回"另存為HTML"對(duì)話框,點(diǎn)擊"確定"即可。
第五步:在數(shù)據(jù)庫(kù)設(shè)計(jì)器中選擇"商品表",點(diǎn)擊主菜單"數(shù)據(jù)庫(kù)"下的"修改",彈出表設(shè)計(jì)器,在表設(shè)計(jì)器中,選擇"索引 "標(biāo)簽,在索引名和表達(dá)式列中分別輸入"商品號(hào)",在類型列中選擇"主索引",點(diǎn)擊"確定",保存對(duì)"商品表"結(jié)構(gòu)的修改。用同樣的方法可以對(duì)"銷售表" 的索引進(jìn)行修改。二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
在考生文件夾下完成如下簡(jiǎn)單應(yīng)用:
1. 在"商品銷售"數(shù)據(jù)庫(kù)中,根據(jù)"銷售表"和"商品表"查詢每種商品的商品號(hào)、
商品名、單價(jià)、銷售數(shù)量和銷售金額(商品號(hào)、商品名取自商品表,單價(jià)
和銷售數(shù)量取自銷售表,銷售金額=單價(jià)*銷售數(shù)量),結(jié)果按銷售金額降
序排序,并將查詢結(jié)果存儲(chǔ)到see_a表中。
2. 在考生文件夾下有一個(gè)名稱為form1 的表單文件,該表單中的三個(gè)命令按
鈕的 click事件下的語(yǔ)句有錯(cuò)誤。請(qǐng)按如下要求進(jìn)行修改,修改完成后保
存所做的修改:
(1) 單擊"刷新標(biāo)題"命令按鈕時(shí),將表單的標(biāo)題改為"商品銷售數(shù)據(jù)輸入";
(2) 單擊"商品銷售輸入"命令按鈕時(shí),調(diào)用當(dāng)前文件夾下的名稱為 sellcomm
的表單文件打開數(shù)據(jù)輸入表單;
(3) 單擊"輸出銷售報(bào)表"命令按鈕時(shí),調(diào)用當(dāng)前文件夾下的名稱為 print1的
報(bào)表文件對(duì)報(bào)表進(jìn)行預(yù)覽。
注意:每處錯(cuò)誤只能在原語(yǔ)句上進(jìn)行修改,不可以增加語(yǔ)句行。
本題主要考核點(diǎn):
SQL查詢語(yǔ)句中的聯(lián)接查詢、表單的建立方法、表單中事件代碼、通過(guò)命令來(lái)執(zhí)行表單和報(bào)表的方法等知識(shí)點(diǎn)。
解題思路:
第一小題:本題主要考查詢語(yǔ)句中的聯(lián)接查詢。如果要得到的結(jié)果集來(lái)自兩個(gè)不同的表,要用到聯(lián)接查詢,聯(lián)接查詢的兩個(gè)表放在FROM子句的后面,在本題中是:商品表和銷售表,它們之間用逗號(hào)隔開;聯(lián)接查詢來(lái)指明兩個(gè)表聯(lián)接的條件放在WHERE子句的后面,并且如果一個(gè)字段在另一個(gè)表中也有同名的字段需要指明字段所在的表,聯(lián)接的條件是:商品表.商品號(hào)=銷售表.商品號(hào);結(jié)果集的排序依據(jù)要放在ORDER BY子句的后面,這里是以銷售金額的降序進(jìn)行排序,所以排序是:ORDER BY 銷售金額 DESC;結(jié)果集要保存在一個(gè)永久表中要用到INTO TABLE子句。完整的查詢語(yǔ)句如下:
SELECT 商品表.商品號(hào),商品名,銷售表.單價(jià),;
銷售數(shù)量,銷售表.單價(jià)*銷售數(shù)量 AS 銷售金額;
FROM 商品表,銷售表;
WHERE 商品表.商品號(hào)=銷售表.商品號(hào);
ORDER BY 銷售金額 DESC;
INTO TABLE SEE_A
第二小題:首先打開考生文件夾下的form1.scx表單文件,對(duì)"刷新標(biāo)題"按鈕的Click事件代碼,要改變表單的標(biāo)題,需要對(duì)表單的Caption屬性進(jìn)行修改,所以此處應(yīng)改為:thisform.caption="商品銷售數(shù)據(jù)輸入";對(duì)"商品銷售輸入"按鈕的 Click的事件代碼,是要調(diào)用sellcomm表單,而要執(zhí)行一個(gè)表單,需要用DO FORM命令,所以此處應(yīng)改為:DO FORM SELLCOMM;對(duì)"輸入銷售報(bào)表"按鈕的Click事件代碼,要調(diào)用print1報(bào)表文件,需要用REPORT FORM命令,所以此處應(yīng)改為:REPORT FORM PRINT1 preview。最后保存修改后的表單。 三、綜合應(yīng)用(1小題,計(jì)30分)
在考生文件夾下,對(duì)"商品銷售"數(shù)據(jù)庫(kù)完成如下綜合應(yīng)用:
1.請(qǐng)編寫名稱為change_c 的命令程序并執(zhí)行,該程序?qū)崿F(xiàn)下面的功能:將"
商品表"進(jìn)行備份,備份文件名為"SPBAK.dbf";
將"商品表"中"商品號(hào)"前兩位編號(hào)為"10"的商品的"單價(jià)"修改為出廠單價(jià)
提高10%;
使用"單價(jià)調(diào)整表"對(duì)商品表的部分商品出廠單價(jià)進(jìn)行修改(按"商品號(hào)"
相同)。
2.設(shè)計(jì)一個(gè)名稱為form2的表單,上面有"調(diào)整"(名稱Command1)和"退出"(名
稱Command2)兩個(gè)命令按鈕。
單擊"調(diào)整"命令按鈕時(shí),調(diào)用change_c命令程序?qū)崿F(xiàn)商品單價(jià)調(diào)整;
單擊"退出"命令按鈕時(shí),關(guān)閉表單。
注意:以上兩個(gè)命令按鈕均只含一條語(yǔ)句,不可以有多余的語(yǔ)句。
本題主要考核點(diǎn):
程序的建立方法、記錄的更新、循環(huán)結(jié)構(gòu)、表單的建立方法、控件的基本知識(shí)等知識(shí)點(diǎn)
解題思路:
第一步:在Visual ForxPro主窗口中按下組合鍵Ctrl+N,彈出"新建"對(duì)話框,在文件類型中選擇"程序",點(diǎn)擊"新建文件",彈出代碼編輯器窗口
第二步:在代碼編輯器窗口,輸入以下代碼:
SET TALK OFF
SET SAFETY OFF
&&備份商品表
SELECT * FROM 商品表 INTO TABLE SPBAK.DBF
&&修改商品的單價(jià)
UPDATE 商品表 SET 單價(jià)=出廠單價(jià)*1.1 WHERE LEFT(商品號(hào),2)="10"
USE 單價(jià)調(diào)整表
DO WHILE NOT EOF()
UPDATE 商品表 SET 出廠單價(jià)=單價(jià)調(diào)整表.出廠單價(jià);
WHERE 商品號(hào)=單價(jià)調(diào)整表.商品號(hào)
SKIP
ENDDO
CLOSE ALL
SET TALK ON
SET SAFETY ON
第三步:以文件名change_c.prg保存程序文件在考生文件夾下。并執(zhí)行
第四步:在Visual FoxPro的主窗口按下組合鍵Ctrl+N,彈出"新建"對(duì)話框,在文件類型中選擇"表單",點(diǎn)擊"新建文件"按鈕
第五步:在打開的表單編輯器窗口中放上兩個(gè)標(biāo)題分別為"調(diào)整"和"退出"的命令按鈕,并為標(biāo)題為"調(diào)整"的命令按鈕添加如下Click的事件代碼:DO CHANGE_C.PRG;為標(biāo)題為"退出"的命令按鈕添加如下Click事件代碼:THISFORM.RELEASE.
第六步:以文件名form2.scx保存表單,并保存在考生文件夾下。
一、基本操作題(共四小題,第1和2題是7分、第3和4題是8分)
在考生文件夾下的"商品銷售"數(shù)據(jù)庫(kù)中完成如下操作:
1. 將"銷售表"中的日期在2000年12月31日前(含2000年12月31日)的記錄復(fù)
制到一個(gè)新表"2001.dbf"中。
2.將"銷售表"中的日期(日期型字段)在2000年12月31日前(含2000年12月
31日)的記錄物理刪除。
3.打開"商品表",使用BROWSE命令瀏覽時(shí),使用"文件"菜單中的選項(xiàng)將"商
品表"中的記錄生成文件名為"商品表.htm"的HTML格式文件。
4.為"商品表"創(chuàng)建一個(gè)主索引,索引名和索引表達(dá)式均是"商品號(hào)";為"銷
售表"創(chuàng)建一個(gè)普通索引(升序),索引名和索引表達(dá)式均是"商品號(hào)"。
本題主要考核點(diǎn):
SQL查詢語(yǔ)句的使用、SQL語(yǔ)言中刪除語(yǔ)句的使用、如何將一個(gè)表存為一個(gè)HTML文件、表的索引的建立方法等知識(shí)點(diǎn)。
解題思路:
第一步:打開考生文件夾下的"商品銷售"數(shù)據(jù)庫(kù)
第二步:在命令窗口中輸入以下語(yǔ)句:
SELECT * FROM 銷售表 WHERE 日期<={^2000-12-31} INTO TABLE 2001.DBF
并執(zhí)行該語(yǔ)句。根據(jù)要求要得到2001年12月31日以前的銷售表的記錄,將條件:日期<={^2000-12-31}放在WHERE子句的后面,結(jié)果集存放入一個(gè)永久表2001.dbf中要用到INTO TABLE子句
第三步:在物理刪除記錄,我們要先將其邏輯刪除,然后使用PACK命令將加上邏輯刪除的記錄物理刪除。所以在命令窗口依次執(zhí)行以下兩條命令即可:
DELETE FROM 銷售表 WHERE 日期<={^2000-12-31}
PACK
第四步:在命令窗口依次執(zhí)行:USE 商品表和Brow兩條命令,在商品表處于瀏覽狀態(tài)時(shí),選擇"文件"菜單的"另存為HTML(H)",彈出"另存為HTML"對(duì)話框,選擇"保存文件以便以后使用"選項(xiàng),并點(diǎn)擊文件位置按鈕,彈出"另存為"對(duì)話框,選擇考生文件夾,并在"保存"文件框中輸入"商品表.html",點(diǎn)擊"確定"按鈕,返回"另存為HTML"對(duì)話框,點(diǎn)擊"確定"即可。
第五步:在數(shù)據(jù)庫(kù)設(shè)計(jì)器中選擇"商品表",點(diǎn)擊主菜單"數(shù)據(jù)庫(kù)"下的"修改",彈出表設(shè)計(jì)器,在表設(shè)計(jì)器中,選擇"索引 "標(biāo)簽,在索引名和表達(dá)式列中分別輸入"商品號(hào)",在類型列中選擇"主索引",點(diǎn)擊"確定",保存對(duì)"商品表"結(jié)構(gòu)的修改。用同樣的方法可以對(duì)"銷售表" 的索引進(jìn)行修改。二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
在考生文件夾下完成如下簡(jiǎn)單應(yīng)用:
1. 在"商品銷售"數(shù)據(jù)庫(kù)中,根據(jù)"銷售表"和"商品表"查詢每種商品的商品號(hào)、
商品名、單價(jià)、銷售數(shù)量和銷售金額(商品號(hào)、商品名取自商品表,單價(jià)
和銷售數(shù)量取自銷售表,銷售金額=單價(jià)*銷售數(shù)量),結(jié)果按銷售金額降
序排序,并將查詢結(jié)果存儲(chǔ)到see_a表中。
2. 在考生文件夾下有一個(gè)名稱為form1 的表單文件,該表單中的三個(gè)命令按
鈕的 click事件下的語(yǔ)句有錯(cuò)誤。請(qǐng)按如下要求進(jìn)行修改,修改完成后保
存所做的修改:
(1) 單擊"刷新標(biāo)題"命令按鈕時(shí),將表單的標(biāo)題改為"商品銷售數(shù)據(jù)輸入";
(2) 單擊"商品銷售輸入"命令按鈕時(shí),調(diào)用當(dāng)前文件夾下的名稱為 sellcomm
的表單文件打開數(shù)據(jù)輸入表單;
(3) 單擊"輸出銷售報(bào)表"命令按鈕時(shí),調(diào)用當(dāng)前文件夾下的名稱為 print1的
報(bào)表文件對(duì)報(bào)表進(jìn)行預(yù)覽。
注意:每處錯(cuò)誤只能在原語(yǔ)句上進(jìn)行修改,不可以增加語(yǔ)句行。
本題主要考核點(diǎn):
SQL查詢語(yǔ)句中的聯(lián)接查詢、表單的建立方法、表單中事件代碼、通過(guò)命令來(lái)執(zhí)行表單和報(bào)表的方法等知識(shí)點(diǎn)。
解題思路:
第一小題:本題主要考查詢語(yǔ)句中的聯(lián)接查詢。如果要得到的結(jié)果集來(lái)自兩個(gè)不同的表,要用到聯(lián)接查詢,聯(lián)接查詢的兩個(gè)表放在FROM子句的后面,在本題中是:商品表和銷售表,它們之間用逗號(hào)隔開;聯(lián)接查詢來(lái)指明兩個(gè)表聯(lián)接的條件放在WHERE子句的后面,并且如果一個(gè)字段在另一個(gè)表中也有同名的字段需要指明字段所在的表,聯(lián)接的條件是:商品表.商品號(hào)=銷售表.商品號(hào);結(jié)果集的排序依據(jù)要放在ORDER BY子句的后面,這里是以銷售金額的降序進(jìn)行排序,所以排序是:ORDER BY 銷售金額 DESC;結(jié)果集要保存在一個(gè)永久表中要用到INTO TABLE子句。完整的查詢語(yǔ)句如下:
SELECT 商品表.商品號(hào),商品名,銷售表.單價(jià),;
銷售數(shù)量,銷售表.單價(jià)*銷售數(shù)量 AS 銷售金額;
FROM 商品表,銷售表;
WHERE 商品表.商品號(hào)=銷售表.商品號(hào);
ORDER BY 銷售金額 DESC;
INTO TABLE SEE_A
第二小題:首先打開考生文件夾下的form1.scx表單文件,對(duì)"刷新標(biāo)題"按鈕的Click事件代碼,要改變表單的標(biāo)題,需要對(duì)表單的Caption屬性進(jìn)行修改,所以此處應(yīng)改為:thisform.caption="商品銷售數(shù)據(jù)輸入";對(duì)"商品銷售輸入"按鈕的 Click的事件代碼,是要調(diào)用sellcomm表單,而要執(zhí)行一個(gè)表單,需要用DO FORM命令,所以此處應(yīng)改為:DO FORM SELLCOMM;對(duì)"輸入銷售報(bào)表"按鈕的Click事件代碼,要調(diào)用print1報(bào)表文件,需要用REPORT FORM命令,所以此處應(yīng)改為:REPORT FORM PRINT1 preview。最后保存修改后的表單。 三、綜合應(yīng)用(1小題,計(jì)30分)
在考生文件夾下,對(duì)"商品銷售"數(shù)據(jù)庫(kù)完成如下綜合應(yīng)用:
1.請(qǐng)編寫名稱為change_c 的命令程序并執(zhí)行,該程序?qū)崿F(xiàn)下面的功能:將"
商品表"進(jìn)行備份,備份文件名為"SPBAK.dbf";
將"商品表"中"商品號(hào)"前兩位編號(hào)為"10"的商品的"單價(jià)"修改為出廠單價(jià)
提高10%;
使用"單價(jià)調(diào)整表"對(duì)商品表的部分商品出廠單價(jià)進(jìn)行修改(按"商品號(hào)"
相同)。
2.設(shè)計(jì)一個(gè)名稱為form2的表單,上面有"調(diào)整"(名稱Command1)和"退出"(名
稱Command2)兩個(gè)命令按鈕。
單擊"調(diào)整"命令按鈕時(shí),調(diào)用change_c命令程序?qū)崿F(xiàn)商品單價(jià)調(diào)整;
單擊"退出"命令按鈕時(shí),關(guān)閉表單。
注意:以上兩個(gè)命令按鈕均只含一條語(yǔ)句,不可以有多余的語(yǔ)句。
本題主要考核點(diǎn):
程序的建立方法、記錄的更新、循環(huán)結(jié)構(gòu)、表單的建立方法、控件的基本知識(shí)等知識(shí)點(diǎn)
解題思路:
第一步:在Visual ForxPro主窗口中按下組合鍵Ctrl+N,彈出"新建"對(duì)話框,在文件類型中選擇"程序",點(diǎn)擊"新建文件",彈出代碼編輯器窗口
第二步:在代碼編輯器窗口,輸入以下代碼:
SET TALK OFF
SET SAFETY OFF
&&備份商品表
SELECT * FROM 商品表 INTO TABLE SPBAK.DBF
&&修改商品的單價(jià)
UPDATE 商品表 SET 單價(jià)=出廠單價(jià)*1.1 WHERE LEFT(商品號(hào),2)="10"
USE 單價(jià)調(diào)整表
DO WHILE NOT EOF()
UPDATE 商品表 SET 出廠單價(jià)=單價(jià)調(diào)整表.出廠單價(jià);
WHERE 商品號(hào)=單價(jià)調(diào)整表.商品號(hào)
SKIP
ENDDO
CLOSE ALL
SET TALK ON
SET SAFETY ON
第三步:以文件名change_c.prg保存程序文件在考生文件夾下。并執(zhí)行
第四步:在Visual FoxPro的主窗口按下組合鍵Ctrl+N,彈出"新建"對(duì)話框,在文件類型中選擇"表單",點(diǎn)擊"新建文件"按鈕
第五步:在打開的表單編輯器窗口中放上兩個(gè)標(biāo)題分別為"調(diào)整"和"退出"的命令按鈕,并為標(biāo)題為"調(diào)整"的命令按鈕添加如下Click的事件代碼:DO CHANGE_C.PRG;為標(biāo)題為"退出"的命令按鈕添加如下Click事件代碼:THISFORM.RELEASE.
第六步:以文件名form2.scx保存表單,并保存在考生文件夾下。