《Visual FoxPro 數(shù)據(jù)庫應(yīng)用教程》教學(xué)課件:第2章自由表的基本操作_第1頁
《Visual FoxPro 數(shù)據(jù)庫應(yīng)用教程》教學(xué)課件:第2章自由表的基本操作_第2頁
《Visual FoxPro 數(shù)據(jù)庫應(yīng)用教程》教學(xué)課件:第2章自由表的基本操作_第3頁
《Visual FoxPro 數(shù)據(jù)庫應(yīng)用教程》教學(xué)課件:第2章自由表的基本操作_第4頁
《Visual FoxPro 數(shù)據(jù)庫應(yīng)用教程》教學(xué)課件:第2章自由表的基本操作_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第2章 自由表的基本操作2.1 Visual FoxPro的語言基礎(chǔ)2.2 自由表的建立與修改2.3 自由表的維護(hù)本章要點(diǎn)2.1.1 數(shù)據(jù)類型數(shù)據(jù)類型一旦被定義,就確定了其存儲(chǔ)方式和使用方式。1字符型字符型數(shù)據(jù)描述不具有計(jì)算能力的文字?jǐn)?shù)據(jù)類型。字符型數(shù)據(jù)(Character)是由漢字和英文字符、數(shù)字字符、空格及其他專用字符,使用時(shí)必須用定界符雙引號(hào)(“”),單引號(hào)( ) 或中括號(hào)( )括起來。這里的單引號(hào)、雙引號(hào)或方括號(hào)都是西文的標(biāo)點(diǎn)符號(hào),稱為定界符。2.1 Visual FoxPro的語言基礎(chǔ)2數(shù)值型數(shù)值型數(shù)據(jù)用來表示一個(gè)數(shù)量的大小,數(shù)值型數(shù)據(jù)通??杉?xì)分為數(shù)值型,浮點(diǎn)型,雙精度型,整型和貨幣

2、型五種類型。浮點(diǎn)型數(shù)據(jù)(Float)是數(shù)值型數(shù)據(jù)的一種,與數(shù)值型數(shù)據(jù)完全等價(jià)。浮點(diǎn)型數(shù)據(jù)只是在存儲(chǔ)形式上采取浮點(diǎn)格式。雙精度型數(shù)據(jù)(Double)是更高精度的數(shù)值型數(shù)據(jù)。它只用于數(shù)據(jù)表中的字段類型的定義,并采用固定長度浮點(diǎn)格式存儲(chǔ)。整型數(shù)據(jù)(Integer)是不包含小數(shù)點(diǎn)部分的數(shù)值型數(shù)據(jù)。它只用于數(shù)據(jù)表中的字段類型的定義。整型數(shù)據(jù)以二進(jìn)制形式存儲(chǔ)。貨幣型(Currency)數(shù)據(jù)用來表示貨幣值,其書寫格式與數(shù)值型數(shù)據(jù)類似,但要加上一個(gè)前置的符號(hào)($)。貨幣數(shù)據(jù)在存儲(chǔ)和計(jì)算時(shí),采用4位小數(shù)。3日期型日期型數(shù)據(jù)(Date)是用于表示日期的數(shù)據(jù),用默認(rèn)格式mm/dd/yyyy來表示。其中mm代表月,d

3、d代表日,yyyy代表年,存儲(chǔ)長度固定為8位。4日期時(shí)間型日期時(shí)間型數(shù)據(jù)(DateTime)是描述日期和時(shí)間的數(shù)據(jù),其默認(rèn)格式為mm/dd/yyyy hh:mm:ss。其中yyyy代表年,前兩個(gè)mm代表月,dd代表日,hh代表小時(shí),后兩個(gè)mm代表分鐘,ss代表秒,存儲(chǔ)長度固定為8位。5邏輯型邏輯型數(shù)據(jù)(Logic)是描述客觀事物真假的數(shù)據(jù),用于表示邏輯判斷結(jié)果。邏輯型數(shù)據(jù)只有真(.T.)和假(.F.)兩個(gè)值,存儲(chǔ)長度固定為1位。6備注型備注型數(shù)據(jù)(Memo)用于存放較長的字符型數(shù)據(jù)類型,可以把它看成是字符型數(shù)據(jù)的特殊形式。7通用型通用型數(shù)據(jù)(General)是用于存儲(chǔ)OLE對(duì)象的數(shù)據(jù)。通用型數(shù)

4、據(jù)中的OLE對(duì)象可以是電子表格、文檔、圖片等。它只用于數(shù)據(jù)表中的字段類型的定義。 2.1.2 數(shù)據(jù)存儲(chǔ)數(shù)據(jù)輸入、輸出是通過數(shù)據(jù)的存儲(chǔ)設(shè)備完成的。數(shù)據(jù)可以存入到字段、記錄和對(duì)象中。我們把這些供數(shù)據(jù)存儲(chǔ)的常量、變量、數(shù)組、字段、記錄和對(duì)象稱為數(shù)據(jù)存儲(chǔ)容器。常量、內(nèi)存變量、函數(shù)以及表達(dá)式的類型包括字符型、數(shù)值型、貨幣型、邏輯型、日期型和日期時(shí)間型等6種。1常 量在數(shù)據(jù)處理過程中其值不發(fā)生變化的量叫常量。(1) 數(shù)值型常量數(shù)值型常量也就是常數(shù),用來表示一個(gè)數(shù)量的大小,由數(shù)字09、小數(shù)點(diǎn)和正負(fù)號(hào)構(gòu)成。例如:112、3.145、-6.22。(2) 貨幣型常量貨幣型常量用來表示貨幣值,其書寫格式與數(shù)值型常量

5、類似,但要加上一個(gè)前置的符號(hào)($)。例如,常量$123.456789。(3) 字符型常量字符型常量也稱為字符串,許多常量都有定界符。注意,不包含任何字符的字符串( )叫空串??沾c包含空格的字符串( )不同。(4) 日期型常量日期型常量的定界符是一對(duì)花括號(hào)。 傳統(tǒng)的日期格式系統(tǒng)默認(rèn)的日期型數(shù)據(jù)為美國日期格式“mmddyy”(月日年),如09/01/03、09/01/2003等。語句SET DATE TO ymd把日期設(shè)置成(年月日)格式,命令SET CENTURY on 把年份設(shè)置成4位數(shù)字格式。 嚴(yán)格的日期格式嚴(yán)格的日期格式為yyyy-mm-dd,它不受SET DATE等語句設(shè)置的影響。嚴(yán)格

6、的日期格式可以在任何情況下使用,而傳統(tǒng)的日期格式只能在執(zhí)行如下命令:SET STRICTDATE TO 0后才可以使用。SET STRICTDATE TO 1把系統(tǒng)設(shè)置為嚴(yán)格的日期格式。另外,命令 SET MARK TO 是設(shè)定日期分隔符。(5) 日期時(shí)間型常量日期時(shí)間型常量包括日期和時(shí)間兩部分內(nèi)容:,。部分與日期型常量相似,也有傳統(tǒng)的和嚴(yán)格的兩種格式。部分的格式為:hh:mm:ssa | p。SET MARK TO? 2003-09-01 11:10:10, 2003-09-01 15:10:10 (6) 邏輯型常量邏輯型數(shù)據(jù)只有邏輯真和邏輯假兩個(gè)值。邏輯真的常量表示形式有:.T. ,.t.

7、 ,.Y.和.y.。邏輯假的常量表示形式有:.F. ,.f. ,.N.和.n.。2變 量變量是在命令操作、程序運(yùn)行過程中其值可以變化的量。變量分為字段變量和內(nèi)存變量兩大類。內(nèi)存變量:1. 以字母、漢字、下劃線開頭;2. 由字母、漢字、數(shù)字、下劃線組成;3. 至多128個(gè)字符;4. 不可與系統(tǒng)保留字同名。 字段變量:1. 以字母、漢字開頭;2. 由字母、漢字、數(shù)字、下劃線組成;3. 至多10個(gè)字符;4. 不可與系統(tǒng)保留字同名。 內(nèi)存變量又分為簡單內(nèi)存變量和系統(tǒng)內(nèi)存變量,系統(tǒng)內(nèi)存變量是Visual FoxPro系統(tǒng)運(yùn)行時(shí)自動(dòng)建立、使用的,其名字都是以下劃線開頭,例如 _dos,_pwait等。(1

8、) 簡單內(nèi)存變量每一個(gè)變量都有一個(gè)名字,可以通過變量名訪問變量。簡單內(nèi)存變量賦值不必事先定義,例如:X=10(2) 數(shù)組數(shù)組是內(nèi)存中連續(xù)的一片存儲(chǔ)區(qū)域,是按一定順序排列的一組內(nèi)存變量,數(shù)組中的各個(gè)變量稱為數(shù)組元素,每個(gè)數(shù)組元素可通過數(shù)組名及相應(yīng)的下標(biāo)來訪問。每個(gè)數(shù)組元素相當(dāng)于一個(gè)簡單變量,可以給各個(gè)元素分別賦值。在Visual FoxPro中,一個(gè)數(shù)組中各個(gè)元素的數(shù)據(jù)類型可以不同。 創(chuàng)建數(shù)組的兩種命令格式為:DIMENSION ( , , )DECLARE ( , ,)例如:DECLARE aa(5),bb(2,3)3內(nèi)存變量常用命令(1) 內(nèi)存變量的賦值格式1:STORE表達(dá)式TO變量名表格

9、式:內(nèi)存變量名表達(dá)式功能:格式1計(jì)算表達(dá)式的值并賦給一個(gè)或多個(gè)內(nèi)存變量;格式2只能給一個(gè)變量賦值。(2) 內(nèi)存變量的顯示格式1:LIST MEMORY LIKE TO PRINTER TO FILE 格式2:DISPLAY MEMORY LIKE TO PRINTER TO FILE (3) 內(nèi)存變量的清除格式1:CLEAR MEMORY格式2:RELEASE 格式3:RELEASE ALL EXTENDED格式4:RELEASE ALL LIKE EXCEPT(4) 內(nèi)存變量的保存格式:SAVE TO ALL LIKE EXCEPT功能:將指定范圍的內(nèi)存變量保存在內(nèi)存變量文件中,內(nèi)存變量文件

10、的擴(kuò)展名為.men 。(5) 內(nèi)存變量的恢復(fù)格式:RESTORE FROM ADDITIVE功能:把內(nèi)存變量文件中的變量送回內(nèi)存,不選ADDITIVE則送回之前先清除內(nèi)存中的內(nèi)存變量。4字段變量字段變量就是指數(shù)據(jù)表中已定義的任意一個(gè)字段。字段變量的數(shù)據(jù)類型與該字段定義的類型一致。字段變量的類型有數(shù)值型、浮點(diǎn)型、整型、雙精度型、字符型、邏輯型、日期型、時(shí)間日期型、備注型和通用型等。2.1.3 函數(shù)函數(shù)名(自變量表)自變量表可以是一個(gè)變量或多個(gè)自變量,也可以為空,即:函數(shù)名(),此時(shí)函數(shù)名后面的一對(duì)圓括號(hào)不能省略。函數(shù)按功能可劃分為:數(shù)學(xué)函數(shù)、字符串函數(shù)、日期和時(shí)間函數(shù)、類型轉(zhuǎn)換函數(shù)、測(cè)試函數(shù)。1

11、數(shù)學(xué)函數(shù)(數(shù)值函數(shù))(1)求絕對(duì)值函數(shù)ABS格式:ABS( )(2)求整函數(shù)INT格式:INT( )(3)四舍五入函數(shù)ROUND格式:ROUND( , )(4) 指數(shù)函數(shù)EXP、自然對(duì)數(shù)函數(shù)LOG、平方根函數(shù)SQRT、格式:EXP| LOG | SQRT ( )(5)取模 (求余數(shù))函數(shù)MOD格式:MOD( , )功能:取 除以 的余數(shù)。(6)求最大值MAX、最小值MIN格式:MAX| MIN ( , , , )2字符串函數(shù)(1)判子字符串函數(shù)AT格式:AT( , )功能:求 在 的起始位置數(shù)值。說明:若 中不包含 ,則函數(shù)值為零;若 的值含有兩個(gè)以上的 的值,則函數(shù)給出第一個(gè)值的位置。大小寫

12、字母在檢索中視為不同。(2)取子串函數(shù)SUBSTR格式:SUBSTR ( , , )功能:對(duì) 從給定的 開始截取指定長度的字符,生成一個(gè)新的字符串;說明:若無或大于后面剩余的字符個(gè)數(shù),則截至末尾。若 大于字符串表達(dá)式長度,則輸出空串。(3)取左子串函數(shù)LEFT格式:LEFT ( , )功能:LEFT 從 左邊截取由 的值指定的字符,生成一個(gè)新的字符串。(4) 取右子串函數(shù)RIGHT格式:RIGHT ( , )(5) 宏代換函數(shù) 格式:字符型內(nèi)存變量.功能:替換出的值。即將值的定界符去掉,使其可能代表一個(gè)變量名、文件名、命令、表達(dá)式等。說明:在表達(dá)式中使用該函數(shù)時(shí),如果函數(shù)中的字符型內(nèi)存變量名與

13、其后面的字符無明顯分界時(shí),應(yīng)使用圓點(diǎn)將它們隔開。例如:A=北京B=中國?&A.是&B.首都主屏幕顯示: 北京是中國首都 (7) 刪除首部和尾部空格的函數(shù)LTRIM ,TRIM(RTRIM) 和ALLTRIM格式:LTRIM|TRIM |RTRIM |ALLTRIM ( )功能:LTRIM是刪除字符串首部的空格,TRIM 和RTRIM是刪除字符串尾部的空格,ALLTRIM則可刪除字符串首部和尾部的空格。 (8) 構(gòu)造空格函數(shù)SPACE格式:SPACE( )功能:產(chǎn)生由 的值決定的空格數(shù)。 (9) 生成重復(fù)字符串函數(shù)REPLICATER格式:REPLICATER( , )功能:把 的值(字符串)重

14、復(fù)由 的值指定的次數(shù),生成新的字符串。 (10) 大小寫字母轉(zhuǎn)換函數(shù)LOWER|UPPER格式:LOWER|UPPER ( )功能:LOWER把 中的大寫字母轉(zhuǎn)換為小寫字母;UPPER把 中的小寫字母轉(zhuǎn)換為大寫字母。(11) 字符串替換函數(shù)STUFF格式:STUFF(,)功能:從指定位置開始,用替換中指定的字符串。說明:中的字符個(gè)數(shù)與中的字符個(gè)數(shù)可以不等。如果為0,則插入。如果為空字符串,則刪除中指定字符。3日期和時(shí)間函數(shù)(1)系統(tǒng)日期和時(shí)間函數(shù)DATE| TIME|DATeTIME格式:DATE ()TIME()DATETIME( )功能:DATE()返回當(dāng)前系統(tǒng)日期,函數(shù)值為日期型;TIM

15、E()以24小時(shí)制格式返回當(dāng)前系統(tǒng)時(shí)間,函數(shù)值為字符型;DATeTIME( )返回當(dāng)前系統(tǒng)日期,函數(shù)值為日期型。 (2)年、月、日函數(shù)YEAR|MONTH|DAY格式:YEAR|MONTH|DAY( )功能:從 中求出年份、月份、日份的數(shù)值。 (3)星期函數(shù)DOW|CDOW格式1:DOW ( )格式2:CDOW ( )功能:格式1給出 指定的日期是一星期的第幾天。1表示星期日,2表示星期一,7表示星期六;格式2給出星期幾的英文名稱。4類型轉(zhuǎn)換函數(shù)(1) 字符轉(zhuǎn)換為數(shù)值函數(shù)VAL格式:VAL( )功能:將字符型數(shù)據(jù)轉(zhuǎn)換為數(shù)值型數(shù)據(jù)。說明:若由數(shù)字字符和小數(shù)點(diǎn)組成,則轉(zhuǎn)換成相應(yīng)的數(shù)值,但只保留兩位

16、小數(shù),其余小數(shù)四舍五入。若由非數(shù)字字符打頭,則轉(zhuǎn)換為0.00。若由數(shù)字字符打頭,且混有非數(shù)字字符時(shí),則轉(zhuǎn)換到第一個(gè)非數(shù)字字符。例如:?VAL(1234.5678) ,VAL(FoxPro) , VAL(1234FOX.5678)主屏幕顯示:1234.57 0.00 1234.00(2) 數(shù)值轉(zhuǎn)換為字符函數(shù)STR格式:STR( , , )功能:把 的運(yùn)算結(jié)果轉(zhuǎn)換為指定長度的字符串。說明:應(yīng)包括小數(shù)點(diǎn)在內(nèi),不指定長度時(shí),系統(tǒng)默認(rèn)整數(shù)位10位。若指定小于整數(shù)位數(shù),則用一串*號(hào)表示數(shù)據(jù)溢出;若為0,則返回空字符串。若省略,則只轉(zhuǎn)換整數(shù)位;若指定小數(shù)位,則對(duì)下一位四舍五入。例如: ?STR(1234.5

17、678,7,2) ,STR(1234.5678,4) ,STR(1234.5678) 主屏幕顯示:1234.57 1235 1234(3) 字符轉(zhuǎn)換為日期函數(shù)CTOD格式:CTOD( )功能:將符合yy/mm/dd 、mm/dd/yy日期格式的字符串轉(zhuǎn)換為相應(yīng)日期。 (4) 日期轉(zhuǎn)換為字符函數(shù)DTOC格式:DTOC( ,1)功能:將轉(zhuǎn)換為相應(yīng)的字符串。說明:不選用1時(shí),按mm/dd/yy格式轉(zhuǎn)換;選用,1時(shí),按yyyymmdd格式轉(zhuǎn)換。 (5) ASCII碼值轉(zhuǎn)換為字符函數(shù)CHR格式:CHR( )功能:將所表示的ASCII碼值轉(zhuǎn)換為相應(yīng)的字符。(6) 字符轉(zhuǎn)換成ASCII碼值函數(shù)ASC格式:A

18、SC( )功能:返回最左邊的一個(gè)字符的ASCII碼值。 5測(cè)試函數(shù)與數(shù)據(jù)表有關(guān)的測(cè)試函數(shù),見 “2.3 自由表的維護(hù)”。(1) 值域測(cè)試函數(shù)BETWEEN格式:BETWEEN(,)功能:判斷一個(gè)表達(dá)式的值是否介于另外兩個(gè)表達(dá)式的值之間。當(dāng)值大于等于且小于等于時(shí),函數(shù)值為邏輯真(.T.),否則函數(shù)只為邏輯假(.F.)。(2) 數(shù)據(jù)類型測(cè)試函數(shù)VARTYPE格式:VARTYPE()功能:測(cè)試的類型,返回一個(gè)大寫字母,函數(shù)值為字符型。若是一個(gè)數(shù)組,則根據(jù)第一個(gè)數(shù)組元素的類型返回字符串。(3) 條件測(cè)試函數(shù)IIF格式:IIF(,)功能:測(cè)試的值,若為邏輯真.T.,函數(shù)返回的值,若為邏輯假.F.,函數(shù)返

19、回的值。和的類型不要求相同。 2.1.4 表達(dá)式表達(dá)式是由常量、變量和函數(shù)等通過特定的運(yùn)算符連接起來的式子。1數(shù)值表達(dá)式2字符表達(dá)式字符表達(dá)式由字符串運(yùn)算符將字符型數(shù)據(jù)連接起來形成,其運(yùn)算結(jié)果仍然是字符型數(shù)據(jù)。字符串運(yùn)算符有以下兩個(gè),它們的優(yōu)先級(jí)相同:前后兩個(gè)字符串首尾連接形成一個(gè)新的字符串。:連接前后兩個(gè)字符串,并將前字符串的尾部空格移到合并后的新字符串尾部。 3日期時(shí)間表達(dá)式日期時(shí)間表達(dá)式中可以使用的運(yùn)算符也有和兩個(gè)。4關(guān)系表達(dá)式關(guān)系表達(dá)式通常也稱為比較表達(dá)式,其運(yùn)算結(jié)果為邏輯型常量。關(guān)系成立時(shí),表達(dá)式的結(jié)果為.T. ,反之,表達(dá)式結(jié)果為.F. 。格式為:運(yùn)算符=和$僅適用于字符型數(shù)據(jù)。其

20、他運(yùn)算符適用于任何類型的數(shù)據(jù)。SET EXACT ON/OFF 【工具】【選項(xiàng)】菜單 5邏輯表達(dá)式 邏輯表達(dá)式由邏輯運(yùn)算符將邏輯型數(shù)據(jù)連接起來而形成,其運(yùn)算結(jié)果仍然是邏輯型數(shù)據(jù)。邏輯運(yùn)算符有三個(gè):.NOT.或?。ㄟ壿嫹牵?、.AND.(邏輯與)以及.OR.(邏輯或)。也可以省略兩端的點(diǎn)(省略時(shí)邏輯運(yùn)算符兩邊必須有空格),寫成NOT、AND、OR。優(yōu)先級(jí)順序?yàn)椋篘OT,AND,OR。 6. 運(yùn)算符優(yōu)先級(jí)在每一類運(yùn)算符中,各個(gè)運(yùn)算符有一定的運(yùn)算優(yōu)先級(jí)。而不同類型的運(yùn)算也可能出現(xiàn)在同一個(gè)表達(dá)式中,這時(shí)它們的運(yùn)算優(yōu)先級(jí)順序?yàn)椋合葓?zhí)行算術(shù)運(yùn)算符,字符串運(yùn)算符和日期時(shí)間運(yùn)算符,其次執(zhí)行關(guān)系運(yùn)算符,最后執(zhí)行邏

21、輯運(yùn)算符。 2.2 自由表的建立與修改數(shù)據(jù)表簡稱表,在Visual FoxPro系統(tǒng)中,把包含在數(shù)據(jù)庫中的表稱為數(shù)據(jù)庫表,并把不包含在數(shù)據(jù)庫而獨(dú)立存在的表稱為自由表。自由表可以添加在數(shù)據(jù)庫中而成為數(shù)據(jù)庫表,數(shù)據(jù)庫表也可以從數(shù)據(jù)庫中移出而成為自由表。 2.2.1 表結(jié)構(gòu)的建立1設(shè)計(jì)表結(jié)構(gòu)(1) 字段名(2) 字段類型和寬度Xsqk.dbfcj.dbfXk.dbf2利用表設(shè)計(jì)器創(chuàng)建表結(jié)構(gòu)用表設(shè)計(jì)器定義表結(jié)構(gòu)的操作方法常有下面三種。(1)使用菜單方法從Visual FoxPro 系統(tǒng)的主菜單開始,打開“文件”菜單,選擇“新建”(2)使用命令的方法 建立數(shù)據(jù)表的命令是: CREATE |.dbf例如要

22、建立數(shù)據(jù)表xsqk.dbf時(shí)可使用命令:CREATE XSQK命令執(zhí)行后彈出表設(shè)計(jì)器,其它操作與 “使用菜單方法”相同。(3) 在項(xiàng)目管理器中創(chuàng)建2.2.2 表數(shù)據(jù)的輸入 (1)使用APPEND命令的方法APPEND命令是在表的尾部增加記錄,它有兩種格式:APPEND或APPEND BLANK。執(zhí)行一次APPEND BLANK命令后在表中添加一條空記錄;執(zhí)行APPEND命令需要立刻交互輸入新的記錄值,一次可以連續(xù)輸入多條新的記錄。然后按+或單擊窗口的“關(guān)閉”按鈕結(jié)束并保存輸入的新記錄;按結(jié)束并不保存輸入的新記錄。(2)使用菜單方法可選【顯示】【瀏覽】菜單,出現(xiàn) “瀏覽”窗口,再執(zhí)行【顯示】【追

23、加方式】菜單或執(zhí)行【表】【追加記錄】菜單(也可以按+鍵),即在瀏覽器尾部會(huì)增加一條空白記錄。2.2.3 備注字段和通用型字段數(shù)據(jù)的輸入和修改備注型數(shù)據(jù)顯示為“Memo”或“memo”,其中“Memo”表示對(duì)應(yīng)的記錄的備注字段已經(jīng)輸入了數(shù)據(jù),而“memo”表示該字段中沒有備注內(nèi)容。要為某記錄的備注字段輸入數(shù)據(jù)或修改其中的內(nèi)容,可雙擊該記錄的備注字段,進(jìn)入備注字段的編輯窗口,編輯完后按+或單擊窗口的“關(guān)閉”按鈕結(jié)束并保存輸入的新內(nèi)容;按結(jié)束并不保存輸入的新內(nèi)容。 2.2.4 表結(jié)構(gòu)的修改 (1)使用菜單方法執(zhí)行【顯示】【表設(shè)計(jì)器】菜單命令(2)使用命令方法打開表設(shè)計(jì)器的命令是:MODIFY STR

24、UCTURE2.3 自由表的維護(hù) 2.3.1 VISUAL FOXPRO命令結(jié)構(gòu)及常用子句VFP命令格式: . & 注釋部分例如顯示命令LIST的格式: LIST FOR WHILE OFF TO & 注釋1命令動(dòng)詞表示命令執(zhí)行的操作,是命令中必不可少的部分。2語句體語句體由一系列短語構(gòu)成,可使用的常用子句(短語)如下所示:(1) FIELDS 用于指定操作的字段,中有多個(gè)字段時(shí),字段名之間用逗號(hào)分隔。 例如命令:use xsqklist fields 姓名,身高 & 顯示xsqk.dbf表的“姓名”和“身高”兩列數(shù)據(jù)(2) FOR 對(duì)滿足條件的所有記錄進(jìn)行操作。例如命令:use xsqkli

25、st for 身高1.7 & 顯示xsqk.dbf表中身高大于1.7米的所有記錄(3) WHILE 對(duì)滿足條件的記錄進(jìn)行操作。從表中的當(dāng)前正在使用的記錄開始向下順序判斷,當(dāng)遇到第一個(gè)不滿足條件的記錄時(shí),停止命令執(zhí)行,而不管其后是否還有滿足條件的記錄。(4) 表示記錄的執(zhí)行范圍,可以是ALL, NEXT ,RECCORD , REST幾項(xiàng)中之一,其中的是數(shù)值型表達(dá)式。系統(tǒng)對(duì)表中的記錄是逐條進(jìn)行處理的。Visual FoxPro為每一個(gè)打開的表設(shè)置了一個(gè)內(nèi)部使用的記錄指針,指向正在被操作的記錄,該記錄稱為當(dāng)前記錄。記錄指針的作用是標(biāo)識(shí)表的當(dāng)前記錄。ALL:表示全部記錄; NEXT :表示從當(dāng)前記錄

26、開始的以下n條記錄; RECORD :表示第n號(hào)記錄; REST:表示從當(dāng)前記錄到最后一條記錄。 (5) TO 表示操作結(jié)果的輸出去向。3命令書寫格式說明在書寫命令格式時(shí),還用到一些符號(hào),這些符號(hào)只是在書寫時(shí)使用,實(shí)際操作時(shí)并不輸入。這些符號(hào)以及它們所表示的意義如下: :表示其中內(nèi)容為必選項(xiàng); :表示其中內(nèi)容為可選項(xiàng); | :表示其兩側(cè)項(xiàng)目只能任選一項(xiàng); :表示同類項(xiàng)的多次重復(fù)。 4命令的書寫與使用規(guī)則在輸入命令時(shí),應(yīng)注意下面規(guī)則:每條命令以命令動(dòng)詞開始,以回車鍵結(jié)束,命令中各短語的順序是任意的。命令動(dòng)詞、短語中的英文單詞及函數(shù)名均可縮寫為前四個(gè)字符,大小寫可混用。命令動(dòng)詞、語句體及其各短語之

27、間均以空格相隔。一行只能寫一個(gè)命令,不能將兩個(gè)命令寫在同一行。命令一行寫不下時(shí),可以由系統(tǒng)自然換行或在行尾加分號(hào)(;),回車強(qiáng)制換行。命令行的長度小于或等于2048個(gè)字符。 2.3.2 表的打開與關(guān)閉(1) 表的打開可以通過選【文件】【打開】菜單(或工具欄上的“打開”按鈕)打開表,也可以用以下命令打開表:Use .dbf (2) 表的關(guān)閉常常使用下面命令關(guān)閉表:use & 關(guān)閉當(dāng)前使用的表close tables & 關(guān)閉當(dāng)前數(shù)據(jù)庫中所有打開的表close tables all & 關(guān)閉所有打開的表close all & 關(guān)閉所有打開的表、程序文件及表單等clear all & 關(guān)閉所有的表、

28、程序文件及表單等,清除內(nèi)存變量2.3.3 表數(shù)據(jù)的瀏覽和修改1同時(shí)進(jìn)行數(shù)據(jù)瀏覽和修改的操作打開瀏覽器的方法有多種,常用的方法有:首先打開要操作的表,再執(zhí)行菜單【顯示】【瀏覽】。在項(xiàng)目管理器中選擇要操作的表,然后單擊“瀏覽”命令按鈕。在命令方式下,首先用USE命令打開要操作的表,然后鍵入BROWSE命令。BROWSE命令的格式如下:Browse Fields For 交互式地對(duì)當(dāng)前表記錄進(jìn)行編輯的命令:CHANGE | EDIT Fields For 2. 數(shù)據(jù)的選擇顯示數(shù)據(jù)的顯示常常使用LIST 和DISPLAY命令,命令格式如下:List | Display Fields For WHILE

29、 To Printer To File off 2.3.4 記錄指針的移動(dòng)對(duì)于一個(gè)打開的表文件來說,系統(tǒng)對(duì)表中的記錄是逐條進(jìn)行處理的,表剛打開時(shí)指針是指向表中最上面的記錄的。1命令方法移動(dòng)指針命令方法移動(dòng)指針需要了解表文件的邏輯結(jié)構(gòu),表最上面的記錄是首記錄,記為TOP;最下面的記錄是尾記錄,記為BOTTOM;在第一個(gè)記錄之前有一個(gè)文件起始標(biāo)識(shí),稱為文件首(Beginning of File,簡稱BOF);在最后一個(gè)記錄的后面有一個(gè)文件結(jié)束標(biāo)識(shí),稱為文件尾(End of File,簡稱EOF)。移動(dòng)指針就是要把指針定位在某個(gè)記錄上。 (1) GO 命令GO 命令是絕對(duì)定位命令,它將記錄指針定位于

30、指定位置。GO命令有如下兩種格式:GO TO TOP | BOTTOM GOTO GO TOP命令把指針定位在首記錄;GO BOTTOM命令把指針定位在末記錄; (2) SKIP命令SKIP命令是相對(duì)定位命令,是相對(duì)于當(dāng)前記錄進(jìn)行定位的命令。命令格式:SKIP 的值取正或負(fù)的整數(shù),表示指針從當(dāng)前記錄開始移動(dòng)多少個(gè)記錄。的值大于零時(shí)指針往文件尾移動(dòng),小于零時(shí)指針往文件頭移動(dòng);當(dāng)缺省時(shí)表示1。 2菜單方法移動(dòng)指針打開“瀏覽”窗口后,選擇【表】【轉(zhuǎn)到記錄】菜單 3與指針及表相關(guān)的測(cè)試函數(shù) (1) 文件結(jié)束測(cè)試函數(shù) EOF格式:EOF()功能:測(cè)試指定工作區(qū)中表文件記錄指針是否指向文件結(jié)束位置(表文件

31、尾),表文件尾是指最后一條記錄得后面位置。若指針指向結(jié)束位置,函數(shù)值為邏輯真(.T.),否則函數(shù)值為假(.F.)。 (2) 文件起始測(cè)試函數(shù) BOF格式:BOF()功能:測(cè)試指定的工作區(qū)中表文件記錄指針是否指向起始位置,表文件起始位置在首記錄的前面,也稱為文件頭。若指針指向起始位置,函數(shù)值為邏輯真(.T.),否則為假(.F.)。 (3) 記錄號(hào)測(cè)試函數(shù) RECNO格式:RECNO()功能:給出指定的工作區(qū)中打開的數(shù)據(jù)表的當(dāng)前記錄號(hào)。 (4) 記錄總數(shù)測(cè)試函數(shù) RECCOUNT格式:RECCOUNT()功能:測(cè)試指定的工作區(qū)中數(shù)據(jù)表的記錄個(gè)數(shù)。 (5) 文件測(cè)試函數(shù) FILE格式:FILE( )

32、功能:測(cè)試指定的磁盤文件是否存在,若存在,函數(shù)值為邏輯真(.T.),否則函數(shù)值為假(.F.)。例如:?FILE(XSQK.DBF) (6) 記錄大小測(cè)試函數(shù) RECSIZE格式:RECSIZE()功能:測(cè)試指定的工作區(qū)中數(shù)據(jù)表記錄的長度。(7) 數(shù)據(jù)類型測(cè)試函數(shù) TYPE格式:TYPE ()功能:測(cè)試的數(shù)據(jù)類型。 (8) 檢索測(cè)試函數(shù) FOUND格式:FOUND ( )功能:測(cè)試執(zhí)行LOCATE、CONTINUE、SEEK和FIND等定位命令(見第三章)的定位是否成功,定位成功則FOUND ( )的函數(shù)值為.T.,否則為.F.。 (9) 記錄刪除測(cè)試函數(shù) DELETE格式:DELETED()功

33、能:測(cè)試指定的表,或在指定工作區(qū)中所打開的表,記錄指針?biāo)傅漠?dāng)前記錄是否有刪除標(biāo)記“*”。若有刪除標(biāo)記,函數(shù)值為真,否則為假。若缺省自變量,則測(cè)試當(dāng)前工作區(qū)中所打開的表。 (10) 表文件名測(cè)試函數(shù) DBF格式:DBF()功能:測(cè)試指定的表,或在指定工作區(qū)中所打開的表在磁盤的位置。若缺省自變量,則測(cè)試當(dāng)前工作區(qū)中所打開的表。2.3.5 表與表結(jié)構(gòu)的復(fù)制1結(jié)構(gòu)與數(shù)據(jù)的同時(shí)復(fù)制 COPY TO FIELDS FOR | WHILE 功能:將滿足條件的記錄按指定的結(jié)構(gòu)復(fù)制到新的表文件。說明:若不指定條件、范圍和字段表,則按原結(jié)構(gòu)復(fù)制所有記錄;的字段和排列順序決定了新表的字段和排列順序;缺省值為ALL

34、;當(dāng)被復(fù)制的表有對(duì)應(yīng)的.fpt文件時(shí),對(duì)應(yīng)的.fpt文件會(huì)同時(shí)被復(fù)制。復(fù)制時(shí)被復(fù)制的表必須是打開的。2只復(fù)制表文件結(jié)構(gòu)COPY STRUCTURE TO FIELDS 功能:按指定的字段表復(fù)制表結(jié)構(gòu)到一個(gè)新文件,若不指定字段表,則復(fù)制與當(dāng)前表相同的結(jié)構(gòu)。說明:復(fù)制時(shí)被復(fù)制的表必須是打開的;當(dāng)被復(fù)制的表有對(duì)應(yīng)的.fpt文件時(shí),對(duì)應(yīng)的.fpt文件會(huì)同時(shí)被復(fù)制。3只復(fù)制記錄數(shù)據(jù)COPY TO FIEL FOR | WHILE SDF | DELIMITED功能:按指定格式將表文件的記錄復(fù)制到文本文件(.TXT),若省略范圍、條件和字段表,則復(fù)制所有記錄值。說明:缺省值為ALL;復(fù)制時(shí)被復(fù)制的表必須是

35、打開的。SDF為標(biāo)準(zhǔn)數(shù)據(jù)格式, DELIMITED為限定符格式。4復(fù)制任何類型的文件COPY FILE TO 說明: 可以是任何類型, 和 的擴(kuò)展名不能省去;源表文件須是關(guān)閉的;當(dāng)被復(fù)制的表有對(duì)應(yīng)的.fpt文件時(shí),對(duì)應(yīng)的.fpt文件不會(huì)同時(shí)被復(fù)制,需要用另外一條命令進(jìn)行復(fù)制。5記錄數(shù)據(jù)復(fù)制生成數(shù)組COPY TO ARRAY 數(shù)組名 FIELD FOR | WHILE 功能:記錄數(shù)據(jù)傳送到二維數(shù)組,每個(gè)記錄對(duì)應(yīng)數(shù)組的一行。6復(fù)制生成排序表文件命令格式:SORT TO ON /A | /D /C ,字段2 /A | /D /C . FIELDS FOR|WHILE 功能:按指定的關(guān)鍵字,重新排列記

36、錄順序組成新文件(排序文件),原文件不變。說明:排序文件以關(guān)鍵字段值為序,從左到右依次序?yàn)榈谝?,第二?,順序;/D表示降序,缺省為升序;/C 不區(qū)分大小寫字母;只允許C,N,D,L四種類型作排序關(guān)鍵字段;若缺省范圍和條件,則對(duì)全部記錄排序;若不指定字段表,則排序文件與原文件結(jié)構(gòu)相同。 2.3.6 記錄的插入與追加1APEND命令2APPEND FROM命令格式1:APPEND FROM 表文件名 FIELDS FOR | WHILE 不選FIELDS 時(shí),源表中所有字段的數(shù)據(jù)都添加到當(dāng)前表,否則只添加中出現(xiàn)的字段;不選FOR | WHILE 時(shí),源表中所有的記錄都添加到當(dāng)前表,否則只添加源表

37、中滿足的記錄。格式2:APPEND FROM 文本文件 SDF | DELIMITED FIELD FOR | WHILE 文本文件為標(biāo)準(zhǔn)格式或限定格式文件,標(biāo)準(zhǔn)格式選SDF,否則選DELIMITED。格式3:APPEND FROM ARRAY 數(shù)組名 FIELD FOR | WHILE 3INSERT命令I(lǐng)NSERT命令可以在表的任意位置插入新的記錄,它的命令格式是:INSERT BEFORE BLANK如果不指定BEFORE則在當(dāng)前記錄之后插入一條新記錄,否則在當(dāng)前記錄之前插入一條新記錄。如果不指定BLANK則出現(xiàn)類似執(zhí)行APPEND命令時(shí)出現(xiàn)的界面,并以交互方式輸入記錄的值。否則在當(dāng)前記

38、錄之后(或之前)插入一條空白紀(jì)錄。2.3.7 記錄的刪除與恢復(fù)Visual FoxPro的記錄刪除分為邏輯刪除和物理刪除。邏輯刪除就是給記錄打上刪除標(biāo)記;物理刪除就是把打上刪除標(biāo)記的記錄從數(shù)據(jù)表中徹底刪除,或把表中的所有記錄全部徹底刪除而只保留表結(jié)構(gòu)。記錄的恢復(fù)就是把邏輯刪除標(biāo)記去掉。1記錄的邏輯刪除(1) 菜單方法與鼠標(biāo)單擊方法首先打開“瀏覽”窗口,然后從“表”菜單中選擇“刪除記錄” (2) 邏輯刪除命令邏輯刪除或置刪除標(biāo)記的命令是DELETE,常用格式如下:DELETE FOR | WHILE 2記錄的恢復(fù) (1) 菜單方法與鼠標(biāo)單擊方法首先打開“瀏覽”窗口,然后從“表”菜單中選擇“恢復(fù)記錄”。恢復(fù)記錄也可以在“瀏覽”窗口中單擊記錄左邊刪除標(biāo)記區(qū)的刪除標(biāo)記。(2) 恢復(fù)命令恢復(fù)邏輯刪除記錄的命令是RECAL

溫馨提示

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

評(píng)論

0/150

提交評(píng)論