第十九套
一、基本操作題(共四小題,第1和2題是7分、第3和4題是8分)
在考生文件夾下完成如下操作:
1. 打開(kāi)"訂貨管理"數(shù)據(jù)庫(kù),并將表order_list添加到該數(shù)據(jù)庫(kù)中。
2. 在"訂貨管理"數(shù)據(jù)庫(kù)中建立表customer,表結(jié)構(gòu)描述如下:
客戶號(hào) 字符型(6)
客戶名 字符型(16)
地址 字符型(20)
電話 字符型(14)
3. 為新建立的customer表創(chuàng)建一個(gè)主索引,索引名和索引表達(dá)式均是"客戶
號(hào)"。
4. 將表order_detail從數(shù)據(jù)庫(kù)中移出,并永久刪除。
本題主要考核點(diǎn):
將一個(gè)自由表添加到數(shù)據(jù)庫(kù)中、表結(jié)構(gòu)的建立、表索引的建立、將表移出數(shù)據(jù)庫(kù)并刪除該表等知識(shí)點(diǎn)
本題解題思路:
第一步:打開(kāi)考生文件夾下的"訂貨管理"數(shù)據(jù)庫(kù)
第二步:打開(kāi)數(shù)據(jù)庫(kù)菜單選擇"添加表(A)"在彈出的"打開(kāi)"對(duì)話框中,選定考生文件夾下的order_list表,再點(diǎn)擊"確定"即可
第三步:再次打開(kāi)數(shù)據(jù)庫(kù)菜單選擇"新建表(N)",在彈出的對(duì)話框中選擇"新建表",并在彈出"創(chuàng)建"對(duì)話框中選定考生文件夾,在輸入表名中填入"customer",再點(diǎn)擊保存。
第四步:在彈出的表設(shè)計(jì)器中按題面的要求依次輸入各個(gè)字段的定義,選擇"索引"標(biāo)簽,在索引名列中填入"客戶號(hào)",在索引類型列中選擇"主索引",在索引表達(dá)式列中填入" 客戶號(hào)",點(diǎn)擊"確定"按鈕,保存表結(jié)構(gòu)。
第五步:在數(shù)據(jù)庫(kù)設(shè)計(jì)器窗口中單擊選中order_detail,打開(kāi)主窗口的數(shù)據(jù)庫(kù)菜單選擇"移去(R)",并在彈出的菜單中選擇"刪除(d)"即可,這樣就將表order_detail從數(shù)據(jù)庫(kù)中移出,并永久刪除。
二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
在考生文件夾下完成如下簡(jiǎn)單應(yīng)用:
1. 將customer1表中的全部記錄追加到customer表中,然后用SQL SELECT語(yǔ)句
完成查詢:列出目前有訂購(gòu)單的客戶信息(即有對(duì)應(yīng)的order_list記錄的
customer表中的記錄),同時(shí)要求按客戶號(hào)升序排序,并將結(jié)果存儲(chǔ)到
results表中(表結(jié)構(gòu)與customer表結(jié)構(gòu)相同)。
2. 打開(kāi)并按如下要求修改form1表單文件(最后保存所做的修改):
(1) 在"確定"命令按鈕的click事件(過(guò)程)下的程序有兩處錯(cuò)誤,請(qǐng)改正之;
(2) 設(shè)置Text2控件的有關(guān)屬性,使用戶在輸入口令時(shí)顯示"*"(星號(hào))
本題主要考核點(diǎn):
SQL中的查詢SELECT查詢,子查詢,查詢的排序,查詢的結(jié)果的去向;控件的屬性、表單的操作等知識(shí)點(diǎn)。
解題思路:
第一小題:將customer1中的全部記錄追加到customer中,要將一個(gè)表的所有記錄追加到另一個(gè)表中使用APPEND FROM 命令,首先打開(kāi)customer:USE CUSTOMER,在APPEND FROM的后面是要追加到CUSTOMER的表名,這里是CUSTOMER1。要得到目前有訂購(gòu)單的客戶信息,需要用到子查詢,首先得到在 ORDER_LIST中有訂單的客戶號(hào),可以用SELECT 客戶號(hào) FROM ORDER_LIST GROUP BY 客戶號(hào)得到,這里用到了GROUP BY 子句從而保證了得到的子查詢中客戶號(hào)的性。再以此子查詢做為查詢的條件便可以從CUSTOMER中得到所有有訂單的客戶的信息,條件放在WHERE子句的后面 WHERE 客戶號(hào) IN (SELECT 客戶號(hào) FROM ORDER_LIST GROUP BY 客戶號(hào));對(duì)結(jié)果集進(jìn)行排序需要ORDER BY 子句,ORDER BY 客戶號(hào);將結(jié)果集放入一個(gè)永久表中需要用到INTO TABLE子句,INTO TABLE RESULTS。這樣完整的SQL語(yǔ)句便出來(lái)了:
SELECT * FROM CUSTOMER;
WHERE 客戶號(hào) IN;
(SELECT 客戶號(hào) FROM ORDER_LIST GROUP BY 客戶號(hào));
ORDER BY 客戶號(hào);
INTO TABLE RESULTS
第二小題:打開(kāi)考生文件夾下的"form1.scx",在表單設(shè)計(jì)器中雙擊"確定"控件打開(kāi)代碼編輯器,第一處錯(cuò)誤:thisform.text1= thisform.text2判斷條件的錯(cuò)誤,這里需要的是兩個(gè)編輯文本框中的文本進(jìn)行的比較,而要得到text1中文本和text2控件中的文本需要用到text的屬性,所以此處應(yīng)改為:thisform.text1.text=thisform.text2.text;另一處錯(cuò)誤是對(duì)于關(guān)閉表單需要用表單的release方法,而不是close方法,況且表單對(duì)象也沒(méi)有close方法,所以此處應(yīng)改為:thisform.release??梢酝ǖ綄?duì) text控件對(duì)象的PasswordChar屬性賦值為:"*",來(lái)使用戶在輸入口令時(shí)顯示"*"。
三、綜合應(yīng)用(1小題,計(jì)30分)
使用報(bào)表設(shè)計(jì)器建立一個(gè)報(bào)表,具體要求如下:
(1) 報(bào)表的內(nèi)容(細(xì)節(jié)帶區(qū))是order_list表的訂單號(hào)、訂購(gòu)日期和總金額;
(2) 增加數(shù)據(jù)分組,分組表達(dá)式是 "order_list.客戶號(hào)",組標(biāo)頭帶區(qū)的內(nèi)容
是"客戶號(hào)",組注腳帶區(qū)的內(nèi)容是該組訂單的"總金額"合計(jì)
(3) 增加標(biāo)題帶區(qū),標(biāo)題是 "訂單分組匯總表(按客戶)",要求是3號(hào)字、黑
體, 括號(hào)是全角符號(hào)。
(4) 增加總結(jié)帶區(qū),該帶區(qū)的內(nèi)容是所有訂單的總金額合計(jì)。最后將建立的報(bào)
表文件保存為report1.frx文件。
提示:在考試的過(guò)程中可以使用"顯示→預(yù)覽"菜單查看報(bào)表的效果。
本題主要考核點(diǎn):
利用報(bào)表設(shè)計(jì)器設(shè)計(jì)報(bào)表的方法
解題思路:
第一步:在Visual FoxPro的主窗中按下組合鍵Ctrl+N,系統(tǒng)彈出"新建"對(duì)話框,在"文件類型"中選擇"報(bào)表",再點(diǎn)擊"新建文件"按鈕,則系統(tǒng)彈出"報(bào)表設(shè)計(jì)器"窗口
第二步:從"報(bào)表設(shè)計(jì)器"的工具欄上單擊"數(shù)據(jù)環(huán)境"按鈕,系統(tǒng)打開(kāi)"數(shù)據(jù)環(huán)境設(shè)計(jì)器",這時(shí)主菜單欄出現(xiàn)"數(shù)據(jù)環(huán)境"菜單,從中選擇"添加",系統(tǒng)彈出"添加表或視圖"對(duì)話框,選擇考生文件夾下的order_list表,并點(diǎn)擊"關(guān)閉"按鈕
第三步:在報(bào)表設(shè)計(jì)器和數(shù)據(jù)環(huán)境設(shè)計(jì)器都可見(jiàn)的情況下,在數(shù)據(jù)環(huán)境設(shè)計(jì)器中表order_list的訂單號(hào)字段上按下鼠標(biāo)左鍵,并拖動(dòng)到報(bào)表設(shè)計(jì)器的細(xì)節(jié)帶區(qū)在合適的位置松開(kāi)鼠標(biāo)。用同樣的方法,將訂購(gòu)日期、總金額都放置在細(xì)節(jié)帶區(qū)的合適位置
第四步:?jiǎn)螕糁鞑藛蔚?報(bào)表",并選擇"數(shù)據(jù)分組(G)",系統(tǒng)彈出數(shù)據(jù)分組對(duì)話框,單擊對(duì)話框中的省略號(hào)按鈕,彈出" 表達(dá)式生成器",從中選擇分組表達(dá)式:order_list.客戶號(hào)。這樣"報(bào)表設(shè)計(jì)器"中增加"組標(biāo)頭"和"組注腳"帶區(qū)。適當(dāng)調(diào)整兩個(gè)新增加的帶區(qū)的高度。利用第三步的方法,在"組標(biāo)頭"帶區(qū)添加顯示order_list客戶號(hào)字段的域控件。單擊"報(bào)表控件"工具欄的"域控件"按鈕,然后在"組注腳 1:客戶號(hào)"帶區(qū)的適當(dāng)位置上單擊鼠標(biāo),系統(tǒng)顯示一個(gè)"報(bào)表表達(dá)式"對(duì)話框,在"表達(dá)式"文本框中通過(guò)單擊右側(cè)對(duì)話按鈕,打開(kāi)表達(dá)式生成器對(duì)話框,從中選擇order_list.總金額字段,單擊"確定",單擊"報(bào)表表達(dá)式"對(duì)話框的"計(jì)算(C)",彈出"計(jì)算字段"對(duì)話框,選中"總和"計(jì)算類型,單擊" 確定",在"報(bào)表表達(dá)式"對(duì)話框中單擊"確定",這樣組注腳帶區(qū)完成
第五步:用和第四步類似的方法可以建立標(biāo)題帶區(qū)和總結(jié)帶區(qū)
第六步:以文件名report1.frx將報(bào)表文件保存在考生文件夾下。
一、基本操作題(共四小題,第1和2題是7分、第3和4題是8分)
在考生文件夾下完成如下操作:
1. 打開(kāi)"訂貨管理"數(shù)據(jù)庫(kù),并將表order_list添加到該數(shù)據(jù)庫(kù)中。
2. 在"訂貨管理"數(shù)據(jù)庫(kù)中建立表customer,表結(jié)構(gòu)描述如下:
客戶號(hào) 字符型(6)
客戶名 字符型(16)
地址 字符型(20)
電話 字符型(14)
3. 為新建立的customer表創(chuàng)建一個(gè)主索引,索引名和索引表達(dá)式均是"客戶
號(hào)"。
4. 將表order_detail從數(shù)據(jù)庫(kù)中移出,并永久刪除。
本題主要考核點(diǎn):
將一個(gè)自由表添加到數(shù)據(jù)庫(kù)中、表結(jié)構(gòu)的建立、表索引的建立、將表移出數(shù)據(jù)庫(kù)并刪除該表等知識(shí)點(diǎn)
本題解題思路:
第一步:打開(kāi)考生文件夾下的"訂貨管理"數(shù)據(jù)庫(kù)
第二步:打開(kāi)數(shù)據(jù)庫(kù)菜單選擇"添加表(A)"在彈出的"打開(kāi)"對(duì)話框中,選定考生文件夾下的order_list表,再點(diǎn)擊"確定"即可
第三步:再次打開(kāi)數(shù)據(jù)庫(kù)菜單選擇"新建表(N)",在彈出的對(duì)話框中選擇"新建表",并在彈出"創(chuàng)建"對(duì)話框中選定考生文件夾,在輸入表名中填入"customer",再點(diǎn)擊保存。
第四步:在彈出的表設(shè)計(jì)器中按題面的要求依次輸入各個(gè)字段的定義,選擇"索引"標(biāo)簽,在索引名列中填入"客戶號(hào)",在索引類型列中選擇"主索引",在索引表達(dá)式列中填入" 客戶號(hào)",點(diǎn)擊"確定"按鈕,保存表結(jié)構(gòu)。
第五步:在數(shù)據(jù)庫(kù)設(shè)計(jì)器窗口中單擊選中order_detail,打開(kāi)主窗口的數(shù)據(jù)庫(kù)菜單選擇"移去(R)",并在彈出的菜單中選擇"刪除(d)"即可,這樣就將表order_detail從數(shù)據(jù)庫(kù)中移出,并永久刪除。
二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
在考生文件夾下完成如下簡(jiǎn)單應(yīng)用:
1. 將customer1表中的全部記錄追加到customer表中,然后用SQL SELECT語(yǔ)句
完成查詢:列出目前有訂購(gòu)單的客戶信息(即有對(duì)應(yīng)的order_list記錄的
customer表中的記錄),同時(shí)要求按客戶號(hào)升序排序,并將結(jié)果存儲(chǔ)到
results表中(表結(jié)構(gòu)與customer表結(jié)構(gòu)相同)。
2. 打開(kāi)并按如下要求修改form1表單文件(最后保存所做的修改):
(1) 在"確定"命令按鈕的click事件(過(guò)程)下的程序有兩處錯(cuò)誤,請(qǐng)改正之;
(2) 設(shè)置Text2控件的有關(guān)屬性,使用戶在輸入口令時(shí)顯示"*"(星號(hào))
本題主要考核點(diǎn):
SQL中的查詢SELECT查詢,子查詢,查詢的排序,查詢的結(jié)果的去向;控件的屬性、表單的操作等知識(shí)點(diǎn)。
解題思路:
第一小題:將customer1中的全部記錄追加到customer中,要將一個(gè)表的所有記錄追加到另一個(gè)表中使用APPEND FROM 命令,首先打開(kāi)customer:USE CUSTOMER,在APPEND FROM的后面是要追加到CUSTOMER的表名,這里是CUSTOMER1。要得到目前有訂購(gòu)單的客戶信息,需要用到子查詢,首先得到在 ORDER_LIST中有訂單的客戶號(hào),可以用SELECT 客戶號(hào) FROM ORDER_LIST GROUP BY 客戶號(hào)得到,這里用到了GROUP BY 子句從而保證了得到的子查詢中客戶號(hào)的性。再以此子查詢做為查詢的條件便可以從CUSTOMER中得到所有有訂單的客戶的信息,條件放在WHERE子句的后面 WHERE 客戶號(hào) IN (SELECT 客戶號(hào) FROM ORDER_LIST GROUP BY 客戶號(hào));對(duì)結(jié)果集進(jìn)行排序需要ORDER BY 子句,ORDER BY 客戶號(hào);將結(jié)果集放入一個(gè)永久表中需要用到INTO TABLE子句,INTO TABLE RESULTS。這樣完整的SQL語(yǔ)句便出來(lái)了:
SELECT * FROM CUSTOMER;
WHERE 客戶號(hào) IN;
(SELECT 客戶號(hào) FROM ORDER_LIST GROUP BY 客戶號(hào));
ORDER BY 客戶號(hào);
INTO TABLE RESULTS
第二小題:打開(kāi)考生文件夾下的"form1.scx",在表單設(shè)計(jì)器中雙擊"確定"控件打開(kāi)代碼編輯器,第一處錯(cuò)誤:thisform.text1= thisform.text2判斷條件的錯(cuò)誤,這里需要的是兩個(gè)編輯文本框中的文本進(jìn)行的比較,而要得到text1中文本和text2控件中的文本需要用到text的屬性,所以此處應(yīng)改為:thisform.text1.text=thisform.text2.text;另一處錯(cuò)誤是對(duì)于關(guān)閉表單需要用表單的release方法,而不是close方法,況且表單對(duì)象也沒(méi)有close方法,所以此處應(yīng)改為:thisform.release??梢酝ǖ綄?duì) text控件對(duì)象的PasswordChar屬性賦值為:"*",來(lái)使用戶在輸入口令時(shí)顯示"*"。
三、綜合應(yīng)用(1小題,計(jì)30分)
使用報(bào)表設(shè)計(jì)器建立一個(gè)報(bào)表,具體要求如下:
(1) 報(bào)表的內(nèi)容(細(xì)節(jié)帶區(qū))是order_list表的訂單號(hào)、訂購(gòu)日期和總金額;
(2) 增加數(shù)據(jù)分組,分組表達(dá)式是 "order_list.客戶號(hào)",組標(biāo)頭帶區(qū)的內(nèi)容
是"客戶號(hào)",組注腳帶區(qū)的內(nèi)容是該組訂單的"總金額"合計(jì)
(3) 增加標(biāo)題帶區(qū),標(biāo)題是 "訂單分組匯總表(按客戶)",要求是3號(hào)字、黑
體, 括號(hào)是全角符號(hào)。
(4) 增加總結(jié)帶區(qū),該帶區(qū)的內(nèi)容是所有訂單的總金額合計(jì)。最后將建立的報(bào)
表文件保存為report1.frx文件。
提示:在考試的過(guò)程中可以使用"顯示→預(yù)覽"菜單查看報(bào)表的效果。
本題主要考核點(diǎn):
利用報(bào)表設(shè)計(jì)器設(shè)計(jì)報(bào)表的方法
解題思路:
第一步:在Visual FoxPro的主窗中按下組合鍵Ctrl+N,系統(tǒng)彈出"新建"對(duì)話框,在"文件類型"中選擇"報(bào)表",再點(diǎn)擊"新建文件"按鈕,則系統(tǒng)彈出"報(bào)表設(shè)計(jì)器"窗口
第二步:從"報(bào)表設(shè)計(jì)器"的工具欄上單擊"數(shù)據(jù)環(huán)境"按鈕,系統(tǒng)打開(kāi)"數(shù)據(jù)環(huán)境設(shè)計(jì)器",這時(shí)主菜單欄出現(xiàn)"數(shù)據(jù)環(huán)境"菜單,從中選擇"添加",系統(tǒng)彈出"添加表或視圖"對(duì)話框,選擇考生文件夾下的order_list表,并點(diǎn)擊"關(guān)閉"按鈕
第三步:在報(bào)表設(shè)計(jì)器和數(shù)據(jù)環(huán)境設(shè)計(jì)器都可見(jiàn)的情況下,在數(shù)據(jù)環(huán)境設(shè)計(jì)器中表order_list的訂單號(hào)字段上按下鼠標(biāo)左鍵,并拖動(dòng)到報(bào)表設(shè)計(jì)器的細(xì)節(jié)帶區(qū)在合適的位置松開(kāi)鼠標(biāo)。用同樣的方法,將訂購(gòu)日期、總金額都放置在細(xì)節(jié)帶區(qū)的合適位置
第四步:?jiǎn)螕糁鞑藛蔚?報(bào)表",并選擇"數(shù)據(jù)分組(G)",系統(tǒng)彈出數(shù)據(jù)分組對(duì)話框,單擊對(duì)話框中的省略號(hào)按鈕,彈出" 表達(dá)式生成器",從中選擇分組表達(dá)式:order_list.客戶號(hào)。這樣"報(bào)表設(shè)計(jì)器"中增加"組標(biāo)頭"和"組注腳"帶區(qū)。適當(dāng)調(diào)整兩個(gè)新增加的帶區(qū)的高度。利用第三步的方法,在"組標(biāo)頭"帶區(qū)添加顯示order_list客戶號(hào)字段的域控件。單擊"報(bào)表控件"工具欄的"域控件"按鈕,然后在"組注腳 1:客戶號(hào)"帶區(qū)的適當(dāng)位置上單擊鼠標(biāo),系統(tǒng)顯示一個(gè)"報(bào)表表達(dá)式"對(duì)話框,在"表達(dá)式"文本框中通過(guò)單擊右側(cè)對(duì)話按鈕,打開(kāi)表達(dá)式生成器對(duì)話框,從中選擇order_list.總金額字段,單擊"確定",單擊"報(bào)表表達(dá)式"對(duì)話框的"計(jì)算(C)",彈出"計(jì)算字段"對(duì)話框,選中"總和"計(jì)算類型,單擊" 確定",在"報(bào)表表達(dá)式"對(duì)話框中單擊"確定",這樣組注腳帶區(qū)完成
第五步:用和第四步類似的方法可以建立標(biāo)題帶區(qū)和總結(jié)帶區(qū)
第六步:以文件名report1.frx將報(bào)表文件保存在考生文件夾下。

