2001年(春)江蘇省普通高校非計算機專業學生
計算機基礎知識和應用能力等級考試上機試卷
二級 Visual FoxPro 5.0 (VFP01)
(本試卷上機考試時間為70分鐘)
說明:1.考試語言環境一律為Visual FoxPro 5.0
2.運行考試軟盤A中的“準考證”應用程序文件,輸入考生的準考證號、試卷代號。
3.啟動VFP5.0系統后,首先在命令窗口中執行命令:
set default to A:
以設置默認的工作目錄,然后再開始作題。 |
一、項目、數據庫和表操作
打開軟盤根目錄中的項目文件TESTF,在該項目中已有一數據庫SJK,根據下列要求完成有關數據庫及表的操作。
1. 修改項目中自由表JSB,要求:
(1)將JSB表的JBGZ字段的寬度改成8,小數位數修改為1;
(2)物理刪除JSB表中所有ximing為“計算機科學系”的教師記錄;
(3)將項目中的自由表RKB更改為:RKBRE。
2. 設置SJK中RK表的字段屬性及表屬性,要求:
(1)將ZYDH字段的標題設置為“專業代號”;
(2)將KCDH字段的標題設置為“課程代號”。
3. 根據下面表格中列出的要求對SJK中的JS表建立結構復合索引:
索引名 |
類型 |
表達式 |
CSRQ |
普通索引 |
由ZC和CSRQ兩個字段組成 |
4. 為RK表添加說明為“教師任課表”。
5. 已知JS表和RK表已按GH建立永久性關系,試按下列要求設置兩個表之間的參照完整性規則:
如果在JS表中不存在匹配的關鍵字值,則禁止在RK表中插入記錄。
6. 將自由表XSB添加到SJK中。
二、設置查詢
1. 數據庫SJK中,KC表(課程)含有數值型的kss字段(課時數)。在TESTF項目中已存在查詢chaxuna,按如下要求設計該查詢:
基于kc表查詢所有不帶刪除標記且課時數超過5或課時數小于3(不包含5和3)的課程。要求輸出字段為:kcdh,kcm,kss,bxk,xf,查詢結果按kss的降序排序。
2. SJK數據庫中包含xs(學生)表和視圖“課程成績”(包含課程名、學生成績)。在TESTF項目中已存在查詢chaxunB,按如下要求設計該查詢:
基于xs表和“課程成績”視圖查詢各學生各門課程的成績。要求輸出字段為:xh,xm,kcm,cj。查詢結果按xh和kcm升序排列,查詢結果的輸出去向為臨時表xmcj。
三、設計類
在TESTF項目中已存在類庫mylib,在該類庫中按如下要求創建工具欄子類:
(1)基于工具欄類創建工具欄子類tbFont;
(2)設置tbFont的標題為“字體工具欄”;
(3) 在tbFont工具欄中添加如下控件,并設置有關的屬性;
控件名稱 |
屬性 |
屬性值 |
標簽控件:Label1 |
標題 |
字體 |
對齊方式 |
居右 |
組合框:cboFontName |
行源類型 |
數組 |
行源 |
fn |
命令按鈕:Command1 |
標題 |
B |
粗體 |
.T. |
命令按鈕:Command2 |
標題 |
I |
斜體 |
.T. |
(4)設置工具欄tbFont的Refresh方法的代碼:
enab=INLIST(_SCREEN.ActiveForm.ActiveControl.BaseClass,"TextBox","EditBox")
該命令用來測試活動表單中活動控件是否是文本框或編輯框。然后在此命令下面再增加一條命令,要求根據變量enab的值,利用工具欄的SetAll方法設置工具欄中所有控件的Enabled屬性。
(5)設置組合框cboFontName的Init事件代碼:
Public fn(1)
=Afont(fn)
設計完成后的工具欄如下圖所示。
四、 設計表單
根據下列要求修改項目文件中的表單formf,該表單用來以按課程查看學生的成績。
1. 將表單的標題設置為“課程選修情況查詢”;
2. 將KC表添加到數據環境中;
3. 在表單中添加一個列表框控件,并設置它的列數為3列,前二列的寬度分別為40,120;
4. 要求在該列表框中顯示課程表的KCDH(課程代號)、KCM(課程名)、KSS(課時數)三個字段內容,試為它設置RowSource和RowSourceType屬性的值;
5. 當鼠標在列表框中選定一門課程時,要求右邊的表格中顯示選修該門課程的學生名單,試編制相應的事件代碼。
進行上述修改以后,運行顯示如下圖所示。
|