計(jì)算機(jī)等級(jí)考試二級(jí)VFP機(jī)試試題25

字號(hào):

第二十五套
    一、基本操作題(共四小題,第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保存表單,并保存在考生文件夾下。