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

