為大家收集整理了《2014年職稱(chēng)計(jì)算機(jī)VisualFoxpro模擬題》供大家參考,希望對(duì)大家有所幫助?。。?BR> 一、基本操作題(共4小題,第1和2題是7分、第3和4題是8分)
注意:基本操作題為4道SQL題,請(qǐng)將每道題的SQL命令粘貼到SQL1.txt文件,
每條命令占一行,第1道題的命令是第1行,第2道題的命令是第2行,以此類(lèi)推;
如果某道題沒(méi)有做相應(yīng)行為空。
在考生文件夾下完成下列操作:
1. 利用SQL SELECT命令將表stock_sl.dbf復(fù)制到stock_bk.dbf;
2.利用SQL INSERT命令插入記錄("600028",4.36, 4.60, 5500)到stock_bk.dbf表。
3.利用SQL UPDATE命令將stock_bk.dbf表中"股票代碼"為600007的股票"現(xiàn)價(jià)"改為8.88。
4.利用SQL DELETE命令刪除stock_bk.dbf表中"股票代碼"為600000的股票。
本題的主要考核點(diǎn):
SQL語(yǔ)句的使用。
1、SELE * FROM stock_sl INTO DBF stock_bk
2、INSE INTO stock_bk (股票代碼,買(mǎi)入價(jià),現(xiàn)價(jià),持有數(shù)量)VALU("600028", 4.36, 4.60, 5500)
3、UPDA stock_bk SET 現(xiàn)價(jià)=8.88 WHER 股票代碼="600007"
4、DELE FROM stock_bk WHER 股票代碼="600000"
二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
1、在考生文件夾下建立數(shù)據(jù)庫(kù)sc2,將考生文件夾下的自由表score2添加進(jìn)sc2中。根據(jù)score2表建立一個(gè)視圖score_view,視圖中包含的字段與score2表相同,但視圖中只能查詢(xún)到積分小于等于1500的信息。然后利用新建立的視圖查詢(xún)視圖中的全部信息,并將結(jié)果按積分升序存入表v2。
2、建立一個(gè)菜單filemenu,包括兩個(gè)菜單項(xiàng)"文件"和"幫助", "文件"將激活子菜單,該子菜單包括"打開(kāi)"、"存為"和 "關(guān)閉"三個(gè)菜單項(xiàng);"關(guān)閉"子菜單項(xiàng)用SET SYSMENU TO DEFAULT命令返回到系統(tǒng)菜單,其他菜單項(xiàng)的功能不做要求。
第1題,本題的主要考核點(diǎn)是視圖的建立。
在"項(xiàng)目管理器"中選擇一個(gè)數(shù)據(jù)庫(kù),選擇"本地視圖",然后選擇"新建"按鈕,打開(kāi)"視圖設(shè)計(jì)器"。選擇所有字段,在"篩選"欄內(nèi)輸入條件"積分<=1500",關(guān)閉并保存。在數(shù)據(jù)庫(kù)設(shè)計(jì)器中打開(kāi)視圖,用sort on 積分 to v2 命令存入新表。
第2題,本題的主要考核點(diǎn)是菜單的建立。新建菜單可按下列步驟:選擇"文件"菜單中的"新建"命令,在"新建"對(duì)話(huà)框中選擇"菜單",單擊"新建文件"按鈕。在"新建菜單"對(duì)話(huà)框中選擇"菜單"按鈕,調(diào)出"菜單設(shè)計(jì)器"。也可用CREATE MENU命令直接調(diào)出菜單設(shè)計(jì)器。在菜單名稱(chēng)中填入"文件"、"幫助","文件"結(jié)果為子菜單,單擊編輯;在子菜單的菜單名稱(chēng)中輸入"打開(kāi)"、"存為"、"關(guān)閉","關(guān)閉"結(jié)果為命令"SET SYSMENU TO DEFAULT"。
三、綜合應(yīng)用(1小題,計(jì)30分)
在考生文件夾下有學(xué)生成績(jī)數(shù)據(jù)庫(kù)XUESHENG3,包括如下所示三個(gè)表文件以及相
關(guān)的索引文件:
1、XS.DBF(學(xué)生文件: 學(xué)號(hào) C8,姓名 C8,性別 C2,班級(jí) C5;另有索引文件
XS.IDX,索引鍵:學(xué)號(hào))
2、CJ.DBF(成績(jī)文件: 學(xué)號(hào) C8,課程名 C20,成績(jī) N5.1;另有索引文件
CJ.IDX,索引鍵:學(xué)號(hào))
3、CJB.DBF(成績(jī)表文件:學(xué)號(hào) C8,姓名 C8,班級(jí) C5,課程名 C12,成績(jī)
N5.1)
設(shè)計(jì)一個(gè)名為XS3的菜單,菜單中有兩個(gè)菜單項(xiàng)"計(jì)算"和"退出"。程序運(yùn)行時(shí),單擊"計(jì)算"菜單項(xiàng)應(yīng)完成下列操作:將所有選修了"計(jì)算機(jī)基礎(chǔ)"的學(xué)生的"計(jì)算機(jī)基礎(chǔ)"成績(jī), 按成績(jī)由高到低的順序填列到成績(jī)表文件CJB.DBF中(事前須將文件中原有數(shù)據(jù)清空)。單擊"退出"菜單項(xiàng),程序終止運(yùn)行。
(注:相關(guān)數(shù)據(jù)表文件存在于考生文件夾下)
本題的主要考核點(diǎn):
結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)中的聯(lián)接查詢(xún)、查詢(xún)的排序、查詢(xún)的去向等知識(shí)
解題思路:
在本題中要想得到所有選修了"計(jì)算機(jī)基礎(chǔ)"的學(xué)生的"計(jì)算機(jī)基礎(chǔ)" 成績(jī)及學(xué)生的姓名等信息,就需要用到聯(lián)接查詢(xún)。因?yàn)閷W(xué)生的姓名、班級(jí)在表XS.DBF中,而學(xué)生的成績(jī)?cè)诒鞢J.DBF中。而這兩個(gè)表要聯(lián)接起來(lái)可以通過(guò)"學(xué)號(hào)"字段。
有以下兩種聯(lián)接查詢(xún)的形式:SELECT XS.學(xué)號(hào),姓名,班級(jí),課程名,成績(jī) FROM XS,CJ WHERE XS.學(xué)號(hào)=CJ.學(xué)號(hào) AND 課程名="計(jì)算機(jī)基礎(chǔ)" 或者 SELECT XS.學(xué)號(hào),姓名,班級(jí),課程名,成績(jī) FROM XS LEFT JION CJ ON XS.學(xué)號(hào)=CJ.學(xué)號(hào) WHERE 課程名="計(jì)算機(jī)基礎(chǔ)"
通過(guò)以上的聯(lián)接查詢(xún)便得到了所有選修"計(jì)算機(jī)基礎(chǔ)"的學(xué)生的"計(jì)算機(jī)基礎(chǔ)"的成績(jī)及學(xué)生的姓名等信息。而題中所要求按成績(jī)的降序排序,所以應(yīng)該在以上SQL語(yǔ)句的基礎(chǔ)上加入:ORDER BY 成績(jī) DESC
將查詢(xún)所得到的結(jié)果放于一個(gè)數(shù)組變量AFieldsValue中,要用到INTO ARRAY AFieldsValue.至此一個(gè)完整的SQL聯(lián)接查詢(xún)語(yǔ)句便形成了:SELECT XS.學(xué)號(hào),姓名,班級(jí),課程名,成績(jī) FROM XS,CJ WHERE XS.學(xué)號(hào)=CJ.學(xué)號(hào) AND 課程名="計(jì)算機(jī)基礎(chǔ)" ORDER BY 成績(jī) DESC INTO ARRAY AFieldsValue
清空CJB.DBF
將tableName中的資料添加到已被清空的CJB.DBF中INSERT INTO CJB FROM ARRAY AFieldsValue
一、基本操作題(共4小題,第1和2題是7分、第3和4題是8分)
在考生文件夾下完成下列操作(在"成績(jī)管理"數(shù)據(jù)庫(kù)中完成):
1. 為"學(xué)生"表在"學(xué)號(hào)"字段上建立升序主索引, 索引名為學(xué)號(hào);
2. 為"學(xué)生"表的"性別"字段定義有效性規(guī)則, 規(guī)則表達(dá)式為 性別$"男女"出錯(cuò)提示信息是: "性別必須是男或女"。
3. 在"學(xué)生"表的"性別"和"年齡"字段之間插入一個(gè)"出生日期"字段,數(shù)據(jù)類(lèi)型
為"日期型"(修改表結(jié)構(gòu));
4.用SQL的UPDATE命令將學(xué)生"王三風(fēng)"的出生日期修改為1983年5月1日,并將該
語(yǔ)句粘貼在SQL2.TXT文件中(第一行、只占一行)
本題的主要考核點(diǎn):
主索引的建立、字段有效規(guī)則的建立,表結(jié)構(gòu)的更改,SQL語(yǔ)言的使用。
解題思路:
1.在表設(shè)計(jì)器中的索引頁(yè)面建立索引。
2、建立有效性規(guī)則在表設(shè)計(jì)器中的字段選項(xiàng)卡。在"規(guī)則"欄中輸入"性別$"男女"","提示信息"欄輸入"性別必須是男或女"(不要雙引號(hào))。
4.SQL語(yǔ)句的用法
UPDA 學(xué)生 SET 出生日期={^1983/05/01} WHER 姓名="王三風(fēng)"
二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
1、根據(jù)考生文件夾下的txl表和jsh表建立一個(gè)查詢(xún)query2,查詢(xún)出單位是"南京大學(xué)" 的所有教師的姓名、職稱(chēng)、電話(huà),要求查詢(xún)?nèi)ハ蚴潜恚砻莙uery2.dbf,并執(zhí)行該查詢(xún)。
2、建立表單enterf,表單中有兩個(gè)命令按鈕,按鈕的名稱(chēng)分別為cmdin和
cmdout,標(biāo)題分別為"進(jìn)入"和"退出"。
第1題,本題的主要考核點(diǎn)是建立查詢(xún)。
建立查詢(xún)可以使用“文件”菜單完成,選擇文件--新建--查詢(xún)--新建文件,將txl和jsh添加入查詢(xún)中,從字段中選擇姓名、職稱(chēng)和電話(huà)字段,單擊查詢(xún)菜單下的查詢(xún)?nèi)ハ?,選擇表,輸入表名query2.DBF。后運(yùn)行該查詢(xún)。
第2題,本題的主要考核點(diǎn)是表單的建立。
可以用三種方法調(diào)用表單設(shè)計(jì)器:在項(xiàng)目管理器環(huán)境下調(diào)用;單擊“文件”菜單中的“新建”,打開(kāi)“新建”對(duì)話(huà)框,選擇“表單”;在命令窗口輸入CREATE FORM命令。
打開(kāi)表單設(shè)計(jì)器后,在表單控件工具欄上單擊“命令按鈕”,在表單上放置兩個(gè)按鈕。分別修改其屬性Name為cmdin和cmdout,Caption屬性為“進(jìn)入”和“退出”。
三、綜合應(yīng)用(1小題,計(jì)30分)
在考生文件夾下有倉(cāng)庫(kù)數(shù)據(jù)庫(kù)CK3,包括如下所示兩個(gè)表文件:
CK(倉(cāng)庫(kù)號(hào)C(4),城市C(8),面積N(4))
ZG(倉(cāng)庫(kù)號(hào)C(4),職工號(hào)C(4),工資N(4))
設(shè)計(jì)一個(gè)名為ZG3的菜單,菜單中有兩個(gè)菜單項(xiàng)"統(tǒng)計(jì)"和"退出"。程序運(yùn)行時(shí),單擊"統(tǒng)計(jì)"菜單項(xiàng)應(yīng)完成下列操作:檢索出所有職工的工資都大于 1220元的職工所管理的倉(cāng)庫(kù)信息,將結(jié)果保存在wh1數(shù)據(jù)表(WH1為自由表)文件中,該文件的結(jié)構(gòu)和CK數(shù)據(jù)表文件的結(jié)構(gòu)一致,并按面積升序排序。單擊"退出"菜單項(xiàng),程序終止運(yùn)行。(注:相關(guān)數(shù)據(jù)表文件存在于考生文件夾下) 本題主要考核點(diǎn):
菜單的建立、結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)中的嵌套查詢(xún)、查詢(xún)結(jié)果的去向等知識(shí)。
解題思路:
利用菜單設(shè)計(jì)器定義兩個(gè)菜單項(xiàng),在菜單名稱(chēng)為"統(tǒng)計(jì)"的菜單項(xiàng)的結(jié)果列中選擇"過(guò)程",并通過(guò)單擊"編輯"按鈕打開(kāi)一個(gè)窗中來(lái)添加"統(tǒng)計(jì)"菜單項(xiàng)要執(zhí)行的命令。在菜單名稱(chēng)為"退出"的菜單項(xiàng)的結(jié)果列中選擇"命令",并在后面的"選項(xiàng)"列中輸入以下退出菜單的命令:SET SYSMENU TO DEFAULT
"統(tǒng)計(jì)"菜單項(xiàng)要執(zhí)行的程序:
首先中打開(kāi)數(shù)據(jù)庫(kù)文件 OPEN DATABASE CK3.DBC
下面我們分析所要用到的查詢(xún)語(yǔ)句的實(shí)現(xiàn),題面要求"檢索出所有職工的工資都大于1220的職工所管理的倉(cāng)庫(kù)信息",所以得到滿(mǎn)足以上條件的倉(cāng)庫(kù)號(hào)成為解答本題的關(guān)鍵。"所有職工的工資都大于1220的職工所管理的倉(cāng)庫(kù)"這個(gè)條件可以將其分解為同時(shí)滿(mǎn)足以下兩個(gè)條件的結(jié)果"倉(cāng)庫(kù)號(hào)不存在于職工的工資小于等于1220的職工所管理的倉(cāng)庫(kù)號(hào)中"并且"倉(cāng)庫(kù)號(hào)存在于表ZG中",而以上兩個(gè)條件我們可以利用SQL輕松寫(xiě)出來(lái)。所以后形成的查詢(xún)語(yǔ)句以下:SELECT * FROM CK WHERE 倉(cāng)庫(kù)號(hào) NOT IN (SELECT 倉(cāng)庫(kù)號(hào) FROM ZG WHERE 工資<=1220) AND 倉(cāng)庫(kù)號(hào) IN (SELECT 倉(cāng)庫(kù)號(hào) FROM ZG) INTO TABLE wh1.dbf.后面的INTO TABLE wh1.dbf決定了查詢(xún)的結(jié)果是生成一個(gè)wh1.dbf文件。
本題還考對(duì)查詢(xún)的排序和查詢(xún)的去向進(jìn)行了考核.可以用ORDER BY order_Item [ASC|DESC]來(lái)讓查詢(xún)的結(jié)果按某一列或某幾列的升序(ASC)或降序(DESC)進(jìn)行排列。而查詢(xún)的去向可以通過(guò)INTO TABLE strTableName 而直接生成一個(gè)文件名為strTableName的.DBF表。 一、基本操作(共四小題,第1和2題是7分、第3和4題是8分
1、請(qǐng)?jiān)诳忌募A下建立一個(gè)數(shù)據(jù)庫(kù)KS4。
2、將考生文件夾下的自由表STUD、COUR、SCOR加入到數(shù)據(jù)庫(kù)KS4中。
3、為STUD表建立主索引,索引名和索引表達(dá)式均為學(xué)號(hào)
為COUR表建立主索引,索引名和索引表達(dá)式均為課程編號(hào)
為SCOR表建立兩個(gè)普通索引,其中一個(gè)索引名和索引表達(dá)式均為學(xué)號(hào);另一個(gè)索引名和索引表達(dá)式均為課程編號(hào)
4、在以上建立的各個(gè)索引的基礎(chǔ)上為三個(gè)表建立聯(lián)系。
本題的主要考核點(diǎn):
數(shù)據(jù)庫(kù)的建立、將自由表添加到數(shù)據(jù)庫(kù)中、主索引和普通索引的建立,為已建立索引的表建立聯(lián)系。
解題思路:
1.建立數(shù)據(jù)庫(kù)的常用方法有三種:
在項(xiàng)目管理器中建立數(shù)據(jù)庫(kù);
通過(guò)"新建"對(duì)話(huà)框建立數(shù)據(jù)庫(kù);
使用命令交互建立數(shù)據(jù)庫(kù),命令為: CREATE DATABASE [DatabaseName|?]
2.將自由表添加到數(shù)據(jù)庫(kù)中,可以在項(xiàng)目管理器或數(shù)據(jù)庫(kù)設(shè)計(jì)器中完成。打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器,在"數(shù)據(jù)庫(kù)"菜單中或在數(shù)據(jù)庫(kù)設(shè)計(jì)器上單擊右鍵彈出的菜單中選擇"添加表",然后在"打開(kāi)"對(duì)話(huà)框中選擇要添加到當(dāng)前數(shù)據(jù)庫(kù)的自由表。還可用ADD TABLE命令添加一個(gè)自由表到當(dāng)前數(shù)據(jù)庫(kù)中。
3.在STUD表設(shè)計(jì)器中的索引選項(xiàng)卡建立索引名和索引表達(dá)式為學(xué)號(hào)的主索引。分別為COUR和SCOR建立主索引和普通索引。
4.在數(shù)據(jù)庫(kù)設(shè)計(jì)器中建立三個(gè)表的聯(lián)系。在數(shù)據(jù)庫(kù)設(shè)計(jì)器中,將選中STUD表中的主索引"學(xué)號(hào)",按住鼠標(biāo)拖動(dòng)到SCOR表的普通索引"學(xué)號(hào)"上。
用同樣的方法可以建立COUR表和SCOR表的"課程編號(hào)"之間的聯(lián)系。
二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
1、在考生文件夾中有一個(gè)數(shù)據(jù)庫(kù)STSC,其中有數(shù)據(jù)庫(kù)表STUDENT、SCORE和
COURSE
利用SQL語(yǔ)句查詢(xún)選修了"網(wǎng)絡(luò)工程"課程的學(xué)生的全部信息,并將結(jié)果按學(xué)號(hào)降序存放在 NETP.DBF文件中(庫(kù)的結(jié)構(gòu)同STUDENT,并在其后加入課程號(hào)和課程名字段)。
2、在考生文件夾中有一個(gè)數(shù)據(jù)庫(kù)STSC,其中有數(shù)據(jù)庫(kù)表STUDENT,使用一對(duì)多報(bào)表向?qū)е谱饕粋€(gè)名為CJ2的報(bào)表,存放在考生文件夾中要求:選擇父表STUDENT 表中學(xué)號(hào)和姓名字段,從子表SCORE中選擇課程號(hào)和成績(jī),排序字段選擇學(xué)號(hào)(升序),報(bào)表式樣為簡(jiǎn)報(bào)式,方向?yàn)榭v向。報(bào)表標(biāo)題為"學(xué)生成績(jī)表"。
第1題,本題的主要考核點(diǎn)是SQL語(yǔ)句的查詢(xún)。
SELECT Student.*, Score.課程號(hào), Course.課程名;
FROM stsc!student INNER JOIN stsc!score;
INNER JOIN stsc!course ;
ON Score.課程號(hào) = Course.課程號(hào) ;
ON Student.學(xué)號(hào) = Score.學(xué)號(hào);
WHERE AT("網(wǎng)絡(luò)工程",Course.課程名) > 0;
ORDER BY Student.學(xué)號(hào) desc;
INTO TABLE netp.dbf
第2題,本題的主要考核點(diǎn)是使用報(bào)表向?qū)е谱鲌?bào)表。
啟動(dòng)報(bào)表向?qū)Э稍?文件"菜單中選擇"新建"或者單擊工具欄上的"新建"按鈕,打開(kāi)"新建"對(duì)話(huà)框,文件類(lèi)型選擇報(bào)表,單擊向?qū)О粹o?;蛘咴?工具"菜單中選擇"向?qū)?子菜單,選擇
"報(bào)表",或直接單擊工具欄上的"報(bào)表向?qū)?圖標(biāo)按鈕。然后按照向?qū)崾静僮骷纯伞?BR> 三、綜合應(yīng)用(1小題,計(jì)30分)
在考生文件夾下有工資數(shù)據(jù)庫(kù)WAGE3,包括數(shù)據(jù)表文件:ZG(倉(cāng)庫(kù)號(hào)C(4),
職工號(hào)C(4),工資N(4))
設(shè)計(jì)一個(gè)名為T(mén)J3的菜單,菜單中有兩個(gè)菜單項(xiàng)"統(tǒng)計(jì)"和"退出"。
程序運(yùn)行時(shí),單擊"統(tǒng)計(jì)"菜單項(xiàng)應(yīng)完成下列操作:檢索出工資小于或等于本倉(cāng)庫(kù)職工平均工資的職工信息,并將這些職工信息按照倉(cāng)庫(kù)號(hào)升序,在倉(cāng)庫(kù)號(hào)相同的情況下再按職工號(hào)升序存放到EMP1(EMP1為自由表)文件中,該數(shù)據(jù)表文件和ZG數(shù)據(jù)表文件具有相同的結(jié)構(gòu)。單擊"退出"菜單項(xiàng),程序終止運(yùn)行。
(注:相關(guān)數(shù)據(jù)表文件存在于考生文件夾下)
本題主要考核點(diǎn):
菜單的建立、結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)中的聯(lián)接查詢(xún)、查詢(xún)的排序、臨時(shí)表的概念、查詢(xún)結(jié)果的去向等知識(shí)。
解題思路:
利用菜單設(shè)計(jì)器定義兩個(gè)菜單項(xiàng),在菜單名稱(chēng)為"統(tǒng)計(jì)"的菜單項(xiàng)的結(jié)果列中選擇"過(guò)程",并通過(guò)單擊"編輯"按鈕打開(kāi)一個(gè)窗中來(lái)添加"統(tǒng)計(jì)"菜單項(xiàng)要執(zhí)行的命令。在菜單名稱(chēng)為"退出"的菜單項(xiàng)的結(jié)果列中選擇"命令",并在后面的"選項(xiàng)"列中輸入以下退出菜單的命令:SET SYSMENU TO DEFAULT
"統(tǒng)計(jì)"菜單項(xiàng)要執(zhí)行的程序:
首先是打開(kāi)數(shù)據(jù)庫(kù)文件OPNE DATABASE WAGE3.DBC我們應(yīng)該得到每一個(gè)倉(cāng)庫(kù)的職工平均工資,并將結(jié)果放在一個(gè)臨時(shí)的表CurTable中.利用以下語(yǔ)句可以實(shí)現(xiàn):SELECT 倉(cāng)庫(kù)號(hào),AVG(工資) AS AvgGZ FROM ZG GROUP BY 倉(cāng)庫(kù)號(hào) INTO CURSOR CurTable.這樣就生成了一個(gè)表名為CurTable的臨時(shí)表。表中有兩個(gè)字段:倉(cāng)庫(kù)號(hào),AvgGZ,內(nèi)容為每一個(gè)倉(cāng)庫(kù)的倉(cāng)庫(kù)號(hào)和所對(duì)應(yīng)的職工的平均工資。
有了臨時(shí)表CurTable后我們可以將其與ZG進(jìn)行聯(lián)接查詢(xún),我們這里聯(lián)接查詢(xún)的目的不是為了得到臨時(shí)表中的內(nèi)容做為結(jié)果的一部分,而是要用其中的字段AvgGZ做為查詢(xún)的條件.我們便可以得到"工資小于或低于本倉(cāng)庫(kù)職工平均工資的職工信息"的查詢(xún):SELECT ZG.* FROM ZG,CurTable WHERE ZG.倉(cāng)庫(kù)號(hào)=CurTable.倉(cāng)庫(kù)號(hào) AND ZG.工資
注意:基本操作題為4道SQL題,請(qǐng)將每道題的SQL命令粘貼到SQL1.txt文件,
每條命令占一行,第1道題的命令是第1行,第2道題的命令是第2行,以此類(lèi)推;
如果某道題沒(méi)有做相應(yīng)行為空。
在考生文件夾下完成下列操作:
1. 利用SQL SELECT命令將表stock_sl.dbf復(fù)制到stock_bk.dbf;
2.利用SQL INSERT命令插入記錄("600028",4.36, 4.60, 5500)到stock_bk.dbf表。
3.利用SQL UPDATE命令將stock_bk.dbf表中"股票代碼"為600007的股票"現(xiàn)價(jià)"改為8.88。
4.利用SQL DELETE命令刪除stock_bk.dbf表中"股票代碼"為600000的股票。
本題的主要考核點(diǎn):
SQL語(yǔ)句的使用。
1、SELE * FROM stock_sl INTO DBF stock_bk
2、INSE INTO stock_bk (股票代碼,買(mǎi)入價(jià),現(xiàn)價(jià),持有數(shù)量)VALU("600028", 4.36, 4.60, 5500)
3、UPDA stock_bk SET 現(xiàn)價(jià)=8.88 WHER 股票代碼="600007"
4、DELE FROM stock_bk WHER 股票代碼="600000"
二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
1、在考生文件夾下建立數(shù)據(jù)庫(kù)sc2,將考生文件夾下的自由表score2添加進(jìn)sc2中。根據(jù)score2表建立一個(gè)視圖score_view,視圖中包含的字段與score2表相同,但視圖中只能查詢(xún)到積分小于等于1500的信息。然后利用新建立的視圖查詢(xún)視圖中的全部信息,并將結(jié)果按積分升序存入表v2。
2、建立一個(gè)菜單filemenu,包括兩個(gè)菜單項(xiàng)"文件"和"幫助", "文件"將激活子菜單,該子菜單包括"打開(kāi)"、"存為"和 "關(guān)閉"三個(gè)菜單項(xiàng);"關(guān)閉"子菜單項(xiàng)用SET SYSMENU TO DEFAULT命令返回到系統(tǒng)菜單,其他菜單項(xiàng)的功能不做要求。
第1題,本題的主要考核點(diǎn)是視圖的建立。
在"項(xiàng)目管理器"中選擇一個(gè)數(shù)據(jù)庫(kù),選擇"本地視圖",然后選擇"新建"按鈕,打開(kāi)"視圖設(shè)計(jì)器"。選擇所有字段,在"篩選"欄內(nèi)輸入條件"積分<=1500",關(guān)閉并保存。在數(shù)據(jù)庫(kù)設(shè)計(jì)器中打開(kāi)視圖,用sort on 積分 to v2 命令存入新表。
第2題,本題的主要考核點(diǎn)是菜單的建立。新建菜單可按下列步驟:選擇"文件"菜單中的"新建"命令,在"新建"對(duì)話(huà)框中選擇"菜單",單擊"新建文件"按鈕。在"新建菜單"對(duì)話(huà)框中選擇"菜單"按鈕,調(diào)出"菜單設(shè)計(jì)器"。也可用CREATE MENU命令直接調(diào)出菜單設(shè)計(jì)器。在菜單名稱(chēng)中填入"文件"、"幫助","文件"結(jié)果為子菜單,單擊編輯;在子菜單的菜單名稱(chēng)中輸入"打開(kāi)"、"存為"、"關(guān)閉","關(guān)閉"結(jié)果為命令"SET SYSMENU TO DEFAULT"。
三、綜合應(yīng)用(1小題,計(jì)30分)
在考生文件夾下有學(xué)生成績(jī)數(shù)據(jù)庫(kù)XUESHENG3,包括如下所示三個(gè)表文件以及相
關(guān)的索引文件:
1、XS.DBF(學(xué)生文件: 學(xué)號(hào) C8,姓名 C8,性別 C2,班級(jí) C5;另有索引文件
XS.IDX,索引鍵:學(xué)號(hào))
2、CJ.DBF(成績(jī)文件: 學(xué)號(hào) C8,課程名 C20,成績(jī) N5.1;另有索引文件
CJ.IDX,索引鍵:學(xué)號(hào))
3、CJB.DBF(成績(jī)表文件:學(xué)號(hào) C8,姓名 C8,班級(jí) C5,課程名 C12,成績(jī)
N5.1)
設(shè)計(jì)一個(gè)名為XS3的菜單,菜單中有兩個(gè)菜單項(xiàng)"計(jì)算"和"退出"。程序運(yùn)行時(shí),單擊"計(jì)算"菜單項(xiàng)應(yīng)完成下列操作:將所有選修了"計(jì)算機(jī)基礎(chǔ)"的學(xué)生的"計(jì)算機(jī)基礎(chǔ)"成績(jī), 按成績(jī)由高到低的順序填列到成績(jī)表文件CJB.DBF中(事前須將文件中原有數(shù)據(jù)清空)。單擊"退出"菜單項(xiàng),程序終止運(yùn)行。
(注:相關(guān)數(shù)據(jù)表文件存在于考生文件夾下)
本題的主要考核點(diǎn):
結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)中的聯(lián)接查詢(xún)、查詢(xún)的排序、查詢(xún)的去向等知識(shí)
解題思路:
在本題中要想得到所有選修了"計(jì)算機(jī)基礎(chǔ)"的學(xué)生的"計(jì)算機(jī)基礎(chǔ)" 成績(jī)及學(xué)生的姓名等信息,就需要用到聯(lián)接查詢(xún)。因?yàn)閷W(xué)生的姓名、班級(jí)在表XS.DBF中,而學(xué)生的成績(jī)?cè)诒鞢J.DBF中。而這兩個(gè)表要聯(lián)接起來(lái)可以通過(guò)"學(xué)號(hào)"字段。
有以下兩種聯(lián)接查詢(xún)的形式:SELECT XS.學(xué)號(hào),姓名,班級(jí),課程名,成績(jī) FROM XS,CJ WHERE XS.學(xué)號(hào)=CJ.學(xué)號(hào) AND 課程名="計(jì)算機(jī)基礎(chǔ)" 或者 SELECT XS.學(xué)號(hào),姓名,班級(jí),課程名,成績(jī) FROM XS LEFT JION CJ ON XS.學(xué)號(hào)=CJ.學(xué)號(hào) WHERE 課程名="計(jì)算機(jī)基礎(chǔ)"
通過(guò)以上的聯(lián)接查詢(xún)便得到了所有選修"計(jì)算機(jī)基礎(chǔ)"的學(xué)生的"計(jì)算機(jī)基礎(chǔ)"的成績(jī)及學(xué)生的姓名等信息。而題中所要求按成績(jī)的降序排序,所以應(yīng)該在以上SQL語(yǔ)句的基礎(chǔ)上加入:ORDER BY 成績(jī) DESC
將查詢(xún)所得到的結(jié)果放于一個(gè)數(shù)組變量AFieldsValue中,要用到INTO ARRAY AFieldsValue.至此一個(gè)完整的SQL聯(lián)接查詢(xún)語(yǔ)句便形成了:SELECT XS.學(xué)號(hào),姓名,班級(jí),課程名,成績(jī) FROM XS,CJ WHERE XS.學(xué)號(hào)=CJ.學(xué)號(hào) AND 課程名="計(jì)算機(jī)基礎(chǔ)" ORDER BY 成績(jī) DESC INTO ARRAY AFieldsValue
清空CJB.DBF
將tableName中的資料添加到已被清空的CJB.DBF中INSERT INTO CJB FROM ARRAY AFieldsValue
一、基本操作題(共4小題,第1和2題是7分、第3和4題是8分)
在考生文件夾下完成下列操作(在"成績(jī)管理"數(shù)據(jù)庫(kù)中完成):
1. 為"學(xué)生"表在"學(xué)號(hào)"字段上建立升序主索引, 索引名為學(xué)號(hào);
2. 為"學(xué)生"表的"性別"字段定義有效性規(guī)則, 規(guī)則表達(dá)式為 性別$"男女"出錯(cuò)提示信息是: "性別必須是男或女"。
3. 在"學(xué)生"表的"性別"和"年齡"字段之間插入一個(gè)"出生日期"字段,數(shù)據(jù)類(lèi)型
為"日期型"(修改表結(jié)構(gòu));
4.用SQL的UPDATE命令將學(xué)生"王三風(fēng)"的出生日期修改為1983年5月1日,并將該
語(yǔ)句粘貼在SQL2.TXT文件中(第一行、只占一行)
本題的主要考核點(diǎn):
主索引的建立、字段有效規(guī)則的建立,表結(jié)構(gòu)的更改,SQL語(yǔ)言的使用。
解題思路:
1.在表設(shè)計(jì)器中的索引頁(yè)面建立索引。
2、建立有效性規(guī)則在表設(shè)計(jì)器中的字段選項(xiàng)卡。在"規(guī)則"欄中輸入"性別$"男女"","提示信息"欄輸入"性別必須是男或女"(不要雙引號(hào))。
4.SQL語(yǔ)句的用法
UPDA 學(xué)生 SET 出生日期={^1983/05/01} WHER 姓名="王三風(fēng)"
二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
1、根據(jù)考生文件夾下的txl表和jsh表建立一個(gè)查詢(xún)query2,查詢(xún)出單位是"南京大學(xué)" 的所有教師的姓名、職稱(chēng)、電話(huà),要求查詢(xún)?nèi)ハ蚴潜恚砻莙uery2.dbf,并執(zhí)行該查詢(xún)。
2、建立表單enterf,表單中有兩個(gè)命令按鈕,按鈕的名稱(chēng)分別為cmdin和
cmdout,標(biāo)題分別為"進(jìn)入"和"退出"。
第1題,本題的主要考核點(diǎn)是建立查詢(xún)。
建立查詢(xún)可以使用“文件”菜單完成,選擇文件--新建--查詢(xún)--新建文件,將txl和jsh添加入查詢(xún)中,從字段中選擇姓名、職稱(chēng)和電話(huà)字段,單擊查詢(xún)菜單下的查詢(xún)?nèi)ハ?,選擇表,輸入表名query2.DBF。后運(yùn)行該查詢(xún)。
第2題,本題的主要考核點(diǎn)是表單的建立。
可以用三種方法調(diào)用表單設(shè)計(jì)器:在項(xiàng)目管理器環(huán)境下調(diào)用;單擊“文件”菜單中的“新建”,打開(kāi)“新建”對(duì)話(huà)框,選擇“表單”;在命令窗口輸入CREATE FORM命令。
打開(kāi)表單設(shè)計(jì)器后,在表單控件工具欄上單擊“命令按鈕”,在表單上放置兩個(gè)按鈕。分別修改其屬性Name為cmdin和cmdout,Caption屬性為“進(jìn)入”和“退出”。
三、綜合應(yīng)用(1小題,計(jì)30分)
在考生文件夾下有倉(cāng)庫(kù)數(shù)據(jù)庫(kù)CK3,包括如下所示兩個(gè)表文件:
CK(倉(cāng)庫(kù)號(hào)C(4),城市C(8),面積N(4))
ZG(倉(cāng)庫(kù)號(hào)C(4),職工號(hào)C(4),工資N(4))
設(shè)計(jì)一個(gè)名為ZG3的菜單,菜單中有兩個(gè)菜單項(xiàng)"統(tǒng)計(jì)"和"退出"。程序運(yùn)行時(shí),單擊"統(tǒng)計(jì)"菜單項(xiàng)應(yīng)完成下列操作:檢索出所有職工的工資都大于 1220元的職工所管理的倉(cāng)庫(kù)信息,將結(jié)果保存在wh1數(shù)據(jù)表(WH1為自由表)文件中,該文件的結(jié)構(gòu)和CK數(shù)據(jù)表文件的結(jié)構(gòu)一致,并按面積升序排序。單擊"退出"菜單項(xiàng),程序終止運(yùn)行。(注:相關(guān)數(shù)據(jù)表文件存在于考生文件夾下) 本題主要考核點(diǎn):
菜單的建立、結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)中的嵌套查詢(xún)、查詢(xún)結(jié)果的去向等知識(shí)。
解題思路:
利用菜單設(shè)計(jì)器定義兩個(gè)菜單項(xiàng),在菜單名稱(chēng)為"統(tǒng)計(jì)"的菜單項(xiàng)的結(jié)果列中選擇"過(guò)程",并通過(guò)單擊"編輯"按鈕打開(kāi)一個(gè)窗中來(lái)添加"統(tǒng)計(jì)"菜單項(xiàng)要執(zhí)行的命令。在菜單名稱(chēng)為"退出"的菜單項(xiàng)的結(jié)果列中選擇"命令",并在后面的"選項(xiàng)"列中輸入以下退出菜單的命令:SET SYSMENU TO DEFAULT
"統(tǒng)計(jì)"菜單項(xiàng)要執(zhí)行的程序:
首先中打開(kāi)數(shù)據(jù)庫(kù)文件 OPEN DATABASE CK3.DBC
下面我們分析所要用到的查詢(xún)語(yǔ)句的實(shí)現(xiàn),題面要求"檢索出所有職工的工資都大于1220的職工所管理的倉(cāng)庫(kù)信息",所以得到滿(mǎn)足以上條件的倉(cāng)庫(kù)號(hào)成為解答本題的關(guān)鍵。"所有職工的工資都大于1220的職工所管理的倉(cāng)庫(kù)"這個(gè)條件可以將其分解為同時(shí)滿(mǎn)足以下兩個(gè)條件的結(jié)果"倉(cāng)庫(kù)號(hào)不存在于職工的工資小于等于1220的職工所管理的倉(cāng)庫(kù)號(hào)中"并且"倉(cāng)庫(kù)號(hào)存在于表ZG中",而以上兩個(gè)條件我們可以利用SQL輕松寫(xiě)出來(lái)。所以后形成的查詢(xún)語(yǔ)句以下:SELECT * FROM CK WHERE 倉(cāng)庫(kù)號(hào) NOT IN (SELECT 倉(cāng)庫(kù)號(hào) FROM ZG WHERE 工資<=1220) AND 倉(cāng)庫(kù)號(hào) IN (SELECT 倉(cāng)庫(kù)號(hào) FROM ZG) INTO TABLE wh1.dbf.后面的INTO TABLE wh1.dbf決定了查詢(xún)的結(jié)果是生成一個(gè)wh1.dbf文件。
本題還考對(duì)查詢(xún)的排序和查詢(xún)的去向進(jìn)行了考核.可以用ORDER BY order_Item [ASC|DESC]來(lái)讓查詢(xún)的結(jié)果按某一列或某幾列的升序(ASC)或降序(DESC)進(jìn)行排列。而查詢(xún)的去向可以通過(guò)INTO TABLE strTableName 而直接生成一個(gè)文件名為strTableName的.DBF表。 一、基本操作(共四小題,第1和2題是7分、第3和4題是8分
1、請(qǐng)?jiān)诳忌募A下建立一個(gè)數(shù)據(jù)庫(kù)KS4。
2、將考生文件夾下的自由表STUD、COUR、SCOR加入到數(shù)據(jù)庫(kù)KS4中。
3、為STUD表建立主索引,索引名和索引表達(dá)式均為學(xué)號(hào)
為COUR表建立主索引,索引名和索引表達(dá)式均為課程編號(hào)
為SCOR表建立兩個(gè)普通索引,其中一個(gè)索引名和索引表達(dá)式均為學(xué)號(hào);另一個(gè)索引名和索引表達(dá)式均為課程編號(hào)
4、在以上建立的各個(gè)索引的基礎(chǔ)上為三個(gè)表建立聯(lián)系。
本題的主要考核點(diǎn):
數(shù)據(jù)庫(kù)的建立、將自由表添加到數(shù)據(jù)庫(kù)中、主索引和普通索引的建立,為已建立索引的表建立聯(lián)系。
解題思路:
1.建立數(shù)據(jù)庫(kù)的常用方法有三種:
在項(xiàng)目管理器中建立數(shù)據(jù)庫(kù);
通過(guò)"新建"對(duì)話(huà)框建立數(shù)據(jù)庫(kù);
使用命令交互建立數(shù)據(jù)庫(kù),命令為: CREATE DATABASE [DatabaseName|?]
2.將自由表添加到數(shù)據(jù)庫(kù)中,可以在項(xiàng)目管理器或數(shù)據(jù)庫(kù)設(shè)計(jì)器中完成。打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器,在"數(shù)據(jù)庫(kù)"菜單中或在數(shù)據(jù)庫(kù)設(shè)計(jì)器上單擊右鍵彈出的菜單中選擇"添加表",然后在"打開(kāi)"對(duì)話(huà)框中選擇要添加到當(dāng)前數(shù)據(jù)庫(kù)的自由表。還可用ADD TABLE命令添加一個(gè)自由表到當(dāng)前數(shù)據(jù)庫(kù)中。
3.在STUD表設(shè)計(jì)器中的索引選項(xiàng)卡建立索引名和索引表達(dá)式為學(xué)號(hào)的主索引。分別為COUR和SCOR建立主索引和普通索引。
4.在數(shù)據(jù)庫(kù)設(shè)計(jì)器中建立三個(gè)表的聯(lián)系。在數(shù)據(jù)庫(kù)設(shè)計(jì)器中,將選中STUD表中的主索引"學(xué)號(hào)",按住鼠標(biāo)拖動(dòng)到SCOR表的普通索引"學(xué)號(hào)"上。
用同樣的方法可以建立COUR表和SCOR表的"課程編號(hào)"之間的聯(lián)系。
二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
1、在考生文件夾中有一個(gè)數(shù)據(jù)庫(kù)STSC,其中有數(shù)據(jù)庫(kù)表STUDENT、SCORE和
COURSE
利用SQL語(yǔ)句查詢(xún)選修了"網(wǎng)絡(luò)工程"課程的學(xué)生的全部信息,并將結(jié)果按學(xué)號(hào)降序存放在 NETP.DBF文件中(庫(kù)的結(jié)構(gòu)同STUDENT,并在其后加入課程號(hào)和課程名字段)。
2、在考生文件夾中有一個(gè)數(shù)據(jù)庫(kù)STSC,其中有數(shù)據(jù)庫(kù)表STUDENT,使用一對(duì)多報(bào)表向?qū)е谱饕粋€(gè)名為CJ2的報(bào)表,存放在考生文件夾中要求:選擇父表STUDENT 表中學(xué)號(hào)和姓名字段,從子表SCORE中選擇課程號(hào)和成績(jī),排序字段選擇學(xué)號(hào)(升序),報(bào)表式樣為簡(jiǎn)報(bào)式,方向?yàn)榭v向。報(bào)表標(biāo)題為"學(xué)生成績(jī)表"。
第1題,本題的主要考核點(diǎn)是SQL語(yǔ)句的查詢(xún)。
SELECT Student.*, Score.課程號(hào), Course.課程名;
FROM stsc!student INNER JOIN stsc!score;
INNER JOIN stsc!course ;
ON Score.課程號(hào) = Course.課程號(hào) ;
ON Student.學(xué)號(hào) = Score.學(xué)號(hào);
WHERE AT("網(wǎng)絡(luò)工程",Course.課程名) > 0;
ORDER BY Student.學(xué)號(hào) desc;
INTO TABLE netp.dbf
第2題,本題的主要考核點(diǎn)是使用報(bào)表向?qū)е谱鲌?bào)表。
啟動(dòng)報(bào)表向?qū)Э稍?文件"菜單中選擇"新建"或者單擊工具欄上的"新建"按鈕,打開(kāi)"新建"對(duì)話(huà)框,文件類(lèi)型選擇報(bào)表,單擊向?qū)О粹o?;蛘咴?工具"菜單中選擇"向?qū)?子菜單,選擇
"報(bào)表",或直接單擊工具欄上的"報(bào)表向?qū)?圖標(biāo)按鈕。然后按照向?qū)崾静僮骷纯伞?BR> 三、綜合應(yīng)用(1小題,計(jì)30分)
在考生文件夾下有工資數(shù)據(jù)庫(kù)WAGE3,包括數(shù)據(jù)表文件:ZG(倉(cāng)庫(kù)號(hào)C(4),
職工號(hào)C(4),工資N(4))
設(shè)計(jì)一個(gè)名為T(mén)J3的菜單,菜單中有兩個(gè)菜單項(xiàng)"統(tǒng)計(jì)"和"退出"。
程序運(yùn)行時(shí),單擊"統(tǒng)計(jì)"菜單項(xiàng)應(yīng)完成下列操作:檢索出工資小于或等于本倉(cāng)庫(kù)職工平均工資的職工信息,并將這些職工信息按照倉(cāng)庫(kù)號(hào)升序,在倉(cāng)庫(kù)號(hào)相同的情況下再按職工號(hào)升序存放到EMP1(EMP1為自由表)文件中,該數(shù)據(jù)表文件和ZG數(shù)據(jù)表文件具有相同的結(jié)構(gòu)。單擊"退出"菜單項(xiàng),程序終止運(yùn)行。
(注:相關(guān)數(shù)據(jù)表文件存在于考生文件夾下)
本題主要考核點(diǎn):
菜單的建立、結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)中的聯(lián)接查詢(xún)、查詢(xún)的排序、臨時(shí)表的概念、查詢(xún)結(jié)果的去向等知識(shí)。
解題思路:
利用菜單設(shè)計(jì)器定義兩個(gè)菜單項(xiàng),在菜單名稱(chēng)為"統(tǒng)計(jì)"的菜單項(xiàng)的結(jié)果列中選擇"過(guò)程",并通過(guò)單擊"編輯"按鈕打開(kāi)一個(gè)窗中來(lái)添加"統(tǒng)計(jì)"菜單項(xiàng)要執(zhí)行的命令。在菜單名稱(chēng)為"退出"的菜單項(xiàng)的結(jié)果列中選擇"命令",并在后面的"選項(xiàng)"列中輸入以下退出菜單的命令:SET SYSMENU TO DEFAULT
"統(tǒng)計(jì)"菜單項(xiàng)要執(zhí)行的程序:
首先是打開(kāi)數(shù)據(jù)庫(kù)文件OPNE DATABASE WAGE3.DBC我們應(yīng)該得到每一個(gè)倉(cāng)庫(kù)的職工平均工資,并將結(jié)果放在一個(gè)臨時(shí)的表CurTable中.利用以下語(yǔ)句可以實(shí)現(xiàn):SELECT 倉(cāng)庫(kù)號(hào),AVG(工資) AS AvgGZ FROM ZG GROUP BY 倉(cāng)庫(kù)號(hào) INTO CURSOR CurTable.這樣就生成了一個(gè)表名為CurTable的臨時(shí)表。表中有兩個(gè)字段:倉(cāng)庫(kù)號(hào),AvgGZ,內(nèi)容為每一個(gè)倉(cāng)庫(kù)的倉(cāng)庫(kù)號(hào)和所對(duì)應(yīng)的職工的平均工資。
有了臨時(shí)表CurTable后我們可以將其與ZG進(jìn)行聯(lián)接查詢(xún),我們這里聯(lián)接查詢(xún)的目的不是為了得到臨時(shí)表中的內(nèi)容做為結(jié)果的一部分,而是要用其中的字段AvgGZ做為查詢(xún)的條件.我們便可以得到"工資小于或低于本倉(cāng)庫(kù)職工平均工資的職工信息"的查詢(xún):SELECT ZG.* FROM ZG,CurTable WHERE ZG.倉(cāng)庫(kù)號(hào)=CurTable.倉(cāng)庫(kù)號(hào) AND ZG.工資

