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