點(diǎn)擊查看:2015年計(jì)算機(jī)二級(jí)VFP考試練習(xí)及答案解析匯總
第17套
一、基本操作題(共四小題,第1和2題是7分、第3和4是8分)
在考生文件夾下完成下列操作:
1.打開(kāi)名稱(chēng)為SDB的學(xué)生數(shù)據(jù)庫(kù),分別為學(xué)生表Student、選課成績(jī)表SC和課程表Course創(chuàng)建主索引。Student表主索引的索引名和索引表達(dá)式均為"學(xué)號(hào)";Course表主索引的索引名和索引表達(dá)式均為"課程號(hào)";SC表的主索引名為PK_SC,索引表達(dá)式為"學(xué)號(hào)"+"課程號(hào)"的字段組合。
2.通過(guò)字段"學(xué)號(hào)"建立Student表與SC表之間的永久聯(lián)系、通過(guò)字段"課程號(hào)"建立Course表與表SC之間的永久聯(lián)系。并為以上建立的永久聯(lián)系設(shè)置參照完整性約束:更新規(guī)則為"級(jí)聯(lián)";刪除規(guī)則為"級(jí)聯(lián)";插入規(guī)則為"限制"。
3.使用SQL語(yǔ)句將學(xué)號(hào)為"s3"的學(xué)生記錄從表Student中邏輯刪除,并將該SQL語(yǔ)句存放在文件ONE.PRG中。
4.創(chuàng)建一個(gè)名為Project_S的項(xiàng)目文件。將學(xué)生數(shù)據(jù)庫(kù)SDB添加到該項(xiàng)目中。
二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
在考生文件夾下,打開(kāi)商品銷(xiāo)售數(shù)據(jù)庫(kù)CDB,完成如下簡(jiǎn)單應(yīng)用:
1.使用一對(duì)多報(bào)表向?qū)Ы⒚Q(chēng)為P_ORDER的報(bào)表。要求從父表顧客表CUST中選擇所有字段,從子表訂單表ORDER中選擇所有字段;兩表之間采用"顧客號(hào)"字段連接;按"顧客號(hào)"字段升序排序;報(bào)表樣式為"經(jīng)營(yíng)式",方向?yàn)?縱向";報(bào)表標(biāo)題為"顧客訂單表"。然后修改該報(bào)表,在頁(yè)注腳中增加一個(gè)標(biāo)簽"制表人:王愛(ài)學(xué)";該標(biāo)簽水平居中,標(biāo)簽中的":"為中文的冒號(hào)。
2.修改一個(gè)名稱(chēng)為T(mén)WO.PRG的命令文件。該命令文件統(tǒng)計(jì)每個(gè)顧客購(gòu)買(mǎi)商品的金額合計(jì)(應(yīng)付款),結(jié)果存儲(chǔ)在臨時(shí)表ls中。然后用ls中的每個(gè)顧客的數(shù)據(jù)去修改表scust對(duì)應(yīng)的記錄。該命令文件有3行語(yǔ)句有錯(cuò)誤,打開(kāi)該命令文件進(jìn)行修改。
注意:直接在錯(cuò)誤處修改,不可改變SQL語(yǔ)句的結(jié)構(gòu)和短語(yǔ)的順序,不允許增加、刪除或合并行。修改完成后,運(yùn)行該命令文件。
本題主要考核點(diǎn):使用報(bào)表向?qū)е谱鞅韱巍⒈韱螆?bào)表的使用、修改程序文件。
解題思路:
第1題:?jiǎn)?dòng)報(bào)表向?qū)Э稍?文件"菜單中選擇"新建"或者單擊工具欄上的"新建"按鈕,打開(kāi)"新建"對(duì)話(huà)框,文件類(lèi)型選擇報(bào)表,單擊向?qū)О粹o,在"向?qū)нx取"對(duì)話(huà)框中選擇"一對(duì)多報(bào)表向?qū)?,然后按照?qǐng)?bào)表向?qū)Р僮骷纯。然后打開(kāi)該報(bào)表,在頁(yè)注腳中增加一個(gè)標(biāo)簽控件,輸入:"制表人:王愛(ài)學(xué)",選中該標(biāo)簽,再選擇"格式"菜單下的"對(duì)齊"子菜單下的"水平對(duì)齊"。
第2題:利用"文件"菜單下的"打開(kāi)"命令打開(kāi)程序文件TWO.PRG。將命令文件修改為:
CLOSE DBF
PRIVATE no,money
USE scust
*下面的一行語(yǔ)句有錯(cuò)誤
SELECT 顧客號(hào),sum(數(shù)量*單價(jià)) 應(yīng)付款 ;
FROM order JOIN comm ON order.商品號(hào) = comm.商品號(hào) ;
GROUP BY 顧客號(hào) ;
INTO CURSOR ls
SELECT scust
*下面的一行語(yǔ)句有錯(cuò)誤
DO WHILE .NOT. EOF()
no = 顧客號(hào)
SELECT ls
LOCAT FOR 顧客號(hào) = no
money = 應(yīng)付款
SELECT scust
*下面的一行語(yǔ)句有錯(cuò)誤
REPLACE 應(yīng)付款 WITH money
SKIP +1
ENDDO
CLOSE TABLE
RETURN
三、綜合應(yīng)用(1小題,計(jì)30分)
在考生文件夾下,打開(kāi)名稱(chēng)為CDB的商品銷(xiāo)售數(shù)據(jù)庫(kù),完成如下綜合應(yīng)用:
創(chuàng)建一個(gè)標(biāo)題名為"顧客購(gòu)買(mǎi)商品查詢(xún)"、文件名為GK的表單,如下圖所示。
表單要求如下:
1.在該表單中設(shè)計(jì)兩個(gè)標(biāo)簽、兩個(gè)文本框、一個(gè)表格控件和兩個(gè)命令按鈕。
2.表單中兩個(gè)標(biāo)簽的名稱(chēng)分別為L(zhǎng)abel1和Label2,其標(biāo)題分別為"顧客號(hào)"和"應(yīng)付款";兩個(gè)文本框的名稱(chēng)分別為T(mén)ext1和Text2,前者用于輸入查詢(xún)的顧客號(hào),后者用于顯示該顧客的應(yīng)付款;表格Grid1用于顯示顧客購(gòu)買(mǎi)商品的詳細(xì)記錄。
3.兩個(gè)命令按鈕的功能如下:
(1)"查詢(xún)"按鈕(Command1)
在該按鈕的Click事件中編寫(xiě)程序,采用SQL語(yǔ)句根據(jù)第1個(gè)文本框輸入的顧客號(hào)進(jìn)行查詢(xún)。在表格控件中顯示該顧客的顧客號(hào)和購(gòu)買(mǎi)的每件商品的商品號(hào)、商品名、單價(jià)、數(shù)量和金額,各記錄按商品號(hào)升序排序。該查詢(xún)結(jié)果應(yīng)同時(shí)存儲(chǔ)到表tjb.dbf中。另外需要統(tǒng)計(jì)該顧客的應(yīng)付款,并將結(jié)果顯示于Text2文本框中。
說(shuō)明:金額=單價(jià)*數(shù)量,應(yīng)付款=顧客購(gòu)買(mǎi)的商品金額合計(jì)
(2)"退出"按鈕(Command2):關(guān)閉并釋放表單。
注意:表格控件的RecordSourceType屬性設(shè)置為"4-SQL說(shuō)明";
表單設(shè)計(jì)完成后,運(yùn)行該表單,輸入顧客號(hào):010003,單擊"查詢(xún)"按鈕進(jìn)行查詢(xún)。
本題主要考核點(diǎn):表單文件的創(chuàng)建、控件的屬性的修改、SQL語(yǔ)句運(yùn)用、表單的退出。
解題思路:
、僭诿畲翱谳斎朊睿篊REATE FORM GK,打開(kāi)表單設(shè)計(jì)器窗口。
②在表單上添加各標(biāo)簽、文本框、表格、命令按鈕,并進(jìn)行適當(dāng)?shù)牟贾煤痛笮≌{(diào)整。
、鄹鶕(jù)題面要求設(shè)置各標(biāo)簽、表格、命令按鈕以及表單的屬性值。
、軐⒈砀馟rid1的RecordSourceType屬性值設(shè)置為"4-SQL說(shuō)明"。
、菰O(shè)置"查詢(xún)"按鈕的Click事件代碼:
ThisForm.Grid1.RecordSource="SELECT Order.顧客號(hào),Comm.商品號(hào),商品名,單價(jià),數(shù)量,Comm.單價(jià)* Order.數(shù)量 as 金額 FROM cdb!comm INNER JOIN cdb!order ON Comm.商品號(hào)=Order.商品號(hào) WHERE 顧客號(hào)=ALLTRIM(ThisForm.Text1.Value) order by Comm.商品號(hào) INTO TABLE tjb"
SELECT sum(Comm.單價(jià)* Order.數(shù)量) FROM cdb!comm INNER JOIN cdb!order ON Comm.商品號(hào)=Order.商品號(hào) WHERE 顧客號(hào)=ALLTRIM(ThisForm.Text1.Value) INTO ARRAY temp
ThisForm.Text2.Value=temp
、拊O(shè)置"退出"按鈕的Click事件代碼:
THISFORM.RELEASE
、弑4姹韱尾⑦\(yùn)行,在文本框中輸入"010003",單擊"查詢(xún)"命令按鈕進(jìn)行計(jì)算。最后,單擊"退出"命令按鈕結(jié)束。
相關(guān)推薦:
各地2015年計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |