- 相關(guān)推薦
計算機二級VF上機題庫及答案
第1題:
1. 建立菜單QUERY_MENU。該菜單只有"查詢"和"退出"兩個主菜單項(條形菜單), 其中單擊菜單項"退出"時,返回到VFP系統(tǒng)菜單(相應(yīng)命令寫在命令框中,不要 寫在過程中)。
2. 將COURSE表的"開課系部"字段名改為"開課單位",其余不變。
3. 從數(shù)據(jù)庫SCORE_MANAGER中移去表TEMP2.DBF(不是刪除)。
4. 將SCORE1表中記錄按學(xué)號從低到高排序,在學(xué)號相同的情況下再按成績從高
到低排序,排序結(jié)果存入表NEW_ORDER。
本題主要考核點:
菜單的建立、字段改名、數(shù)據(jù)庫表的邏輯刪除、表的排序及查詢?nèi)ハ虻戎R點
本題解題思路:
第1題:本題的主要考核點是菜單的建立。新建菜單可按下列步驟:選擇"文件"菜單中的"新建"命令,在"新建"對話框中選擇"菜單",單擊"新建文件"按鈕。在"新建菜單"對話框中選擇"菜單"按鈕,調(diào)出"菜單設(shè)計器"。也可用CREATE MENU命令直接調(diào)出菜單設(shè)計器。在菜單名稱中填入"查詢"、"退出","退出"結(jié)果為命令"SET SYSMENU TO DEFAULT"。
第2題:本題的主要考核點是字段的改名。
打開COURSE表表設(shè)計器,將光標(biāo)移動到"開課系部"字段格中,將其改為"開課單位"。
第3題:本題的主要考核點是數(shù)據(jù)庫表的邏輯刪除。
打開考生文件夾下的" SCORE_MANAGER "數(shù)據(jù)庫,在" SCORE_MANAGER "數(shù)據(jù)庫設(shè)計器中,選中"TEMP2"表,點擊主菜單"數(shù)據(jù)庫"下的"移去",在彈出的對話框中點擊"移去"按鈕,在隨后彈出的對話框中點擊"是"按鈕,至此便完成了"從數(shù)據(jù)庫"SCORE_MANAGER"中移去表TEMP2(不是刪除)"的操作。
第4題:本題的主要考核點是表的排序知識,查詢?nèi)ハ颉?/p>
select * from score1 order by 學(xué)號,成績 desc into table new_order
第2題:
1. 在SCORE_MANAGER數(shù)據(jù)庫中統(tǒng)計選修了課程的學(xué)生人數(shù)(選修多門時,只計算1次),統(tǒng)計結(jié)果保存在一個新表NEW_TABLE中, 表中只有一個字段,字段名為學(xué)生人數(shù)。
2. 在SCORE_MANAGER數(shù)據(jù)庫中查詢沒有學(xué)生選修的課程,查詢結(jié)果含"課程名"和"開課單位"字段,結(jié)果按課程名升序保存在一個新表NEW_TABLE2中(注意:字段名"開課單位"是在基本操作中根據(jù)"開課系部"修改后的字段名)。
本題主要考核點:本題的主要考核點是SQL查詢語句的使用,查詢?nèi)ハ虻戎R點。
本題解題思路:第1題: 本題可以通過新建一個程序來實現(xiàn)統(tǒng)計,相關(guān)代碼如下所示:
SELECT Student.姓名;
FROM course INNER JOIN score1;
INNER JOIN student ;
ON Student.學(xué)號 = Score1.學(xué)號 ;
ON Course.課程號 = Score1.課程號;
WHERE Course.課程號 = score1.課程號;
GROUP BY Student.姓名;
into cursor temp
select count(姓名) AS 學(xué)生人數(shù) from temp;
into table NEW_TABLE
第2題:本題的主要考核點是SQL查詢語句的使用。
SELECT Course.課程名, Course.開課單位;
FROM course LEFT OUTER JOIN score1;
LEFT OUTER JOIN student ;
ON Student.學(xué)號 = Score1.學(xué)號 ;
ON Course.課程號 = Score1.課程號;
WHERE Course.課程號 !=Score1.課程號;
ORDER BY Course.課程名;
INTO TABLE new_table2.dbf
第3題:
SCORE_MANAGER數(shù)據(jù)庫中含有三個數(shù)據(jù)庫表STUDENT、SCORE1和COURSE。 為了對SCORE_MANAGER數(shù)據(jù)庫數(shù)據(jù)進行查詢,設(shè)計一個表單Myform3(控件名為form1,表單文件名為Myform3)。表單標(biāo)題為"成績查詢";表單有"查詢"(名稱為Command1)和"退出"(名稱為Command2)兩個命令按鈕。表單運行時,單擊"查詢"按鈕,查詢每門課程的最高分,查詢結(jié)果中含"課程名"和"最高分"字段,結(jié)果按課程名升序保存在表NEW_TABLE3。 單擊"退出"按鈕,關(guān)閉表單。
本題主要考核點: 表單文件的創(chuàng)建、控件的屬性的修改、SQL語句運用、表單的退出等知識點
本題解題思路:
第一步:在Visual FoxPro主窗口中按下組合鍵Ctrl+N,系統(tǒng)彈出"新建"對話框,在文件類型中選擇"表單",點擊"新建文件"按鈕,系統(tǒng)將打開表單設(shè)計器;或直接在命令窗口中輸入 crea form Myform3。
第二步:點擊工具欄按鈕"表單控件工具欄",在彈出的"表單控件"工具欄中,選中"命令按鈕"控件,在表單設(shè)計器中拖動鼠標(biāo),這樣在表單上得到一個"命令按鈕"控件command1,用同樣的方法為表單再加入一個"命令按鈕"控件command2;
相關(guān)控件的屬性值如下:
對象 屬性 屬性值
Form1 Caption 成績查詢
Command1 Caption 查詢
Command2 Caption 退出
****命令按鈕command1(查詢)的Click事件代碼如下****
SELECT Course.課程名, MAX(score1.成績) AS 最高分;
FROM course INNER JOIN score1;
INNER JOIN student ;
ON Student.學(xué)號 = Score1.學(xué)號 ;
ON Course.課程號 = Score1.課程號;
GROUP BY Course.課程名;
INTO TABLE NEW_TABLE3
****命令按鈕command2(退出)的Click事件代碼如下****
thisform.release
第4題:
1. 打開數(shù)據(jù)庫SCORE_MANAGER, 該數(shù)據(jù)庫中含三個有聯(lián)系的表STUDENT、SCORE1 和COURSE, 根據(jù)已經(jīng)建立好的索引, 建立表之間聯(lián)系。
2. 為COURSE表增加字段:開課學(xué)期(N,2,0)。
3. 為SCORE1表"成績"字段設(shè)置字段有效性規(guī)則: 成績>=0,出錯提示信息是: "成績必須大于或等于零"。
4. 將SCORE1表"成績"字段的默認(rèn)值設(shè)置為空值(NULL)。
本題主要考核點:為已建立索引的表建立聯(lián)系、設(shè)置字段的默認(rèn)值、字段的添加、字段有效性的設(shè)置等知識點
本題解題思路:
第1題:本題的主要考核點是建立兩個表之間永久聯(lián)系。
在父表中選中主索引,按住鼠標(biāo)拖動至子表相應(yīng)的普通索引上,釋放鼠標(biāo),聯(lián)系即已建立。
第2題:本題的主要考核點是字段的添加的方法。
打開COURSE表表設(shè)計器,將光標(biāo)移動到最后的空字段格中,輸入新的字段名、字段類型及長度。
第3題:本題的主要考核點是字段有效性的設(shè)置。
在表設(shè)計器中,選中"成績"字段,在"字段有效性"中的"規(guī)則"文本框中填入: 成績>=0,在"信息"文本框中中填入"成績必須大于或等于零",單擊確定。
第4題:本題的主要考核點是字段默認(rèn)值的設(shè)置。
在表設(shè)計器對話框中,選擇"成績"字段,點擊NULL列下的按鈕(表示此列允許空值),然后再在"字段有效性"中的默認(rèn)值中填入.NULL.,單擊確定。
第5題:
1. 在SCORE_MANAGER數(shù)據(jù)庫中查詢學(xué)生的姓名和年齡(計算年齡的公式是:2003-Year(出生日期),年齡作為字段名),結(jié)果保存在一個新表NEW_TABLE1中。使用報表向?qū)Ы蟊鞱EW_REPORT1,用報表顯示NEW_TABLE1的內(nèi)容。報表
中數(shù)據(jù)按年齡升序排列,報表標(biāo)題是"姓名-年齡",其余參數(shù)使用缺省參數(shù)。
2. 在SCORE_MANAGER數(shù)據(jù)庫中查詢沒有選修任何課程的學(xué)生信息,查詢結(jié)果包括"學(xué)號"、"姓名"和"系部"字段,查詢結(jié)果按學(xué)號升序保存在一個新表NEW_TABLE2中。
本題主要考核點:
本題的主要考核點是SQL查詢語句的使用,查詢?nèi)ハ、報表向(qū)У氖褂玫戎R點
本題解題思路:
第1題:本題的主要考核點是SQL查詢語句的使用,查詢?nèi)ハ、報表向(qū)У氖褂谩?/p>
SELECT 姓名, 2003-Year(出生日期) as 年齡;
FROM student;
INTO TABLE new_table1.dbf
啟動報表向?qū)Э稍?quot;文件"菜單中選擇"新建"或者單擊工具欄上的"新建"按鈕,打開"新建"對話框,文件類型選擇報表,單擊向?qū)О粹o;蛘咴"工具"菜單中選擇"向?qū)?quot;子菜單,選擇"報表",或直接單擊工具欄上的"報表向?qū)?quot;圖標(biāo)按鈕。然后按照向?qū)崾静僮骷纯伞?/p>
第2題:本題的主要考核點是SQL查詢語句的使用。
SELECT Student.學(xué)號, Student.姓名, Student.系部;
FROM course right OUTER JOIN score1;
right OUTER JOIN student ;
ON Student.學(xué)號 = Score1.學(xué)號 ;
ON Course.課程號 = Score1.課程號;
WHERE Student.學(xué)號 != Score1.學(xué)號 ;
ORDER BY Student.學(xué)號;
INTO TABLE new_table2.dbf
第6題:
1. 用SQL語句完成下列操作: 將選課在5門課程以上(包括5門)的學(xué)生的學(xué)號、姓名、平均分和選課門數(shù)按平均分降序排序,并將結(jié)果存放于數(shù)據(jù)庫表stu_temp(字段名為學(xué)號、姓名、平均分和選課門數(shù))。
2. 建立一個名為menu_lin的下拉式菜單,菜單中有兩個菜單項"查詢"和"退出"。"查詢"項下還有一個子菜單,子菜單有"按姓名"和"按學(xué)號"兩個選項。在"退出"菜單項下創(chuàng)建過程,該過程負(fù)責(zé)使程序返回到系統(tǒng)菜單。
本題主要考核點:SQL查詢語句的使用,查詢?nèi)ハ颉⑾吕讲藛蔚慕⒌戎R點
本題解題思路:
第1題:本題的主要考核點是SQL查詢語句的使用,查詢?nèi)ハ颉?/p>
SELECT 學(xué)生.學(xué)號, 學(xué)生.姓名, AVG(選課.成績) as 平均分,;
COUNT(選課.課程號) AS 選課門數(shù);
FROM 學(xué)生!學(xué)生 INNER JOIN 學(xué)生!選課;
INNER JOIN 學(xué)生!課程;
ON 課程.課程號 = 選課.課程號;
ON 學(xué)生.學(xué)號 = 選課.學(xué)號;
GROUP BY 學(xué)生.姓名;
HAVING COUNT(選課.課程號)>=5;
ORDER BY 3 DESC;
INTO TABLE stu_temp.dbf
第2題:本題的主要考核點是菜單的建立。
新建菜單可按下列步驟:選擇"文件"菜單中的"新建"命令,在"新建"對話框中選擇"菜單",單擊"新建文件"按鈕。在"新建菜單"對話框中選擇"菜單"按鈕,調(diào)出"菜單設(shè)計器"。也可用CREATE MENU命令直接調(diào)出菜單設(shè)計器。在菜單名稱中填入"查詢"、"退出","查詢"結(jié)果為子菜單,單擊編輯;在子菜單的菜單名稱中輸入"按姓名"、"按學(xué)號","退出"結(jié)果為過程,單擊編輯,填入"SET SYSMENU TO DEFAULT"(不要引號)。
第7題:
設(shè)計名為mystock的表單(控件名,文件名均為mystock)。表單的標(biāo)題為:"股票持有情況"。表單中有兩個文本框(text1和text2)和兩個命令按鈕"查詢" (名稱為Command1)和"退出"(名稱為Command2)。 運行表單時,在文本框text1中輸入某一股票的漢語拼音,然后單擊"查詢",則text2中會顯示出相應(yīng)股票的持有數(shù)量。 單擊"退出"按鈕關(guān)閉表單。
本題主要考核點:
表單的創(chuàng)建、控件的屬性的修改、表單的退出、SQL查詢等知識點
本題解題思路:
第一步:在Visual FoxPro主窗口中按下組合鍵Ctrl+N,系統(tǒng)彈出"新建"對話框,在文件類型中選擇"表單",點擊"新建文件"按鈕,系統(tǒng)將打開表單設(shè)計器;或直接在命令窗口中輸入crea form mystock。
第二步:點擊工具欄按鈕"表單控件工具欄",在彈出的"表單控件"對話框中,選中"命令按鈕"控件,在表單設(shè)計器中拖動鼠標(biāo),這樣在表單上得到一個"命令按鈕"控件command1,用類似的方法為表單加入一個"命令按鈕"控件command2,二個"文本框"控件text1和text2。
相關(guān)控件的屬性值如下表所示:
對象 屬性 屬性值
Form1 Name mystock
Caption 股票持有情況
Command1 Caption 查詢
Command2 Caption 退出
***命令按鈕command1(查詢)的Click事件代碼如下****
SELECT Stock_sl.持有數(shù)量;
FROM stock!stock_name INNER JOIN stock!stock_sl ;
ON Stock_name.股票代碼 = Stock_sl.股票代碼;
WHERE Stock_name.漢語拼音 = alltrim(thisform.text1.value);
INTO ARRAY TEMP
THISFORM.TEXT2.VALUE=TEMP
***命令按鈕command2(退出)的Click事件代碼如下***
thisform.release
第8題:
1. 使用報表向?qū)Ы⒁粋簡單報表。要求選擇客戶表Customer中所有字段;記錄不分組;報表樣式為隨意式;列數(shù)為"1",字段布局為"列",方向為"縱向";排序字段為"會員號",升序;報表標(biāo)題為"客戶信息一覽表";報表文件名為
myreport。
2.使用命令建立一個名稱為sb_view的視圖,并將定義視圖的命令代碼存放到命令文件pview.prg。視圖中包括客戶的會員號(來自Customer表)、姓名(來自Customer表)、客戶所購買的商品名(來自article表)、單價(來自O(shè)rderItem
表)、數(shù)量(來自O(shè)rderItem表)和金額(OrderItem.單價 * OrderItem.數(shù)量),結(jié)果按會員號升序排序。
本題主要考核點: 報表向?qū)У氖褂茫妹罱⒁晥D等知識點
本題解題思路:
第1題:本題的主要考核點是使用報表向?qū)е谱鲌蟊怼?/p>
啟動報表向?qū)Э稍?quot;文件"菜單中選擇"新建"或者單擊工具欄上的"新建"按鈕,打開"新建"對話框,文件類型選擇報表,單擊向?qū)О粹o;蛘咴"工具"菜單中選擇"向?qū)?quot;子菜單,選擇"報表",或直接單擊工具欄上的"報表向?qū)?quot;圖標(biāo)按鈕。然后按照向?qū)崾静僮骷纯伞?/p>
第2題:本題的主要考核點是用命令建立視圖。
CREA VIEW sb_view
SELECT Customer.會員號, Customer.姓名, Article.商品名, Orderitem.單價,;
Orderitem.數(shù)量, OrderItem.單價 * OrderItem.數(shù)量 as 金額;
FROM ecommerce!customer INNER JOIN ecommerce!orderitem;
INNER JOIN ecommerce!article ON Article.商品號 = Orderitem.商品號 ;
ON Customer.會員號 = Orderitem.會員號 ORDER BY Customer.會員號
第9題:
1. 打開Ecommerce數(shù)據(jù)庫,并將考生文件夾下的自由表OrderItem添加到該數(shù)據(jù) 庫。
2. 為OrderItem表創(chuàng)建一個主索引,索引名為PK,索引表達式為"會員號+商品號"; 再為OrderItem創(chuàng)建兩個普通索引(升序),一個的索引名和索引表達式均是 "會員號";另一個的索引名和索引表達式均是"商品號"。
3.通過"會員號"字段建立客戶表Customer和訂單表OrderItem之間的永久聯(lián)系( 注意不要建立多余的聯(lián)系)。
4.為以上建立的聯(lián)系設(shè)置參照完整性約束:更新規(guī)則為"級聯(lián)";刪除規(guī)則為 "限制";插入規(guī)則為"限制"。
本題主要考核點:
將一個自由表添加到數(shù)據(jù)庫中、表索引的建立、表之間的永久聯(lián)系的建立、參照完整性約束的編輯等知識點
本題解題思路:
第1題:打開考生文件夾下的"Ecommerce"數(shù)據(jù)庫,打開數(shù)據(jù)庫菜單選擇"添加表(A)",在彈出的"打開"對話框中,選定考生文件夾下的orderitem表,再點擊"確定"即可,這樣表order_detail就添加到了"Ecommerce"數(shù)據(jù)庫中。
第2題:在數(shù)據(jù)庫設(shè)計器中選中表orderitem,在主菜單中選擇"修改(Y)",彈出表設(shè)計器,選擇表設(shè)計器"索引"標(biāo)簽,在索引名列中填入"PK",在索引類型列中選擇"主索引",在索引表達式列中填入"會員號+商品號",用同樣的方法再為OrderItem創(chuàng)建兩個普通索引(升序),一個的索引名和索引表達式均是"會員號";另一個的索引名和索引表達式均是"商品號"點擊"確定"按鈕,保存表結(jié)構(gòu)。
第3題:在數(shù)據(jù)庫設(shè)計器中,選中customer表中的索引"會員號"并拖動到表OrderItem的"會員號"的索引上并松開,這樣兩個表之間就建立起了永久聯(lián)系。
第4題:在第3題建立好永久聯(lián)系之后,在兩處表的"會員號"索引之間有一條線,單擊這條表示兩個表之間聯(lián)系的線,線會加粗,此時在主菜單中選擇"數(shù)據(jù)庫"中的"編輯參照完整性(I)",系統(tǒng)彈出"參照完整性生成器"對話框,在"更新規(guī)則"標(biāo)簽中,選擇"級聯(lián)"規(guī)則,在"刪除"規(guī)則中選擇"限制",在"插入規(guī)則"中選擇"限制",單擊"確定"保存所編輯的參照完整性。
第10題:
1. modi1.prg 程序文件中 SQL SELECT語句的功能是查詢哪些零件(零件名稱)目前用于三個項目, 并將結(jié)果按升序存入文本文件 results.txt。 給出的SQL SELECT 語句中在第 1、3、5 行各有一處錯誤,請改正并運行程序(不可以增、刪語句或短語,也不可以改變語句行)。
2.根據(jù)項目信息(一方)和使用零件(多方)兩個表、利用一對多報表向?qū)Ы⒁粋報表,報表中包含項目號、項目名、項目負(fù)責(zé)人、(聯(lián)系)電話、(使用的)零件號和數(shù)量等6個字段,報表按項目號升序排序,報表樣式為經(jīng)營式,在
總結(jié)區(qū)域(細(xì)節(jié)及總結(jié))包含零件使用數(shù)量的合計,報表標(biāo)題為"項目使用零件信息",報表文件名為report。
本題主要考核點:VFP命令,報表向?qū)У氖褂玫戎R點
本題解題思路:
第1題:本題是一個程序修改題。第一處錯誤SELECT 零件名稱 FROM 零件信息 WHERE 零件號 =,應(yīng)改為SELECT 零件名稱 FROM 零件信息 WHERE 零件號 IN;第二處錯誤為GROUP BY 項目號 HAVING COUNT(項目號) = 3),應(yīng)改為GROUP BY 零件號 HAVING COUNT(項目號) = 3);第三處錯誤為IN FILE results,應(yīng)改為TO FILE results
第2題:本題的主要考核點是使用報表向?qū)е谱鲌蟊怼?/p>
啟動報表向?qū)Э稍?quot;文件"菜單中選擇"新建"或者單擊工具欄上的"新建"按鈕,打開"新建"對話框,文件類型選擇報表,單擊向?qū)О粹o;蛘咴"工具"菜單中選擇"向?qū)?quot;子菜單,選擇"報表",或直接單擊工具欄上的"報表向?qū)?quot;圖標(biāo)按鈕。然后按照向?qū)崾静僮骷纯伞?/p>
【計算機二級VF上機題庫及答案】相關(guān)文章:
計算機二級考試VF上機試題及答案03-21
計算機二級VF上機模擬題03-31
2016計算機二級考試《VF》上機操作題03-27
計算機二級VF考試試題及答案10-23
2024二級c語言上機題庫04-18