計(jì)算機(jī)等級考試二級VFP上機(jī)試題及解題思路(35)

字號:

計(jì)算機(jī)等級考試二級VFP上機(jī)試題及解題思路(35)

    第三十五套
    一、基本操作題
    在考生文件夾下完成如下操作:
    1. 建立一個名稱為"外匯管理"的數(shù)據(jù)庫。
    2. 將表currency_sl.DBF和rate_exchange.DBF添加到新建立的數(shù)據(jù)庫中。
    3. 將表rate_exchange.DBF中"買出價"字段的名稱改為"現(xiàn)鈔賣出價"。
    4. 通過"外幣代碼"字段建立表rate_exchange.DBF和currency_sl.DBF之間的一對多永久聯(lián)系(需要首先建立相關(guān)索引)。
    本題主要考核點(diǎn):
    數(shù)據(jù)庫的建立、將自由表添加到數(shù)據(jù)庫中、表索引的建立、表之間的永久聯(lián)系的建立等知識點(diǎn)
    本題解題思路:
    第1題:在Visual FoxPro主窗口中按下組合鍵Ctrl+N,系統(tǒng)彈出"新建"對話框,在文件類型中選擇"數(shù)據(jù)庫",點(diǎn)擊"新建文件"按鈕,在彈出的對話框的"數(shù)據(jù)庫名"處輸入"外匯數(shù)據(jù)",單擊"保存"按鈕。
    第2題:打開考生文件夾下的"外匯數(shù)據(jù)"數(shù)據(jù)庫;打開數(shù)據(jù)庫菜單選擇"添加表(A)",在彈出的"打開"對話框中,選定考生文件夾下的rate_exchange表,再點(diǎn)擊"確定"即可,這樣表rate_exchange就添加到了"外匯數(shù)據(jù)"數(shù)據(jù)庫中,用同樣的方法,將currency_sl表也添加到"外匯數(shù)據(jù)"數(shù)據(jù)庫中。
    第3題:在數(shù)據(jù)庫設(shè)計(jì)器中選中表rate_exchange,在主菜單中選擇"修改(Y)",彈出表設(shè)計(jì)器,選擇表設(shè)計(jì)器"字段"標(biāo)簽,在"字段名"列中將"買出價"字段的名稱改為"現(xiàn)鈔賣出價"。
    第4題:在數(shù)據(jù)庫設(shè)計(jì)器中選中表rate_exchange,在主菜單中選擇"修改(Y)",彈出表設(shè)計(jì)器,選擇表設(shè)計(jì)器"索引"標(biāo)簽,在索引名列中填入"外幣代碼",在索引類型列中選擇"主索引",在索引表達(dá)式列中填入"外幣代碼",點(diǎn)擊"確定"按鈕,保存表結(jié)構(gòu),用類似的方法,為currency_sl表建立普通索引;在數(shù)據(jù)庫設(shè)計(jì)器中,選中rate_exchange表中的索引"外幣代碼"并拖動到表currency_sl的"外幣代碼"的索引上并松開,這樣兩個表之間就建立起了永久聯(lián)系。
    二、簡單應(yīng)用(2小題,每題20分,計(jì)40分)
    在考生文件夾下完成如下簡單應(yīng)用:
    1. 在建立的"外匯管理"數(shù)據(jù)庫中利用視圖設(shè)計(jì)器建立滿足如下要求的視圖:
    1) 視圖按順序包含列Currency_sl.姓名、Rate_exchange.外幣名稱、Currency_sl.持有數(shù)量和表達(dá)式Rate_exchange.基準(zhǔn)價* Currency_sl.持有數(shù)量;
    2) 按"Rate_exchange.基準(zhǔn)價* Currency_sl.持有數(shù)量"降序排序;
    3) 將視圖保存為view_rate。
    2. 使用SQL SELECT語句完成一個匯總查詢,結(jié)果保存在results.dbf表中,該表含有"姓名"和"人民幣價值"兩個字段(其中"人民幣價值"為每人持有外幣的
    "Rate_exchange.基準(zhǔn)價* Currency_sl.持有數(shù)量"的合計(jì)),結(jié)果按"人民幣價值"降序排序。
    本題主要考核點(diǎn):
    SQL查詢語句,查詢?nèi)ハ颍y(tǒng)計(jì),數(shù)據(jù)分組,利用視圖設(shè)計(jì)器建立視圖等
    本題解題思路:
    第1題,本題的主要考核點(diǎn)是:利用視圖設(shè)計(jì)器建立視圖。
    在新建對話框中、項(xiàng)目管理器中、或用CREATE VIEW命令打開視圖設(shè)計(jì)器。建立一個視圖,將"Currency_sl"表,"Rate_exchange"表,表添加到視圖中,并將題中指定字段,和表達(dá)式添加入視圖;切換到"排序依據(jù)"中選擇表達(dá)式"Rate_exchange.基準(zhǔn)價* Currency_sl.持有數(shù)量",在"排序選項(xiàng)"處選擇"降序";最后將視圖命名為view_rate。
    第2題,本題的主要考核點(diǎn)是:SQL查詢語句,查詢?nèi)ハ颍y(tǒng)計(jì),數(shù)據(jù)分組。
    SELECT Currency_sl.姓名,SUM(Rate_exchange.基準(zhǔn)價* Currency_sl.持有數(shù)量) as 人民幣價值;
    FROM rate_exchange INNER JOIN currency_sl;
    ON Rate_exchange.外幣代碼 = Currency_sl.外幣代碼;
    GROUP BY Currency_sl.姓名;
    ORDER BY 2 DESC;
    INTO TABLE results
    三、綜合應(yīng)用(1小題,計(jì)30分)
    設(shè)計(jì)一個表單,所有控件的屬性必須在表單設(shè)計(jì)器的屬性窗口中設(shè)置,表單
    文件名為"外匯瀏覽",表單界面如下所示:
    其中:
    1. "輸入姓名"為標(biāo)簽控件Label1;
    2. 表單標(biāo)題為"外匯查詢";
    3. 文本框的名稱為Text1,用于輸入要查詢的姓名,如張三豐;
    4. 表格控件的名稱為Grid1,用于顯示所查詢?nèi)顺钟械耐鈳琶Q和持有數(shù)量,RecordSourceType的屬性為0(表);
    5. "查詢"命令按鈕的名稱為Command1,單擊該按鈕時在表格控件Grid1中按持有數(shù)量升序顯示所查詢?nèi)顺钟械耐鈳琶Q和數(shù)量(如上圖所示),并將結(jié)果存
    儲在以姓名命名的DBF表文件中,如張三豐.DBF;
    6. "退出"命令按鈕的名稱為Command2,單擊該按鈕時關(guān)閉表單。
    完成以上表單設(shè)計(jì)后運(yùn)行該表單,并分別查詢"林詩因"、"張三豐"和"李尋歡"所持有的外幣名稱和持有數(shù)量。
    本題主要考核點(diǎn):
    表單文件的創(chuàng)建、控件的屬性的修改、SQL語句運(yùn)用、表單的退出等知識點(diǎn)
    本題解題思路:
    操作過程:
    ①在命令窗口輸入命令:CREATE FORM 外匯瀏覽,打開表單設(shè)計(jì)器窗口。
    ②在表格上添加各文本框、命令按鈕、表格及相關(guān)的標(biāo)簽,并進(jìn)行適當(dāng)?shù)牟贾煤痛笮≌{(diào)整。
    ③設(shè)置各標(biāo)簽、命令按鈕以及表單的Caption屬性值。
    ④將表單的RecordSourceType屬性值設(shè)置為"4-SQL說明"。
    ⑤設(shè)置"查詢"按鈕的Click事件代碼:
    SET TALK OFF
    SET SAFETY OFF
    a=ALLTRIM(THISFORM.text1.VALUE)
    SELECT Rate_exchange.外幣名稱, Currency_sl.持有數(shù)量;
    FROM 外匯管理!rate_exchange INNER JOIN 外匯管理!currency_sl;
    ON Rate_exchange.外幣代碼 = Currency_sl.外幣代碼;
    ORDER BY Currency_sl.持有數(shù)量;
    WHERE Currency_sl.姓名=a;
    INTO TABLE (a)
    THISFORM.Grid1.RECORDSOURCE="(a)"
    SET TALK ON
    SET SAFETY ON
    ⑥設(shè)置"退出"按鈕的Click事件代碼:
    THISFORM.RELEASE
    ⑦保存表單,關(guān)閉表單設(shè)計(jì)器窗口。