第三十套
基本操作題
在考生文件夾下完成如下操作:
1. 建立數(shù)據(jù)庫BOOKAUTH.DBC,把表BOOKS.DBF和AUTHORS.DBF添加到該數(shù)據(jù)庫。
2. 為AUTHORS表建立主索引,索引名"PK",索引表達(dá)式"作者編號"。
3. 為BOOKS表分別建立兩個(gè)普通索引,其一索引名為"RK",索引表達(dá)式為"圖書編號";其二索引名和索引表達(dá)式均為"作者編號"。
4. 建立AUTHORS表和BOOKS表之間的聯(lián)系。
本題的主要考核點(diǎn):
數(shù)據(jù)庫的建立、將自由表添加到數(shù)據(jù)庫中、在數(shù)據(jù)庫中建立新表、主索引和普通索引的建立、為已建立索引的表建立聯(lián)系
解題思路:
1.建立數(shù)據(jù)庫的常用方法:
在項(xiàng)目管理器中建立數(shù)據(jù)庫;
通過“新建”對話框建立數(shù)據(jù)庫;
使用命令交互建立數(shù)據(jù)庫,命令為: CREATE DATABASE [DatabaseName|?]
將自由表添加到數(shù)據(jù)庫中,可以在項(xiàng)目管理器或數(shù)據(jù)庫設(shè)計(jì)器中完成。在數(shù)據(jù)庫設(shè)計(jì)器中可以從“數(shù)據(jù)庫”菜單或在數(shù)據(jù)庫設(shè)計(jì)器上單擊右鍵彈出的菜單中選擇“添加表”,然后在“打開”對話框中選擇要添加到當(dāng)前數(shù)據(jù)庫的自由表。還可用ADD TABLE命令添加一個(gè)自由表到當(dāng)前數(shù)據(jù)庫中。
2.打開數(shù)據(jù)庫設(shè)計(jì)器,在“數(shù)據(jù)庫”菜單中或在數(shù)據(jù)庫設(shè)計(jì)器上對準(zhǔn)要建立索引的表單擊右鍵,在彈出的菜單中選擇“修改”。
3.在表設(shè)計(jì)器中的索引頁面建立索引。
4.建立兩個(gè)表的聯(lián)系:在父表中選中主索引,按住鼠標(biāo)拖動至子表相應(yīng)的普通索引上,釋放鼠標(biāo),聯(lián)系即已建立。
二、簡單應(yīng)用(2小題,每題20分,計(jì)40分)
在考生文件夾下完成如下簡單應(yīng)用:
1. 打開表單MYFORM44,把表單(名稱為Form1)標(biāo)題改為"歡迎您", 將文本
"歡迎您訪問系統(tǒng)"(名稱為label1的標(biāo)簽)的字號改為25,字體改為隸書。再在表
單上添加"關(guān)閉"(名稱為Command1)命令按鈕,單擊此按鈕關(guān)閉表單。
最后保存并運(yùn)行表單。
2.設(shè)計(jì)一個(gè)表單MYFORM4,表單中有兩個(gè)命令按鈕"查詢"(名稱為Command1)
和"退出"(名稱為Command2)。
(1) 單擊"查詢"按鈕,查詢BOOKAUTH數(shù)據(jù)庫中出版過三本以上(含三本)圖書的作者信息,查詢信息包括:作者姓名,所在城市;查詢結(jié)果按作者姓名升
序保存在表NEWVIEW中。
(2) 單擊"退出"按鈕關(guān)閉表單。
最后保存并運(yùn)行表單。
本題主要考核點(diǎn);
數(shù)據(jù)環(huán)境的添加、控件的屬性的修改、如何用SQL語句進(jìn)行記錄的更新、表單的退出等知識點(diǎn)
解題思路:
第一小題:
第一步:打開考生文件夾下的myform44.scx表單
第二步:更改FORM的CAPTION屬性為“歡迎您”,選中LABEL1標(biāo)簽,在屬性欄內(nèi)更改FONTSIZE為25,F(xiàn)ONTNAME為“隸書”
第三步:在表單上畫一個(gè)命令按鈕,雙擊該按鈕,輸入THISFORM.RELEASE,再單擊工具欄的保存按鈕。
第二小題:
第一步:在Visual FoxPro主窗口中按下組合鍵Ctrl+N,系統(tǒng)彈出"新建"對話框,在文件類型中選擇"表單",點(diǎn)擊"新建文件"按鈕
第二步:系統(tǒng)打開表單設(shè)計(jì)器;點(diǎn)擊工具欄按鈕"表單控件工具欄",在彈出的"表單控件"中,選中"命令按鈕",在表單設(shè)計(jì)器中拖動鼠標(biāo),這樣在表單上得到一個(gè)"命令按鈕"對象command1,設(shè)置它的caption屬性為"查詢",雙擊command1在打開的代碼編輯器窗口中輸入以下代碼:
SELECT Authors.作者姓名, Authors.所在城市;
FROM authors,books ;
WHERE Authors.作者編號 = Books.作者編號;
GROUP BY Authors.作者姓名 HAVING COUNT(Books.圖書編號) >= 3;
ORDER BY Authors.作者姓名;
INTO TABLE NEWVIEW
用同樣的方法,在表單上放置command2對象,它的Click的事件代碼為:THISFROM.RELEASE
第三步:以文件名myform4.scx保存表單,并且保存在考生文件夾下。
三、綜合應(yīng)用(1小題,計(jì)30分)
在考生文件夾下完成如下綜合應(yīng)用:
(1) 首先將BOOKS.DBF中所有書名中含有“計(jì)算機(jī)”3個(gè)字的圖書復(fù)制到表BOOKSBAK中,以下操作均在BOOKSBAK表中完成;
(2) 復(fù)制后的圖書價(jià)格在原價(jià)格基礎(chǔ)上降價(jià)5%;
(3) 從圖書均價(jià)高于25元(含25)的出版社中,查詢并顯示圖書均價(jià)最低的出版社名稱以及均價(jià),查詢結(jié)果保存在表newtable中(字段名為出版單位和均價(jià))。
本題主要考核點(diǎn):
程序的建立方法、程序中循環(huán)結(jié)構(gòu)的使用、SQL查詢語句的使用、記錄的修改方法等知識點(diǎn)
本題解題思路:
第一步:打開數(shù)據(jù)庫bookauth.dbc,可以使用命令OPEN DATABASE BOOKAUTH
第二步:將books中的所有書名中含有計(jì)算機(jī)3個(gè)字的圖書復(fù)制到表BOOKSBAK中SELECT * FROM books WHERE AT("計(jì)算機(jī)",書名)>0 INTO TABLE BOOKSBAK
第三步:價(jià)格在原價(jià)格基礎(chǔ)上降價(jià)5%UPDATE BOOKSBAK SET 價(jià)格=價(jià)格*0.95
第四步:查詢出各個(gè)圖書的均價(jià)放到臨時(shí)表中
SELECT 出版單位,AVG(價(jià)格) AS 均價(jià) FROM BOOKSBAK INTO CURSOR CURSOR1 GROUP BY 出版單位 order by 均價(jià)
第五步:在臨時(shí)表中查詢均價(jià)高于25的圖書中價(jià)格最低的出版社名稱和均價(jià)
SELECT * 1 FROM CURSOR1 WHERE 均價(jià)>=25 into table newtable ORDER BY 均價(jià)