點(diǎn)擊查看:2015年計(jì)算機(jī)二級(jí)VFP考試練習(xí)及答案解析匯總
第8套
一、基本操作題(共4小題,第1和2題是7分、第3和4題是8分)
在考生文件夾下已有order、orderitem和goods三個(gè)表。其中,order表包含訂單的基本信息,orderitem表包含訂單的詳細(xì)信息,goods表包含商品(圖書)的相關(guān)信息。
在考生文件夾下完成如下操作:
1.創(chuàng)建一個(gè)名為"訂單管理"的數(shù)據(jù)庫,并將已有的order、orderitem和goods三個(gè)表添加到該數(shù)據(jù)庫中。
2.在表設(shè)計(jì)器中為order表建立一個(gè)普通索引,索引名為nf,索引表達(dá)式為"year(簽訂日期)"。
3.通過"訂單號(hào)"在order表和orderitem表之間建立一個(gè)一對(duì)多的永久聯(lián)系,它們的和索引表達(dá)式均為"訂單號(hào)"。
4.為上述建立的聯(lián)系設(shè)置參照完整性約束:更新規(guī)則為"限制",刪除規(guī)則為"級(jí)聯(lián)",插入規(guī)則為"限制"。
本題的主要考核點(diǎn):數(shù)據(jù)庫的建立、將自由表添加到數(shù)據(jù)庫中、主索引和普通索引的建立、建立兩個(gè)表之間的聯(lián)系、設(shè)置參照完整性約束。
解題思路:
1、創(chuàng)建數(shù)據(jù)庫可以使用"文件"菜單完成,選擇文件--新建--數(shù)據(jù)庫--新建文件,輸入數(shù)據(jù)庫名稱為"訂單管理",在數(shù)據(jù)庫設(shè)計(jì)器中依次添加order、orderitem和goods表。
2、打開order表的表設(shè)計(jì)器,打開"索引"選項(xiàng)卡,在索引名處輸入:nf,類型選擇"普通索引",表達(dá)式為:year(簽訂日期)。
3、接著,在索引名處輸入:訂單號(hào),類型選擇"主索引",表達(dá)式為:訂單號(hào)。再打開orderitem表的表設(shè)計(jì)器,打開"索引"選項(xiàng)卡,在索引名處輸入:訂單號(hào),類型選擇"普通索引",表達(dá)式為:訂單號(hào)。在數(shù)據(jù)庫設(shè)計(jì)器中,選中order表中的索引"訂單號(hào)"并拖動(dòng)到orderitem表的"訂單號(hào)"的索引上并松開,這樣兩個(gè)表之間就建立起了永久聯(lián)系。
4、為聯(lián)系指定參照完整性:在聯(lián)系上單擊右鍵,打開"編輯參照完整性"對(duì)話框或者在"數(shù)據(jù)庫"菜單中選擇"編輯參照完整性",打開"參照完整性"生成器。選擇更新規(guī)則為"限制",刪除規(guī)則為"級(jí)聯(lián)",插入規(guī)則為"限制"。
二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
1.利用查詢?cè)O(shè)計(jì)器創(chuàng)建查詢,從order、orderitem和goods表中查詢2001年簽訂的所有訂單的信息,查詢結(jié)果依次包含訂單號(hào)、客戶名、簽訂日期、商品名、單價(jià)和數(shù)量等六項(xiàng)內(nèi)容。各記錄按訂單號(hào)降序排序;訂單號(hào)相同按商品名降序排序。查詢?nèi)ハ驗(yàn)楸韙ableone。最后將查詢保存在queryone.qpr文件中,并運(yùn)行該查詢。
2.在考生文件夾下已有表單文件myform.scx,其中包含一個(gè)標(biāo)簽、一個(gè)文本框和一個(gè)命令按鈕(不要改變它們的名稱)。如下圖所示:
請(qǐng)?jiān)O(shè)置"確定"按鈕的Click事件代碼,使得當(dāng)表單運(yùn)行時(shí),單擊命令按鈕可以查詢?cè)谖谋究蛑休斎氲闹付ǹ蛻舻乃杏唵蔚男畔ⅲ樵兘Y(jié)果依次包含訂單號(hào)、簽訂日期、商品名、單價(jià)和數(shù)量等五項(xiàng)內(nèi)容。各記錄按訂單號(hào)升序排序;訂單號(hào)相同按商品名升序排序,并將查詢結(jié)果存放在表tabletwo中。
設(shè)置完成后運(yùn)行表單,然后在文本框中輸入客戶名lilan,并單擊"確定"按鈕完成查詢。
本題主要考核點(diǎn):利用查詢?cè)O(shè)計(jì)器建立查詢、SQL語句運(yùn)用。
解題思路:
第1題:建立查詢可以使用"文件"菜單完成,選擇文件--新建--查詢--新建文件,將order、orderitem和goods表添加到查詢?cè)O(shè)計(jì)器中,并設(shè)置三表間的聯(lián)系。在"字段"選項(xiàng)卡選擇"訂單號(hào)"、"客戶名"、"簽訂日期"、"商品名"、"單價(jià)"和"數(shù)量"字段;切換到"篩選"中,在"字段名"的表達(dá)式中輸入:YEAR(Order.簽訂日期),"條件"中選擇"=","實(shí)例"中輸入:2001;切換到"排序依據(jù)"中選擇字段"order.訂單號(hào)",在"排序選項(xiàng)"處選擇"降序",再選擇字段"Goods.商品名",在"排序選項(xiàng)"處選擇"降序";單擊查詢菜單下的查詢?nèi)ハ,選擇表,輸入表名tableone,最后將查詢保存在queryone.qpr文件中,并運(yùn)行該查詢。
第2題:設(shè)置"確定"按鈕的Click事件代碼:
select Order.訂單號(hào),Order.簽訂日期,Goods.商品名,Goods.單價(jià),Orderitem.數(shù)量;
from goods,orderitem,order;
where Order.訂單號(hào)=Orderitem.訂單號(hào) and Goods.商品號(hào)=Orderitem.商品號(hào);
and Order.客戶名=thisform.Text1.Text;
order by Order.訂單號(hào),Goods.商品名 into table tabletwo.dbf
保存表單并運(yùn)行,在文本框中輸入lilan,并單擊"確定"命令按鈕。
三、綜合應(yīng)用(1小題,計(jì)30分)
在考生文件夾下創(chuàng)建一個(gè)下拉式菜單mymenu.mnx,并生成菜單程序mymenu.mpr。運(yùn)行該菜單程序時(shí)會(huì)在當(dāng)前vfp系統(tǒng)菜單的末尾追加一個(gè)"考試"子菜單,如下圖所示。
菜單命令"計(jì)算"和"返回"的功能都通過執(zhí)行過程完成。
菜單命令"計(jì)算"的功能是計(jì)算各商品在2001年的訂購總金額(若某商品沒有被訂購,則其總金額為零)。計(jì)算結(jié)果保存在three表中,其中包含商品名和總金額兩個(gè)字段,各記錄按商品名升序排序。
提示:可分兩步完成,首先從表order和orderitem中獲取2001年訂單有關(guān)商品數(shù)量的信息,并保存在臨時(shí)表中;然后再將表goods與臨時(shí)表進(jìn)行左聯(lián)接,并完成總金額的計(jì)算。
菜單命令"返回"的功能是恢復(fù)標(biāo)準(zhǔn)的系統(tǒng)菜單。
菜單程序生成后,運(yùn)行菜單程序并依次執(zhí)行"計(jì)算"和"返回"菜單命令。
本題的主要考核點(diǎn):創(chuàng)建菜單。
解題思路:
1、建立菜單可以使用"文件"菜單完成,選擇文件--新建--菜單--新建文件打開菜單設(shè)計(jì)器。打開"顯示"菜單下的"常規(guī)選項(xiàng)"對(duì)話框,在"位置"處選擇追加,則新建立的子菜單會(huì)在當(dāng)前vfp系統(tǒng)菜單后顯示。
2、在菜單名稱中填入"考試",結(jié)果為子菜單,單擊創(chuàng)建;在子菜單的菜單名稱中輸入"計(jì)算",結(jié)果為過程。在過程中輸入下列命令:
select orderitem.商品號(hào),orderitem.數(shù)量;
from order inner join orderitem;
on order.訂單號(hào)=orderitem.訂單號(hào);
where year(order.簽訂日期)=2001;
into table tmp.dbf
select goods.商品名,sum(goods.單價(jià)*tmp.數(shù)量) as 總金額;
from goods left outer join tmp;
on goods.商品號(hào)=tmp.商品號(hào);
group by goods.商品名;
order by goods.商品名;
into table three.dbf
do while not eof()
if isnull(總金額)
replace 總金額 with 0
endif
skip
enddo
在菜單名稱中填入"返回",結(jié)果為過程,在過程中輸入此命令:SET SYSMENU TO DEFAULT。
3、最后保存菜單mymenu.mnx,并生成菜單程序mymenu.mpr,且運(yùn)行菜單程序并依次執(zhí)行"計(jì)算"和"返回"菜單命令。
相關(guān)推薦:
各地2015年計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |