國家計算機二級考試vfp復(fù)習(xí)重點._第1頁
國家計算機二級考試vfp復(fù)習(xí)重點._第2頁
國家計算機二級考試vfp復(fù)習(xí)重點._第3頁
國家計算機二級考試vfp復(fù)習(xí)重點._第4頁
國家計算機二級考試vfp復(fù)習(xí)重點._第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第1章 數(shù)據(jù)庫理論基礎(chǔ)1數(shù)據(jù)庫概念:數(shù)據(jù)庫(DB)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、數(shù)據(jù)庫系統(tǒng)(DBS)。 數(shù)據(jù)庫系統(tǒng) 包括 啊 數(shù)據(jù)庫 和 數(shù)據(jù)庫管理系統(tǒng) 。數(shù)據(jù)庫系統(tǒng)中對數(shù)據(jù)庫進行管理的核心軟件是 數(shù)據(jù)庫管理系統(tǒng) 。2實體間的聯(lián)系:一對一聯(lián)系(1:1)、一對多聯(lián)系(1:n)、多對一聯(lián)系(n:1)和多對多聯(lián)系(m:n)。例如,如果一個班只有一個班長,而且一個班長不能同時擔(dān)任其它班的班長,班級和班長兩個實體之間的聯(lián)系是 一對一 。公司中有多個部門和多名職員,每個職員只能屬于一個部門,一個部門可以有多名職員,職員與部門兩個實體之間的聯(lián)系是 多對以 ;部門與職員兩個實體之間的聯(lián)系是 一對多 。在奧運會

2、游泳比賽中,一個游泳運動員可以參加多項比賽,一個游泳比賽項目可以有多個運動員參加,游泳運動員與游泳比賽項目兩個實體之間的聯(lián)系是 多對多 聯(lián)系。例如,在超市營業(yè)過程中,每個時段要安排一個班組上崗值班,每個收款口要配備兩名收款員配合工作,共同使用一套收款設(shè)備為顧客服務(wù),在超市數(shù)據(jù)庫中,實體之間屬于一對一關(guān)系的是 D 。A"顧客"與"收款口"的關(guān)系 B"收款口"與"收款員"的關(guān)系C"班組"與"收款口"的關(guān)系 D"收款口"與"設(shè)備"的關(guān)系例如,

3、為了把多對多的聯(lián)系分解成兩個一對多聯(lián)系所建立的“紐帶表”中,應(yīng)該包含兩個表的 關(guān)鍵字 。3數(shù)據(jù)模型:層次模型(樹狀結(jié)構(gòu))、網(wǎng)狀模型和關(guān)系模型(用 二維表 結(jié)構(gòu)來表示實體以及實體之間聯(lián)系的模型)。VFP支持的數(shù)據(jù)模型是 關(guān)系模型 。例如,最常用的一種基本數(shù)據(jù)模型是 關(guān)系模型 ,它的表示應(yīng)采用 二維表 。4關(guān)系數(shù)據(jù)系統(tǒng)的概念:數(shù)據(jù)表(也即是 關(guān)系 )、記錄(元組)、字段、字段類型、域、關(guān)鍵字( 可以唯一地確定一條記錄的一個字段或多個字段的組合 ,不允許有 重復(fù)值 或 空值 )、外部關(guān)鍵字。例如,在VFP中,關(guān)系數(shù)據(jù)庫管理系統(tǒng)所管理的關(guān)系是 B 。A一個DBF文件 B若干個二維表 C一個DBC文件

4、D若干個DBC文件例如,設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學(xué)號,課號,成績),則表SC 的關(guān)鍵字(鍵或碼)為 C 。A課號,成績 B學(xué)號,成績 C學(xué)號,課號 D學(xué)號,姓名,成績例如,在關(guān)系模型中,每個關(guān)系模式中的關(guān)鍵字 C 。A可由多個任意屬性組成 B最多由一個屬性組成 C可由一個或多個其值能唯一標識關(guān)系中任何元組的屬性組成 D以上說法都不對5關(guān)系的特點 關(guān)系必須規(guī)范化(關(guān)系的每個分量必須是一個不可分割的數(shù)據(jù)項,也就是說,不允許表中包含表)。 同一關(guān)系中不能出現(xiàn)相同的字段名(列),也不允許有完全相同的記錄(行)。 在一個關(guān)系中

5、記錄的次序和字段的次序都無關(guān)緊要。6關(guān)系的運算 選擇:從數(shù)據(jù)表中找出滿足給定條件的記錄(元組)的操作稱為選擇。選擇運算是對數(shù)據(jù)表從 行 的方向上進行的運算,往往是通過條件短語FOR/WHILE(VFP命令中)、WHERE(SQL中)實現(xiàn)。 投影:從數(shù)據(jù)表中指定若干字段組成新的數(shù)據(jù)表的操作稱為投影。投影運算是對數(shù)據(jù)表從 列 的方向上進行的運算,往往是通過短語FIELDS(VFP命令中)、SELECT(SQL中)實現(xiàn)。 聯(lián)接:聯(lián)接運算將兩個數(shù)據(jù)表拼接成一個新的數(shù)據(jù)表,生成的新數(shù)據(jù)表中包含滿足連接條件的記錄。自然聯(lián)接是去掉重復(fù)屬性的等值聯(lián)接。例如,從表中選擇字段形成新關(guān)系的操作是 投影 。例如,從表

6、中選擇滿足條件的記錄形成新關(guān)系的操作是 選擇 。例如,學(xué)生表中有"學(xué)號"、"姓名"和"年齡"三個字段,SQL語句“SELECT 學(xué)號 FROM 學(xué)生”完成的操作稱為 C ,SQL語句“SELECT * FROM 學(xué)生 WHERE 年齡 >=20”完成的操作稱為 A 。例如,下列關(guān)系模型中,能使經(jīng)運算后得到的新關(guān)系中屬性個數(shù)多于原來關(guān)系中屬性個數(shù)的是 B ,操作對象只能是一個表的關(guān)系運算是 A、C 。A選擇 B聯(lián)接 C投影 D并第2章 VFP環(huán)境簡介及常用操作命令1常用文件擴展名及其關(guān)聯(lián)的文件類型常用文件擴展名及其關(guān)聯(lián)的文件類型擴

7、展名文件類型擴展名文件類型.APPVisual FoxPro應(yīng)用程序.QPR查詢文件.EXE可執(zhí)行應(yīng)用程序.PRG源程序文件.PJX項目文件.FXP源程序編譯后的文件.DBF數(shù)據(jù)表文件.VCX可視類庫文件.FPT數(shù)據(jù)表備注文件.SCX表單文件.IDX數(shù)據(jù)表獨立索引文件.MNX菜單文件.CDX數(shù)據(jù)表復(fù)合索引文件.MPR生成的菜單源程序文件.DBC數(shù)據(jù)庫文件.FRX報表文件說明:視圖不是一個文件,它沒有擴展名。視圖保存在當(dāng)前打開的數(shù)據(jù)庫中。2Visual FoxPro可視化工具(向?qū)?、設(shè)計器、生成器)l 向?qū)В和ㄟ^一系列的對話框向用戶提示每一個操作步驟,引導(dǎo)用戶步步完成各項任務(wù)。l 設(shè)計器:創(chuàng)建和

8、修改各種組件的可視化工具。如表設(shè)計器、數(shù)據(jù)庫設(shè)計器、查詢設(shè)計器等。l 生成器:帶有多個選項卡的對話框,用來創(chuàng)建、生成或修改某種控件。如選項卡生成器。例如,在VFP中修改數(shù)據(jù)庫、表單、報表等對象的可視化工具是 B 。A向?qū)?B設(shè)計器 C生成器 D項目管理器3條件短語1)在VFP命令中使用的條件短語:FOR 和 WHILE。 FOR <條件>:在指定范圍內(nèi)(缺省范圍為ALL),逐條檢查記錄,符合條件的記錄執(zhí)行命令,不符合條件的跳過去。在命令如果使用了FOR <條件>短語,不管該命令的缺省范圍是什么,只要省略了缺省范圍,則該命令的操作范圍為ALL。List for 性別=&q

9、uot;男" 1、3、4、6、8List while性別="男" 3、4 WHILE <條件>:在指定記錄范圍內(nèi)(缺省范圍為REST),逐條檢查,符合條件的記錄執(zhí)行命令。當(dāng)遇到第一個不滿足條件的記錄,停止命令的執(zhí)行。在命令如果使用了WHILE <條件>短語,不管該命令的缺省范圍是什么,只要省略了缺省范圍,則該命令的操作范圍為REST。另外,還有兩個范圍短語:NEXT N 和 RECORD N。2)在SQL中使用的條件短語:WHERE、ON 和 HAVING。 WHERE <條件>:即可用于非超聯(lián)接查詢時多表間的聯(lián)接條件,也可用于

10、多表查詢(既可是非超聯(lián)接查詢,也可是超聯(lián)接查詢)中設(shè)置記錄滿足的條件。 ON <條件>:對多表進行超聯(lián)接查詢時,用于設(shè)置多表間的聯(lián)接條件(此時不能用WHERE)。 HAVING <條件>:HAVING必須跟隨GROUP BY之后使用,用于限定分組必須滿足的條件。說明:WHERE子句作用于記錄,而HAVING子句作用分組,可以使用WHERE子句的同時使用HAVING子句(但必須在GROUP BY分組子句之后使用)。4常用操作命令4.1.1 VFP命令建立數(shù)據(jù)表:CREATE <數(shù)據(jù)表文件名> && 打開表設(shè)計器創(chuàng)建表結(jié)構(gòu)說明:1)在VFP的表文

11、件中,日期型占 8 個字節(jié),邏輯型占 1 個字節(jié),備注型和通用型占 4 個字節(jié)。每條記錄的總寬度比用戶定義的各個字段寬度之和多 1 個字節(jié),該字節(jié)用于存放 刪除標記 。自由表字段名最長為 10 個字符,數(shù)據(jù)庫表字段名最長為 128 個字符。2)空值(.NULL.):空值不同于空字符串("")、空格字符串(" ")、數(shù)值0,空值(.NULL.)就是 不確定的值 。3)如EMP表中有備注型或通用型字段(不管有多少個),在創(chuàng)建EMP表時,系統(tǒng)會自動創(chuàng)建與所屬數(shù)據(jù)表的表名相同,擴展名為 fpt 的 1 個數(shù)據(jù)表備注文件。表備注文件名為 EMP.FPT 。例如,在

12、一個VFP數(shù)據(jù)表文件中有2個通用字段和3個備注字段,該數(shù)據(jù)表的備注文件數(shù)目是 1 。4.1.2 SQL建立數(shù)據(jù)表:CREATE TABLE <表名> ;(<字段1> <字段類型>(<字段寬度>,<小數(shù)位數(shù)>) ;PRIMARY KEY CHECK <表達式> ERROR <錄入錯誤提示信息> ;DEFAULT <表達式>, ;<字段名2> )常用數(shù)據(jù)類型說明字段類型對應(yīng)字符及表示方法字段類型對應(yīng)字符及表示方法字段類型對應(yīng)字符及表示方法字符型C(n)數(shù)值型N(n,m)邏輯型L日期型D整型I

13、注意:對自由表不能實現(xiàn)其完整性、有效性規(guī)則等信息的設(shè)置。例如,教師表中有"職工號"、"姓名"和"工齡"字段,其中"職工號"為主關(guān)鍵字,建立教師表的SQL命令是 D 。ACREATE TABLE 教師表(職工號 C(10) PRIMARY,姓名 C(20),工齡 I)BCREATE TABLE 教師表(職工號 C(10) POREING,姓名 C(20),工齡 I)CCREATE TABLE 教師表(職工號 C(10) POREING KEY,姓名 C(20),工齡 I)DCREATE TABLE 教師表(職工號 C

14、(10) PRIMARY KEY,姓名 C(20),工齡 I)例如,在VFP中,使用SQL的CREATE TABLE語句建立數(shù)據(jù)庫表時,使用 PRIMARY KEY 子句說明主索引,使用 CHECK 子句說明有效性規(guī)則(域完整性規(guī)則或字段取值范圍)。4.2.1 VFP命令修改表結(jié)構(gòu):MODIFY STRUCTURE && 打開表設(shè)計器修改功能:修改數(shù)據(jù)表的結(jié)構(gòu),包括增加/刪除字段,修改已有的字段(字段名、字段類型、寬度、有效性規(guī)則等),不能修改表中的數(shù)據(jù)。4.2.2 SQL修改表結(jié)構(gòu): ALTER TABLE <表名>格式1:ALTER TABLE <

15、;表名> ADD <字段> && 同定義表結(jié)構(gòu)一樣ALTER TABLE <表名> ADD PRIMARY KEY | UNIQUE <索引表達式> TAG <索引標識>功能:修改數(shù)據(jù)表的結(jié)構(gòu),為表增加字段或和添加主索引或候選索引。例如,為學(xué)生.dbf增加年齡字段(整型,即不帶小數(shù)位);為成績.dbf增加成績字段并設(shè)置有效性。ALTER TABLE 學(xué)生 ADD 年齡 I ALTER TABLE 成績 ADD 成績 N(6,2) CHECK 成績>=0 AND 成績<=100例如,將學(xué)生表中的學(xué)號定義為主索引,索

16、引名為xh。學(xué)號和姓名定義為候選索引,索引名xhxm。定義主索引: ALTER TABLE 學(xué)生 ADD PRIMARY KEY 學(xué)號 TAG xh定義候選索引:ALTER TABLE 學(xué)生 ADD UNIQUE 學(xué)號+姓名 TAG xhxm格式2:ALTER TABLE <表名> ALTER <字段> <字段類型>(<字段寬度>,<小數(shù)位數(shù)>)ALTER TABLE <表名> ALTER <字段> SET CHECK <有效規(guī)則> ERROR <錯誤提示信息>ALTER TABLE &

17、lt;表名> ALTER <字段> SET DEFAULT <默認值>ALTER TABLE <表名> ALTER <字段> DROP CHECK | DROP DEFAULTALTER TABLE <表名> DROP PRIMARY KEY | DROP UNIQUE TAG <索引標識> | DROP <字段名>功能:修改數(shù)據(jù)表的結(jié)構(gòu),為其修改已有字段的類型、寬度;有效性規(guī)則(包括錯誤提示信息)、默認值;刪除有效性規(guī)則和默認值;刪除主索引、候選索引和字段。例如,ALTER TABLE 學(xué)生 ALTER

18、 學(xué)號 C(8) && 將學(xué)生表中學(xué)號字段修改為字符型(8)例如,ALTER TABLE 成績 ALTER 成績 SET CHECK 成績>=0 AND 成績<=100例如,為成績表中定義的成績字段的默認值改為0,正確的命令是 A 。AALTER TABLE 成績 ALTER 成績 SET DEFAULT 0BALTER TABLE 成績 ALTER 成績 DEFAULT 0CALTER TABLE 成績 ALTER 成績 SET DEFAULT 成績=0DALTER TABLE 成績 ALTER 成績 DEFAULT 成績=0注意:在定義表結(jié)構(gòu)或為表增加字段時,設(shè)

19、置有效性規(guī)則和默認值用 CHECK 和 DEFAULT ;為表中已存在的字段增加/修改有效性規(guī)則和默認值時 SET CHECK 和 SET DEFAULT 。例如,ALTER TABLE 成績 ALTER COLUMN 成績 DROP CHECK && 刪除成績表中成績字段的有效性規(guī)則例如,ALTER TABLE 成績 ALTER COLUMN 成績 DROP DEFAULT && 刪除成績表中成績字段的默認值例如,將學(xué)生表的主索引和候選索引xhxm刪除。刪除主索引:ALTER TABLE 學(xué)生 DROP PRIMARY KEY ;刪除候選索引:ALTER TA

20、BLE 學(xué)生 DROP UNIQUE TAG xhxm 。例如,將學(xué)生表中的"年齡"字段刪除,正確的SQL命令是ALTER TABLE 學(xué)生 DROP 年齡 。格式3:ALTER TABLE <表名> RENAME COLUMN <原字段名> TO <新字段名>功能:修改數(shù)據(jù)表的結(jié)構(gòu),對指定的字段改名。例如,將成績表中的"成績"字段改為"考試成績",正確的SQL命令是ALTER TABLE 成績 RENAME 成績 TO 考試成績 。4.3 SQL刪除表命令格式:DROP TABLE <表名&

21、gt;例如,在VFP中,刪除數(shù)據(jù)庫表S的SQL命令是 DROP TABLE S 。4.4.1 VFP命令復(fù)制數(shù)據(jù)表結(jié)構(gòu)。命令格式:COPY STRUCTURE TO <新表文件名> FIELDS <字段名表>4.4.2 SQL語句復(fù)制數(shù)據(jù)表結(jié)構(gòu)。 SELECT * FROM <表文件名> INTO TABLE <新表文件名>例如,將學(xué)生.dbf的結(jié)構(gòu)(不包含數(shù)據(jù))復(fù)制到Student.dbf中。VFP命令:USE 學(xué)生 SQL語句:SELECT * FROM 學(xué)生INTO TABLE Student ;COPY STRUCTURE TO Stud

22、ent WHERE .F.4.5.1 VFP命令增加記錄 && WHERE .F. 表示所有記錄都不滿足條件1)APPEND命令(表的尾部增加記錄)。命令格式:APPEND BLANK2)INSERT命令(在表的當(dāng)前記錄前后位置插入新的記錄)。命令格式:INSERT BEFOREBLANK如使用BLANK短語插入空白記錄,可使用REPLACE命令直接修改該空記錄值。4.5.2 SQL增加記錄命令格式:INSERT INTO <表名>(<字段1>,<字段2>,) VALUES(<表達式1>,<表達式2>,)注意:1)表定

23、義時說明了PRIMARY KEY(關(guān)鍵字)的字段不能取空值和重復(fù)值,且必須為該字段賦值。 2)表達式的值的類型應(yīng)與對應(yīng)的字段數(shù)據(jù)類型一致。例如,向?qū)W生表中插入一條記錄,正確的命令是 D 。 CREATE TABLE 學(xué)生(學(xué)號 C(4) PRIMARY KEY,; 姓名 C(8),專業(yè) C(8),; 年齡 I CHECK 年齡>=15 AND 年齡<=20)AINSERT INTO 學(xué)生 VALUES(1234,"張濤","計算機",18)BINSERT INTO 學(xué)生 VALUES("1234","張濤&quo

24、t;,"計算機",25)CINSERT INTO 學(xué)生(姓名,專業(yè),年齡) VALUES("張濤","計算機",25)DINSERT INTO 學(xué)生(學(xué)號,姓名,年齡) VALUES("1234","張濤",18)4.6.1 VFP命令刪除記錄(在VFP中刪除記錄有邏輯刪除和物理刪除兩種)命令格式1:DELETE 范圍FOR <條件> 命令格式2:PACK 命令格式3:ZAP邏輯刪除物理刪除ZAP 等價于 DELETE ALL 和 PACK兩條命令。取消記錄上的刪除標記 命令格式:R

25、ECALL 范圍FOR <條件>例如,徹底刪除當(dāng)前表中所有記錄的命令是 D 。ADELETE ALL  BPACK  CRECALL ALL DZAP4.6.2 SQL刪除記錄命令格式: DELETE FROM <表名> WHERE <條件>例如,不帶條件的SQL DELETE命令將刪除指定表的 所有(全部) 記錄。例如,使用SQL從圖書表中刪除總編號以字母"A"開頭的記錄,應(yīng)使用命令: DELETE FROM 圖書 WHERE 總編號 LIKE "A%"說明:此例中的條件運算符只能用LIKE,而不

26、能用 = 。如使用 = ,則表示刪除總編號等于"A%"的記錄(此時%就是一個普通字符,因為%只有在SQL的條件使用LIKE時才作為代表任意多個字符的通配符)。如使用VFP命令刪除: DELETE FOR 總編號="A" 或 DELETE FOR LEFT(總編號,1)="A" 說明:此處的運算符只能用=,而不能用 LIKE 。運算符LIKE只能用在SQL命令的條件短語中。說明: CHANGE 和 1 EDIT 命令功能相同。4.7.1 VFP命令修改記錄:1)用CHANGE和EDIT命令交互式逐條修改(打開編輯窗口修改,略)。 2)用

27、REPLACE命令成批修改。命令格式:REPLACE 范圍 <字段1> WITH <表達式1> FOR <條件>說明:范圍缺省時只修改當(dāng)前一條記錄。例如,為當(dāng)前表中所有學(xué)生的總分增加10分,可以使用的命令是 D 。ACHANGE 總分 WITH 總分+10 BREPLACE 總分 WITH 總分+10CCHANGE ALL 總分 WITH 總分+10 DREPLACE ALL 總分 WITH 總分+10此題答案也可表示為:REPLACE 總分 WITH 總分+10 FOR .T.說明:使用FOR <條件>短語,不管命令的缺省范圍是什么,其操作范圍

28、都變成全部(ALL)。在VFP的命令(DELETE、REPLACE)中,如果沒有條件短語,表示刪除或修改當(dāng)前記錄(記錄指針指向的記錄),而在SQL語句(DELETE、UPDATE)中,如果沒有條件短語,表示刪除或修改全部(所有)記錄。4.7.2 SQL修改記錄命令格式: UPDATE <表名> ; SET <字段名>=<表達式> ;WHERE <條件>說明:使用SQL操作數(shù)據(jù)表(插入數(shù)據(jù)、更新數(shù)據(jù)、刪除數(shù)據(jù))時不需要先執(zhí)行USE 表名 命令打開表,而使用VFP命令操作表時則需要先打開相應(yīng)的表再操作。VFP命令和SQL刪除表記錄都只能邏輯刪除,如要

29、物理刪除,還需執(zhí)行PACK命令。4.8.1 創(chuàng)建視圖的SQL語句命令格式:CREATE VIEW <視圖名> AS <查詢語句> ;例如,CREATE VIEW view_stock AS SELECT 股票名稱 AS 名稱,單價 FROM stock執(zhí)行該語句后產(chǎn)生的視圖含有的字段名是 B 。A股票名稱、單價 B名稱、單價C名稱、單價、交易所 D股票名稱、單價、交易所4.8.2 刪除視圖的SQL語句命令格式:DROP VIEW <視圖名>例如,刪除視圖 myview 的命令是 DROP VIEW myview 。4.9 建立各類文件的命令:建立項目的命令:

30、CREATE PROJECT 項目文件名建立數(shù)據(jù)庫命令:CREATE DATABASE 數(shù)據(jù)庫文件名建立查詢的命令:CREATE QUERY 查詢文件名建立視圖的命令:CREATE VIEW 視圖文件名建立程序/打開的命令:MODIFY COMMAND 程序文件名建立表單的命令:CREATE FORM 表單文件名建立菜單的命令:CREATE MENU 菜單文件名建立報表的命令:CREATE REPORT 報表文件名4.10 打開各類文件的命令:打開數(shù)據(jù)表的命令:USE 表文件名 打開數(shù)據(jù)庫的命令:OPEN DATABASE 數(shù)據(jù)庫文件名 參數(shù)含義EXCLUSIVE:以獨占方式打開數(shù)據(jù)表或數(shù)據(jù)庫

31、。SHARED: 以共享方式打開數(shù)據(jù)表或數(shù)據(jù)庫。打開項目的命令:MODIFY PROJECT 項目文件名打開查詢的命令:MODIFY QUERY 查詢文件名打開視圖的命令:MODIFY VIEW 視圖文件名打開表單的命令:MODIFY FORM 表單文件名打開菜單的命令:MODIFY MENU 查詢文件名打開報表的命令:MODIFY REPORT 報表文件名例如,執(zhí)行以下一組命令:SET EXCLUSIVE OFF USE js USE xs EXCLUSIVE IN 0則js表打開方式是 共享 ,xs表的打開方式是 獨占 。數(shù)據(jù)庫表與自由表之間可以相互轉(zhuǎn)換。但一個數(shù)據(jù)表只能屬于一個數(shù)據(jù)庫。4

32、.11 自由表和數(shù)據(jù)庫表轉(zhuǎn)換命令(命令操作前,先打開相應(yīng)的數(shù)據(jù)庫):向數(shù)據(jù)庫中添加自由表的命令格式:ADD TABLE <表文件名>從數(shù)據(jù)庫中移去數(shù)據(jù)庫表的命令格式:REMOVE TABLE <表文件名>4.12 執(zhí)行各類文件的命令:查詢文件:DO 查詢文件名 (必須帶擴展名.qpr,如DO Myquery.qpr)菜單文件:DO 菜單文件名 (必須帶擴展名.mpr,如DO Mymenu.mpr)程序文件:DO 程序文件名 (如不帶擴展名,則按.EXE(可執(zhí)行文件).APP(VFP應(yīng)用程序).FXP(已編譯的程序).PRG(源程序),如DO Myprog.prg)表單文

33、件:DO FORM 表單文件名 (可省略擴展名.scx) 報表文件:REPORT FORM 報表文件名 PREVIEW (可省略擴展名.frx)說明:不使用PREVIEW在主窗口顯示報表,使用PREVIEW在預(yù)覽窗口中顯示報表。4.13 其它命令:SET MARK TO 日期分隔符 && 分隔符有(/)、(-)、(.)和空格四種設(shè)置日期SET DATE TO YMD|MDY|DMY && 設(shè)置日期顯示格式SET CENTURY ON|OFF && 設(shè)置是否顯示世紀值當(dāng)需顯示的日期年份年份參考值時,顯示日期的年份前兩位為世紀值+1;當(dāng)需顯示的日期年

34、份年份參考值時,顯示日期的年份前兩位為世紀值。SET CENTURY TO <世紀值> ROLLOVER <年份參考值>例如,依次執(zhí)行以下命令后輸出的結(jié)果是 。SET MARK TO "."SET DATE TO YMDSET CENTURY ONSET CENTURY TO 19 ROLLOVER 10?CTOD("09-05-01") (結(jié)果:2009.05.01)?CTOD("49-05-01") (結(jié)果:1949.05.01)例如,想要將日期型或日期時間型數(shù)據(jù)中的年份用4位數(shù)字顯示,應(yīng)當(dāng)使用設(shè)置命令 A

35、 。ASET CENTURY ON     BSET CENTURY OFF CSET CENTURY TO 4     DSET CENTURY OF 4設(shè)置字符排序序列:SET COLLATE TO "<排序次序名>"說明:排序次序名必須放在引號當(dāng)中。排序次序名有“Machine”、“PinYin”和“Sroke”。Ø Machine(機器)次序:按照

36、機內(nèi)碼順序排列。西文字符是按照ASCII碼值排列(大寫ABCD字母序列在小寫abcd字母序列的前面)。漢字根據(jù)它們的拼音順序決定大小。 空格 < A < B < < Z < a < b < < z Ø PinYin(拼音)次序:按照拼音次序排列。對于西文字符而言,小寫abcd字母序列在前,大寫ABCD字母序列在后,同一字母,大寫大,小寫小。(默認排序方式) 空格 < a < A < b < B < < z < Z Ø Stroke(筆畫)次序:無論中文、西文,按照書寫筆畫的多少排序。5

37、項目管理器1)項目管理器的組成l “數(shù)據(jù)”選項卡:用于顯示和管理 數(shù)據(jù)庫 、 表 、 查詢 和 視圖 。l “文檔”選項卡:用于顯示和管理 表單 、 報表 和 標簽 。l “代碼”選項卡:用于顯示和管理 程序 。l “其他”選項卡:用于顯示和管理 菜單 和 文本文件 。例如,在“項目管理器”窗口中可以完成的操作是 D 。A新建文件 B添加/刪除文件 C修改文件 D以上操作均可以說明:在VFP中,新建或添加一個文件到項目中并不意味著把該文件合并到項目文件中。事實上,每一個文件仍然以獨立文件的形式存在,只是表示該文件與項目建立了一種關(guān)聯(lián)。2)項目連編:項目連編結(jié)果有三種文件形式:l 應(yīng)用程序文件(

38、.app):需要在Visual FoxPro中運行。l 可執(zhí)行文件(.exe):可以直接在Windows下運行。l 動態(tài)鏈接庫庫文件(.dll)。例如,在連編對話框中,下列不能生成的文件類型是 C 。ADLL BAPP CPRG DEXE如果標識為“包含”,表示該文件是只讀文件,不能再修改。如果標識為“排除”,表示該文件是可以修改的。但是這些文件沒有在應(yīng)用程序的文件中編譯。 例如,如果添加到項目中的文件標識為“排除”,表示 C 。A此類文件不是應(yīng)用程序的一部分B生成應(yīng)用程序時不包括此類文件C生成應(yīng)用程序時包括此類文件,用戶可以修改D生成應(yīng)用程序時包括此類文件,用戶不能修改例如,在連編項目文件之

39、前應(yīng)在“項目管理器”中指定一個主文件,該主文件將作為已編譯的應(yīng)用程序執(zhí)行的開始點??梢宰鳛橹魑募目梢允?查詢 、 程序 、 表單 、 菜單 。第3章 Visual Foxpro語言基礎(chǔ)1常量:字符型(C)、數(shù)值型(N)、貨幣型(Y)、邏輯型(L)、日期型(D)和日期時間型(T)。字符型常量:也稱字符串,字符型常量的定界符不作為常量本身的內(nèi)容。字符型常量的定界符必須成對匹配,不能一邊用一種定界符而另一邊用另外一種定界符。定界符有、""、'三種。例如,下列字符型常量的表示中,錯誤的是 B 。A.'5+3' B.品牌 C.'x=y ' D

40、."計算機"例如,X=2001-07-28 10:15:20PMY=.F. M=5123.45 執(zhí)行左述賦值語句之后,內(nèi)存變量X,Y,M,N和Z的數(shù)據(jù)類型分別是 B 。N=$123.45 AD、L、Y、N、C BT、L、N、Y、CZ="123.24" CT、L、N、M、C DT、L、Y、N、S日期型常量:yyyy-mm-dd,如2012年4月15日應(yīng)表示為 2012-04-15 。執(zhí)行命令A(yù)=2012/4/15之后,內(nèi)存變量A的數(shù)據(jù)類型是 數(shù)值型 或 N ,表達式score<=100 AND score>=0的數(shù)據(jù)類型是 邏輯性 或 L ,表

41、達式100+100=300的數(shù)據(jù)類型是 邏輯性 或 L ,表達式"505"-"50"的數(shù)據(jù)類型是 字符型 或 C 。2變量:內(nèi)存常量(包括數(shù)組)、字段變量使用"="一次只能給一個內(nèi)存變量賦值(=不能給字段變量賦值),而STORE命令可以同時給多個內(nèi)存變量賦予相同的值(不能給字段變量賦值)。字段變量可通過REPLACE命令賦值或修改已有的值。注意,內(nèi)存變量也具有常量的6種數(shù)據(jù)類型,字段變量除此之外,還有 備注型、通用型 等。例如,以下賦值語句正確的是 A 。ASTORE 8 TO X,Y BSTORE 8,9 TO X,Y &&

42、amp; 不能給多個變量賦不同的值CX=8,Y=9 && 一行只能寫一條命令 DX,Y=9 && 語法錯誤例如:x=13 x=13 y=1x y=1x=24 ?x,y (顯示結(jié)果:3 3) ?x,y (顯示結(jié)果:3 .F.)說明:"="有兩個作用,一是作為賦值命令,如上述例題中=1;二是關(guān)系運算符,如上述例題中=2。M=科目+"考試"?m (顯示結(jié)果:計算機 考試)例如,假設(shè)當(dāng)前表當(dāng)前記錄的"科目"字段值為"計算機"(C型字段,字段寬度為8),在命令窗口輸入如下命令將顯示結(jié)果 。M=

43、科目-"考試"?m (顯示結(jié)果:計算機考試)姓名1是內(nèi)存變量,姓名2和姓名3都是字段變量。修改字段變量的值使用:REPLACE和UPDATE命令。例如,假設(shè)職員表已在當(dāng)前工作區(qū)打開,其當(dāng)前記錄的"姓名"字段值為"李彤"(C型字段)。在命令窗口輸入并執(zhí)行如下命令:姓名1=姓名2-"出勤"?姓名3 (顯示結(jié)果:李彤)?M.姓名1 (顯示結(jié)果:李彤出勤)注意:內(nèi)存變量和字段變量在同名的情況下,直接引用變量名時使用的是字段變量,要引用內(nèi)存變量,需在變量名前加M.或M->。例如,如果內(nèi)存變量和字段變量均有變量名&quo

44、t;姓名",那么引用內(nèi)存變量的正確方法是 D 。AM.姓名 BM->姓名 C姓名 DA和B都可以當(dāng)給一個變量多次賦值后,變量中保存的是最后一次命令給其所賦的值。其數(shù)據(jù)類型取決于它的值。例如:ACCETP TO A IF A=123 S=0 ENDIF S=1 ?S (執(zhí)行結(jié)果: 1 )變量名(不管是字段變量還是內(nèi)存變量)在表示時不能使用定界符,否則視為字符型常量。例如,查詢學(xué)生選修課程成績小于60分的學(xué)號,正確的SQL語句是 C 。通配符包括?和*,?表示任意一個字符,*表示任意多個字符。ASELECT DISTINCT 學(xué)號 FROM SC WHERE "成績&qu

45、ot;<60BSELECT DISTINCT 學(xué)號 FROM SC WHERE 成績<"60"CSELECT DISTINCT 學(xué)號 FROM SC WHERE 成績<60DSELECT DISTINCT 學(xué)號 FROM SC WHERE "成績"<60內(nèi)存變量的顯示命令格式:LIST|DISPLAY MEMORY LIKE <通配符>例如,語句LIST MEMORY LIKE a* 能夠顯示的變量不包括 D 。Aa Ba1 Cab2 Dba3例如,清除內(nèi)存中第一個字母為"A"的內(nèi)存變量,應(yīng)使用命令

46、: RELEASE ALL LIKE A? 。3數(shù)組:數(shù)組是按一定順序排列的一組內(nèi)存變量。1)VFP只支持一維數(shù)組和二維數(shù)組,數(shù)組下標的下界為 1 。一維數(shù)組的元素個數(shù)為 數(shù)組的下標 ,二維數(shù)組的元素個數(shù)為 數(shù)組兩個下標的乘積 。2) 用命令聲明數(shù)組后,數(shù)組各元素的值都為 .f. ,只有通過賦值命令對其賦值后才能確定其數(shù)據(jù)類型,因此同一數(shù)組中各元素可以賦 不同類型 的值。例如,使用命令DECLARE mm(2,3)定義的數(shù)組,包含的數(shù)組元素(下標)的個數(shù)是 6 ,在命令窗口中輸入?mm(1,1)的結(jié)果為 .f. 。例如,DIME s(2,2),S(1,1)=2,S(1,2)=4,S(2,1)=

47、6,?S(3)的結(jié)果為 6 。?S(4)的結(jié)果為 .f. 。說明:二維數(shù)組按照先行后列的順序存儲,二維數(shù)組可以通過一維數(shù)組訪問。例如,下面關(guān)于VFP數(shù)組的敘述中,錯誤的是 C 。 A用DIMENSION和DECLARE都可以定義數(shù)組BVFP只支持一維數(shù)組和二維數(shù)組C一個數(shù)組中各個元素必須是同一種數(shù)據(jù)類型D新定義的數(shù)組的各個數(shù)組元素初值為.F.當(dāng)兩個字符串用“+”連接時,結(jié)果:兩個字符串直接拼在一起;當(dāng)兩個字符串用“-”連接時,結(jié)果:先把兩個字符串拼在一起,然后把第一個字符串末尾的空格移到結(jié)果最后。只有當(dāng)?shù)谝粋€字符串末尾沒有空格時,用“+”連接和用“-”連接結(jié)果才一樣。例如,下列程序段執(zhí)行時在屏

48、幕上顯示的結(jié)果是 D 。DIME a(6)STORE 1 TO a(1),a(2)FOR i=3 TO 6 a(i)=a(i-1)+a(i-2)ENDFOR?a(6)A2 B3 C5 D84表達式1)字符表達式:字符串表達式運算符有以下兩個:+ 和 - 。 (此處用"口"代表空格)例如,X="口中文口Visual口"Y="口FoxPro口"?X+Y (結(jié)果:"口中文口Visual口口FoxPro口")?X-Y (結(jié)果:"口中文口Visual口FoxPro口口")2)數(shù)值表達式:數(shù)值表達式運算符有

49、:*或(乘方)、*、/、%(乘、除、求余)和+、-。例如:?13%3,13%-3,-13%3,-13%-3 (執(zhí)行結(jié)果: 1 -2 2 -1 ) && %作用等同于MOD()函數(shù)說明:余數(shù)=被除數(shù)-除數(shù)*商 && 商=FLOOR(數(shù)值表達式1/數(shù)值表達式2)。例如,設(shè)A=6*8-2,B=6*8-2,C="6*8-2",屬于合法表達式的是 C 。AA+B BB+C CA-C DC-B例如,設(shè)x="123",y=123,k="y",表達式x+&k的值是 D 。A123123 B246 C123y D

50、數(shù)據(jù)類型不匹配3)日期時間表達式:日期時間表達式的運算符:+ 和 - 。例如:?2009-02-14+30,2009-02-14-30,2009-02-14-2008-11-18結(jié)果: 2009-03-16 , 2009-01-15 , 88 ?2009-02-14 10:15:20 AM+100,2009-02-14 10:15:20 AM-2009-02-14 10:10:20 AM 注意:兩個日期型(日期時間型)數(shù)據(jù)不同相加。如 2009-02-14+DATE() 是錯誤的。4)關(guān)系表達式:關(guān)系表達式的運算符:<、>、=、=、<>、#、!=、<=、>=

51、、>=和$。子串包含測試:<字符型表達式1> $ <字符型表達式2>,如果前者是后者的一個子字符串(與位置無關(guān)),結(jié)果為邏輯真(.T.),否則為邏輯假(.F.)。例如,"計算機"$"計算機中心"和"中心"$"計算機中心"的結(jié)果都為.T.,"abd"$"abcd"的結(jié)果為.F.。在用單等號運算符(=)比較兩個字符串時,運算結(jié)果與SET EXACT ON|OFF命令設(shè)置有關(guān)。當(dāng)處于OFF狀態(tài)(默認狀態(tài))時,只要右邊的字符串與左邊的字符串前面部分相匹配

52、,結(jié)果為邏輯真.T.(如:"abc"="a" .T. ,而"abc"="bc" .F.);當(dāng)處于ON狀態(tài)時,則只有左右兩個字符串完全一樣才為.T.。恒等于運算符(=)比較兩個字符串時,不受SET EXACT ON|OFF命令影響,即只有左右兩個字符串完全一樣結(jié)果才為.T.,否則結(jié)果為.F.。(如:"abc"="abc" .T. ,而"abc"="ab" .F.)5)邏輯表達式:邏輯運算符有三個:.NOT.或!、.AND.和.OR.,其優(yōu)

53、先順序依次為:NOT、AND、OR。例如,教師表T(教師號,姓名,性別(C,2),職稱,研究生導(dǎo)師(L)中,若要查詢“是研究生導(dǎo)師的女老師”信息,那么SQL語句“SELECT * FROM T WHERE <邏輯表達式>”中的<邏輯表達式>應(yīng)是 A 。A研究生導(dǎo)師 AND 性別="女" B研究生導(dǎo)師 OR 性別="女"C性別="女" AND 研究生導(dǎo)師=.F. D研究生導(dǎo)師=.T. OR 性別=女例如,假設(shè)字符串X="234",Y="

54、;345",則下列表達式的運算結(jié)果為邏輯假的是 C 。A.NOT.(X=Y).OR.Y$("12345") B.NOT.X$("XYZ").AND.(X<>Y)C.NOT.(X<>Y) D.NOT.(X>=Y)此處X沒有定界符,是一個變量,其值為"234",如此處不是X,而是"X",B答案的結(jié)果又是? .F. 。例如,查詢單價在600元以上的主機板和硬盤的正確命令是 B 。ASELECT * FROM 產(chǎn)品 WHERE 單價>600 AND (名稱="主機板&

55、quot; AND 名稱="硬盤")BSELECT * FROM 產(chǎn)品 WHERE 單價>600 AND (名稱="主機板" OR 名稱="硬盤")CSELECT * FROM 產(chǎn)品 FOR 單價>600 AND (名稱="主機板" AND 名稱="硬盤")DSELECT * FROM 產(chǎn)品 FOR 單價>600 AND (名稱="主機板" OR 名稱="硬盤")4常用內(nèi)部函數(shù)1)字符函數(shù):LEN()、AT()、LEFT()、RIGHT(

56、)、SUBSTR()、STUFF()、LIKE() ?LEN(SPACE(3)-SPACE(2)的結(jié)果是 5 。 ?AT("c","abcde"),AT("f","abcde"),AT("ac","abcde") 結(jié)果: 3 , 0 , 0 有如下的賦值語句,結(jié)果為"大家好"的表達式是 D 。 a="你好" Ab+AT(a,1) Bb+RIGHT(a,1) b="大家" Cb+LEFT(A,3,4) Db+RIGHT(a,2) ANS="STUDENT.DBF"?SUBSTR("STUDENT.DBF",1,AT(".",ANS)-1) (執(zhí)行結(jié)果:STUDENT)表示錯誤,此函數(shù)中只允許第一個參數(shù)使用通配符*和?,不

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論