




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第2章 自由表的基本操作2.1 Visual FoxPro的語言基礎(chǔ)2.2 自由表的建立與修改2.3 自由表的維護本章要點2.1.1 數(shù)據(jù)類型數(shù)據(jù)類型一旦被定義,就確定了其存儲方式和使用方式。1字符型字符型數(shù)據(jù)描述不具有計算能力的文字?jǐn)?shù)據(jù)類型。字符型數(shù)據(jù)(Character)是由漢字和英文字符、數(shù)字字符、空格及其他專用字符,使用時必須用定界符雙引號(“”),單引號( ) 或中括號( )括起來。這里的單引號、雙引號或方括號都是西文的標(biāo)點符號,稱為定界符。2.1 Visual FoxPro的語言基礎(chǔ)2數(shù)值型數(shù)值型數(shù)據(jù)用來表示一個數(shù)量的大小,數(shù)值型數(shù)據(jù)通??杉毞譃閿?shù)值型,浮點型,雙精度型,整型和貨幣
2、型五種類型。浮點型數(shù)據(jù)(Float)是數(shù)值型數(shù)據(jù)的一種,與數(shù)值型數(shù)據(jù)完全等價。浮點型數(shù)據(jù)只是在存儲形式上采取浮點格式。雙精度型數(shù)據(jù)(Double)是更高精度的數(shù)值型數(shù)據(jù)。它只用于數(shù)據(jù)表中的字段類型的定義,并采用固定長度浮點格式存儲。整型數(shù)據(jù)(Integer)是不包含小數(shù)點部分的數(shù)值型數(shù)據(jù)。它只用于數(shù)據(jù)表中的字段類型的定義。整型數(shù)據(jù)以二進制形式存儲。貨幣型(Currency)數(shù)據(jù)用來表示貨幣值,其書寫格式與數(shù)值型數(shù)據(jù)類似,但要加上一個前置的符號($)。貨幣數(shù)據(jù)在存儲和計算時,采用4位小數(shù)。3日期型日期型數(shù)據(jù)(Date)是用于表示日期的數(shù)據(jù),用默認格式mm/dd/yyyy來表示。其中mm代表月,d
3、d代表日,yyyy代表年,存儲長度固定為8位。4日期時間型日期時間型數(shù)據(jù)(DateTime)是描述日期和時間的數(shù)據(jù),其默認格式為mm/dd/yyyy hh:mm:ss。其中yyyy代表年,前兩個mm代表月,dd代表日,hh代表小時,后兩個mm代表分鐘,ss代表秒,存儲長度固定為8位。5邏輯型邏輯型數(shù)據(jù)(Logic)是描述客觀事物真假的數(shù)據(jù),用于表示邏輯判斷結(jié)果。邏輯型數(shù)據(jù)只有真(.T.)和假(.F.)兩個值,存儲長度固定為1位。6備注型備注型數(shù)據(jù)(Memo)用于存放較長的字符型數(shù)據(jù)類型,可以把它看成是字符型數(shù)據(jù)的特殊形式。7通用型通用型數(shù)據(jù)(General)是用于存儲OLE對象的數(shù)據(jù)。通用型數(shù)
4、據(jù)中的OLE對象可以是電子表格、文檔、圖片等。它只用于數(shù)據(jù)表中的字段類型的定義。 2.1.2 數(shù)據(jù)存儲數(shù)據(jù)輸入、輸出是通過數(shù)據(jù)的存儲設(shè)備完成的。數(shù)據(jù)可以存入到字段、記錄和對象中。我們把這些供數(shù)據(jù)存儲的常量、變量、數(shù)組、字段、記錄和對象稱為數(shù)據(jù)存儲容器。常量、內(nèi)存變量、函數(shù)以及表達式的類型包括字符型、數(shù)值型、貨幣型、邏輯型、日期型和日期時間型等6種。1常 量在數(shù)據(jù)處理過程中其值不發(fā)生變化的量叫常量。(1) 數(shù)值型常量數(shù)值型常量也就是常數(shù),用來表示一個數(shù)量的大小,由數(shù)字09、小數(shù)點和正負號構(gòu)成。例如:112、3.145、-6.22。(2) 貨幣型常量貨幣型常量用來表示貨幣值,其書寫格式與數(shù)值型常量
5、類似,但要加上一個前置的符號($)。例如,常量$123.456789。(3) 字符型常量字符型常量也稱為字符串,許多常量都有定界符。注意,不包含任何字符的字符串( )叫空串。空串與包含空格的字符串( )不同。(4) 日期型常量日期型常量的定界符是一對花括號。 傳統(tǒng)的日期格式系統(tǒng)默認的日期型數(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) 日期時間型常量日期時間型常量包括日期和時間兩部分內(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ù)只有邏輯真和邏輯假兩個值。邏輯真的常量表示形式有:.T. ,.t.
7、 ,.Y.和.y.。邏輯假的常量表示形式有:.F. ,.f. ,.N.和.n.。2變 量變量是在命令操作、程序運行過程中其值可以變化的量。變量分為字段變量和內(nèi)存變量兩大類。內(nèi)存變量:1. 以字母、漢字、下劃線開頭;2. 由字母、漢字、數(shù)字、下劃線組成;3. 至多128個字符;4. 不可與系統(tǒng)保留字同名。 字段變量:1. 以字母、漢字開頭;2. 由字母、漢字、數(shù)字、下劃線組成;3. 至多10個字符;4. 不可與系統(tǒng)保留字同名。 內(nèi)存變量又分為簡單內(nèi)存變量和系統(tǒng)內(nèi)存變量,系統(tǒng)內(nèi)存變量是Visual FoxPro系統(tǒng)運行時自動建立、使用的,其名字都是以下劃線開頭,例如 _dos,_pwait等。(1
8、) 簡單內(nèi)存變量每一個變量都有一個名字,可以通過變量名訪問變量。簡單內(nèi)存變量賦值不必事先定義,例如:X=10(2) 數(shù)組數(shù)組是內(nèi)存中連續(xù)的一片存儲區(qū)域,是按一定順序排列的一組內(nèi)存變量,數(shù)組中的各個變量稱為數(shù)組元素,每個數(shù)組元素可通過數(shù)組名及相應(yīng)的下標(biāo)來訪問。每個數(shù)組元素相當(dāng)于一個簡單變量,可以給各個元素分別賦值。在Visual FoxPro中,一個數(shù)組中各個元素的數(shù)據(jù)類型可以不同。 創(chuàng)建數(shù)組的兩種命令格式為:DIMENSION ( , , )DECLARE ( , ,)例如:DECLARE aa(5),bb(2,3)3內(nèi)存變量常用命令(1) 內(nèi)存變量的賦值格式1:STORE表達式TO變量名表格
9、式:內(nèi)存變量名表達式功能:格式1計算表達式的值并賦給一個或多個內(nèi)存變量;格式2只能給一個變量賦值。(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、的擴展名為.men 。(5) 內(nèi)存變量的恢復(fù)格式:RESTORE FROM ADDITIVE功能:把內(nèi)存變量文件中的變量送回內(nèi)存,不選ADDITIVE則送回之前先清除內(nèi)存中的內(nèi)存變量。4字段變量字段變量就是指數(shù)據(jù)表中已定義的任意一個字段。字段變量的數(shù)據(jù)類型與該字段定義的類型一致。字段變量的類型有數(shù)值型、浮點型、整型、雙精度型、字符型、邏輯型、日期型、時間日期型、備注型和通用型等。2.1.3 函數(shù)函數(shù)名(自變量表)自變量表可以是一個變量或多個自變量,也可以為空,即:函數(shù)名(),此時函數(shù)名后面的一對圓括號不能省略。函數(shù)按功能可劃分為:數(shù)學(xué)函數(shù)、字符串函數(shù)、日期和時間函數(shù)、類型轉(zhuǎn)換函數(shù)、測試函數(shù)。1
11、數(shù)學(xué)函數(shù)(數(shù)值函數(shù))(1)求絕對值函數(shù)ABS格式:ABS( )(2)求整函數(shù)INT格式:INT( )(3)四舍五入函數(shù)ROUND格式:ROUND( , )(4) 指數(shù)函數(shù)EXP、自然對數(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ù)值為零;若 的值含有兩個以上的 的值,則函數(shù)給出第一個值的位置。大小寫
12、字母在檢索中視為不同。(2)取子串函數(shù)SUBSTR格式:SUBSTR ( , , )功能:對 從給定的 開始截取指定長度的字符,生成一個新的字符串;說明:若無或大于后面剩余的字符個數(shù),則截至末尾。若 大于字符串表達式長度,則輸出空串。(3)取左子串函數(shù)LEFT格式:LEFT ( , )功能:LEFT 從 左邊截取由 的值指定的字符,生成一個新的字符串。(4) 取右子串函數(shù)RIGHT格式:RIGHT ( , )(5) 宏代換函數(shù) 格式:字符型內(nèi)存變量.功能:替換出的值。即將值的定界符去掉,使其可能代表一個變量名、文件名、命令、表達式等。說明:在表達式中使用該函數(shù)時,如果函數(shù)中的字符型內(nèi)存變量名與
13、其后面的字符無明顯分界時,應(yīng)使用圓點將它們隔開。例如: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(,)功能:從指定位置開始,用替換中指定的字符串。說明:中的字符個數(shù)與中的字符個數(shù)可以不等。如果為0,則插入。如果為空字符串,則刪除中指定字符。3日期和時間函數(shù)(1)系統(tǒng)日期和時間函數(shù)DATE| TIME|DATeTIME格式:DATE ()TIME()DATETIME( )功能:DATE()返回當(dāng)前系統(tǒng)日期,函數(shù)值為日期型;TIM
15、E()以24小時制格式返回當(dāng)前系統(tǒng)時間,函數(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ù)點組成,則轉(zhuǎn)換成相應(yīng)的數(shù)值,但只保留兩位
16、小數(shù),其余小數(shù)四舍五入。若由非數(shù)字字符打頭,則轉(zhuǎn)換為0.00。若由數(shù)字字符打頭,且混有非數(shù)字字符時,則轉(zhuǎn)換到第一個非數(shù)字字符。例如:?VAL(1234.5678) ,VAL(FoxPro) , VAL(1234FOX.5678)主屏幕顯示:1234.57 0.00 1234.00(2) 數(shù)值轉(zhuǎn)換為字符函數(shù)STR格式:STR( , , )功能:把 的運算結(jié)果轉(zhuǎn)換為指定長度的字符串。說明:應(yīng)包括小數(shù)點在內(nèi),不指定長度時,系統(tǒng)默認整數(shù)位10位。若指定小于整數(shù)位數(shù),則用一串*號表示數(shù)據(jù)溢出;若為0,則返回空字符串。若省略,則只轉(zhuǎn)換整數(shù)位;若指定小數(shù)位,則對下一位四舍五入。例如: ?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時,按mm/dd/yy格式轉(zhuǎn)換;選用,1時,按yyyymmdd格式轉(zhuǎn)換。 (5) ASCII碼值轉(zhuǎn)換為字符函數(shù)CHR格式:CHR( )功能:將所表示的ASCII碼值轉(zhuǎn)換為相應(yīng)的字符。(6) 字符轉(zhuǎn)換成ASCII碼值函數(shù)ASC格式:A
18、SC( )功能:返回最左邊的一個字符的ASCII碼值。 5測試函數(shù)與數(shù)據(jù)表有關(guān)的測試函數(shù),見 “2.3 自由表的維護”。(1) 值域測試函數(shù)BETWEEN格式:BETWEEN(,)功能:判斷一個表達式的值是否介于另外兩個表達式的值之間。當(dāng)值大于等于且小于等于時,函數(shù)值為邏輯真(.T.),否則函數(shù)只為邏輯假(.F.)。(2) 數(shù)據(jù)類型測試函數(shù)VARTYPE格式:VARTYPE()功能:測試的類型,返回一個大寫字母,函數(shù)值為字符型。若是一個數(shù)組,則根據(jù)第一個數(shù)組元素的類型返回字符串。(3) 條件測試函數(shù)IIF格式:IIF(,)功能:測試的值,若為邏輯真.T.,函數(shù)返回的值,若為邏輯假.F.,函數(shù)返
19、回的值。和的類型不要求相同。 2.1.4 表達式表達式是由常量、變量和函數(shù)等通過特定的運算符連接起來的式子。1數(shù)值表達式2字符表達式字符表達式由字符串運算符將字符型數(shù)據(jù)連接起來形成,其運算結(jié)果仍然是字符型數(shù)據(jù)。字符串運算符有以下兩個,它們的優(yōu)先級相同:前后兩個字符串首尾連接形成一個新的字符串。:連接前后兩個字符串,并將前字符串的尾部空格移到合并后的新字符串尾部。 3日期時間表達式日期時間表達式中可以使用的運算符也有和兩個。4關(guān)系表達式關(guān)系表達式通常也稱為比較表達式,其運算結(jié)果為邏輯型常量。關(guān)系成立時,表達式的結(jié)果為.T. ,反之,表達式結(jié)果為.F. 。格式為:運算符=和$僅適用于字符型數(shù)據(jù)。其
20、他運算符適用于任何類型的數(shù)據(jù)。SET EXACT ON/OFF 【工具】【選項】菜單 5邏輯表達式 邏輯表達式由邏輯運算符將邏輯型數(shù)據(jù)連接起來而形成,其運算結(jié)果仍然是邏輯型數(shù)據(jù)。邏輯運算符有三個:.NOT.或?。ㄟ壿嫹牵?AND.(邏輯與)以及.OR.(邏輯或)。也可以省略兩端的點(省略時邏輯運算符兩邊必須有空格),寫成NOT、AND、OR。優(yōu)先級順序為:NOT,AND,OR。 6. 運算符優(yōu)先級在每一類運算符中,各個運算符有一定的運算優(yōu)先級。而不同類型的運算也可能出現(xiàn)在同一個表達式中,這時它們的運算優(yōu)先級順序為:先執(zhí)行算術(shù)運算符,字符串運算符和日期時間運算符,其次執(zhí)行關(guān)系運算符,最后執(zhí)行邏
21、輯運算符。 2.2 自由表的建立與修改數(shù)據(jù)表簡稱表,在Visual FoxPro系統(tǒng)中,把包含在數(shù)據(jù)庫中的表稱為數(shù)據(jù)庫表,并把不包含在數(shù)據(jù)庫而獨立存在的表稱為自由表。自由表可以添加在數(shù)據(jù)庫中而成為數(shù)據(jù)庫表,數(shù)據(jù)庫表也可以從數(shù)據(jù)庫中移出而成為自由表。 2.2.1 表結(jié)構(gòu)的建立1設(shè)計表結(jié)構(gòu)(1) 字段名(2) 字段類型和寬度Xsqk.dbfcj.dbfXk.dbf2利用表設(shè)計器創(chuàng)建表結(jié)構(gòu)用表設(shè)計器定義表結(jié)構(gòu)的操作方法常有下面三種。(1)使用菜單方法從Visual FoxPro 系統(tǒng)的主菜單開始,打開“文件”菜單,選擇“新建”(2)使用命令的方法 建立數(shù)據(jù)表的命令是: CREATE |.dbf例如要
22、建立數(shù)據(jù)表xsqk.dbf時可使用命令:CREATE XSQK命令執(zhí)行后彈出表設(shè)計器,其它操作與 “使用菜單方法”相同。(3) 在項目管理器中創(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í)行【表】【追加記錄】菜單(也可以按+鍵),即在瀏覽器尾部會增加一條空白記錄。2.2.3 備注字段和通用型字段數(shù)據(jù)的輸入和修改備注型數(shù)據(jù)顯示為“Memo”或“memo”,其中“Memo”表示對應(yīng)的記錄的備注字段已經(jīng)輸入了數(shù)據(jù),而“memo”表示該字段中沒有備注內(nèi)容。要為某記錄的備注字段輸入數(shù)據(jù)或修改其中的內(nèi)容,可雙擊該記錄的備注字段,進入備注字段的編輯窗口,編輯完后按+或單擊窗口的“關(guān)閉”按鈕結(jié)束并保存輸入的新內(nèi)容;按結(jié)束并不保存輸入的新內(nèi)容。 2.2.4 表結(jié)構(gòu)的修改 (1)使用菜單方法執(zhí)行【顯示】【表設(shè)計器】菜單命令(2)使用命令方法打開表設(shè)計器的命令是:MODIFY STR
24、UCTURE2.3 自由表的維護 2.3.1 VISUAL FOXPRO命令結(jié)構(gòu)及常用子句VFP命令格式: . & 注釋部分例如顯示命令LIST的格式: LIST FOR WHILE OFF TO & 注釋1命令動詞表示命令執(zhí)行的操作,是命令中必不可少的部分。2語句體語句體由一系列短語構(gòu)成,可使用的常用子句(短語)如下所示:(1) FIELDS 用于指定操作的字段,中有多個字段時,字段名之間用逗號分隔。 例如命令:use xsqklist fields 姓名,身高 & 顯示xsqk.dbf表的“姓名”和“身高”兩列數(shù)據(jù)(2) FOR 對滿足條件的所有記錄進行操作。例如命令:use xsqkli
25、st for 身高1.7 & 顯示xsqk.dbf表中身高大于1.7米的所有記錄(3) WHILE 對滿足條件的記錄進行操作。從表中的當(dāng)前正在使用的記錄開始向下順序判斷,當(dāng)遇到第一個不滿足條件的記錄時,停止命令執(zhí)行,而不管其后是否還有滿足條件的記錄。(4) 表示記錄的執(zhí)行范圍,可以是ALL, NEXT ,RECCORD , REST幾項中之一,其中的是數(shù)值型表達式。系統(tǒng)對表中的記錄是逐條進行處理的。Visual FoxPro為每一個打開的表設(shè)置了一個內(nèi)部使用的記錄指針,指向正在被操作的記錄,該記錄稱為當(dāng)前記錄。記錄指針的作用是標(biāo)識表的當(dāng)前記錄。ALL:表示全部記錄; NEXT :表示從當(dāng)前記錄
26、開始的以下n條記錄; RECORD :表示第n號記錄; REST:表示從當(dāng)前記錄到最后一條記錄。 (5) TO 表示操作結(jié)果的輸出去向。3命令書寫格式說明在書寫命令格式時,還用到一些符號,這些符號只是在書寫時使用,實際操作時并不輸入。這些符號以及它們所表示的意義如下: :表示其中內(nèi)容為必選項; :表示其中內(nèi)容為可選項; | :表示其兩側(cè)項目只能任選一項; :表示同類項的多次重復(fù)。 4命令的書寫與使用規(guī)則在輸入命令時,應(yīng)注意下面規(guī)則:每條命令以命令動詞開始,以回車鍵結(jié)束,命令中各短語的順序是任意的。命令動詞、短語中的英文單詞及函數(shù)名均可縮寫為前四個字符,大小寫可混用。命令動詞、語句體及其各短語之
27、間均以空格相隔。一行只能寫一個命令,不能將兩個命令寫在同一行。命令一行寫不下時,可以由系統(tǒng)自然換行或在行尾加分號(;),回車強制換行。命令行的長度小于或等于2048個字符。 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ù)瀏覽和修改的操作打開瀏覽器的方法有多種,常用的方法有:首先打開要操作的表,再執(zhí)行菜單【顯示】【瀏覽】。在項目管理器中選擇要操作的表,然后單擊“瀏覽”命令按鈕。在命令方式下,首先用USE命令打開要操作的表,然后鍵入BROWSE命令。BROWSE命令的格式如下:Browse Fields For 交互式地對當(dāng)前表記錄進行編輯的命令: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 記錄指針的移動對于一個打開的表文件來說,系統(tǒng)對表中的記錄是逐條進行處理的,表剛打開時指針是指向表中最上面的記錄的。1命令方法移動指針命令方法移動指針需要了解表文件的邏輯結(jié)構(gòu),表最上面的記錄是首記錄,記為TOP;最下面的記錄是尾記錄,記為BOTTOM;在第一個記錄之前有一個文件起始標(biāo)識,稱為文件首(Beginning of File,簡稱BOF);在最后一個記錄的后面有一個文件結(jié)束標(biāo)識,稱為文件尾(End of File,簡稱EOF)。移動指針就是要把指針定位在某個記錄上。 (1) GO 命令GO 命令是絕對定位命令,它將記錄指針定位于
30、指定位置。GO命令有如下兩種格式:GO TO TOP | BOTTOM GOTO GO TOP命令把指針定位在首記錄;GO BOTTOM命令把指針定位在末記錄; (2) SKIP命令SKIP命令是相對定位命令,是相對于當(dāng)前記錄進行定位的命令。命令格式:SKIP 的值取正或負的整數(shù),表示指針從當(dāng)前記錄開始移動多少個記錄。的值大于零時指針往文件尾移動,小于零時指針往文件頭移動;當(dāng)缺省時表示1。 2菜單方法移動指針打開“瀏覽”窗口后,選擇【表】【轉(zhuǎn)到記錄】菜單 3與指針及表相關(guān)的測試函數(shù) (1) 文件結(jié)束測試函數(shù) EOF格式:EOF()功能:測試指定工作區(qū)中表文件記錄指針是否指向文件結(jié)束位置(表文件
31、尾),表文件尾是指最后一條記錄得后面位置。若指針指向結(jié)束位置,函數(shù)值為邏輯真(.T.),否則函數(shù)值為假(.F.)。 (2) 文件起始測試函數(shù) BOF格式:BOF()功能:測試指定的工作區(qū)中表文件記錄指針是否指向起始位置,表文件起始位置在首記錄的前面,也稱為文件頭。若指針指向起始位置,函數(shù)值為邏輯真(.T.),否則為假(.F.)。 (3) 記錄號測試函數(shù) RECNO格式:RECNO()功能:給出指定的工作區(qū)中打開的數(shù)據(jù)表的當(dāng)前記錄號。 (4) 記錄總數(shù)測試函數(shù) RECCOUNT格式:RECCOUNT()功能:測試指定的工作區(qū)中數(shù)據(jù)表的記錄個數(shù)。 (5) 文件測試函數(shù) FILE格式:FILE( )
32、功能:測試指定的磁盤文件是否存在,若存在,函數(shù)值為邏輯真(.T.),否則函數(shù)值為假(.F.)。例如:?FILE(XSQK.DBF) (6) 記錄大小測試函數(shù) RECSIZE格式:RECSIZE()功能:測試指定的工作區(qū)中數(shù)據(jù)表記錄的長度。(7) 數(shù)據(jù)類型測試函數(shù) TYPE格式:TYPE ()功能:測試的數(shù)據(jù)類型。 (8) 檢索測試函數(shù) FOUND格式:FOUND ( )功能:測試執(zhí)行LOCATE、CONTINUE、SEEK和FIND等定位命令(見第三章)的定位是否成功,定位成功則FOUND ( )的函數(shù)值為.T.,否則為.F.。 (9) 記錄刪除測試函數(shù) DELETE格式:DELETED()功
33、能:測試指定的表,或在指定工作區(qū)中所打開的表,記錄指針?biāo)傅漠?dāng)前記錄是否有刪除標(biāo)記“*”。若有刪除標(biāo)記,函數(shù)值為真,否則為假。若缺省自變量,則測試當(dāng)前工作區(qū)中所打開的表。 (10) 表文件名測試函數(shù) DBF格式:DBF()功能:測試指定的表,或在指定工作區(qū)中所打開的表在磁盤的位置。若缺省自變量,則測試當(dāng)前工作區(qū)中所打開的表。2.3.5 表與表結(jié)構(gòu)的復(fù)制1結(jié)構(gòu)與數(shù)據(jù)的同時復(fù)制 COPY TO FIELDS FOR | WHILE 功能:將滿足條件的記錄按指定的結(jié)構(gòu)復(fù)制到新的表文件。說明:若不指定條件、范圍和字段表,則按原結(jié)構(gòu)復(fù)制所有記錄;的字段和排列順序決定了新表的字段和排列順序;缺省值為ALL
34、;當(dāng)被復(fù)制的表有對應(yīng)的.fpt文件時,對應(yīng)的.fpt文件會同時被復(fù)制。復(fù)制時被復(fù)制的表必須是打開的。2只復(fù)制表文件結(jié)構(gòu)COPY STRUCTURE TO FIELDS 功能:按指定的字段表復(fù)制表結(jié)構(gòu)到一個新文件,若不指定字段表,則復(fù)制與當(dāng)前表相同的結(jié)構(gòu)。說明:復(fù)制時被復(fù)制的表必須是打開的;當(dāng)被復(fù)制的表有對應(yīng)的.fpt文件時,對應(yīng)的.fpt文件會同時被復(fù)制。3只復(fù)制記錄數(shù)據(jù)COPY TO FIEL FOR | WHILE SDF | DELIMITED功能:按指定格式將表文件的記錄復(fù)制到文本文件(.TXT),若省略范圍、條件和字段表,則復(fù)制所有記錄值。說明:缺省值為ALL;復(fù)制時被復(fù)制的表必須是
35、打開的。SDF為標(biāo)準(zhǔn)數(shù)據(jù)格式, DELIMITED為限定符格式。4復(fù)制任何類型的文件COPY FILE TO 說明: 可以是任何類型, 和 的擴展名不能省去;源表文件須是關(guān)閉的;當(dāng)被復(fù)制的表有對應(yīng)的.fpt文件時,對應(yīng)的.fpt文件不會同時被復(fù)制,需要用另外一條命令進行復(fù)制。5記錄數(shù)據(jù)復(fù)制生成數(shù)組COPY TO ARRAY 數(shù)組名 FIELD FOR | WHILE 功能:記錄數(shù)據(jù)傳送到二維數(shù)組,每個記錄對應(yīng)數(shù)組的一行。6復(fù)制生成排序表文件命令格式:SORT TO ON /A | /D /C ,字段2 /A | /D /C . FIELDS FOR|WHILE 功能:按指定的關(guān)鍵字,重新排列記
36、錄順序組成新文件(排序文件),原文件不變。說明:排序文件以關(guān)鍵字段值為序,從左到右依次序為第一,第二,.,順序;/D表示降序,缺省為升序;/C 不區(qū)分大小寫字母;只允許C,N,D,L四種類型作排序關(guān)鍵字段;若缺省范圍和條件,則對全部記錄排序;若不指定字段表,則排序文件與原文件結(jié)構(gòu)相同。 2.3.6 記錄的插入與追加1APEND命令2APPEND FROM命令格式1:APPEND FROM 表文件名 FIELDS FOR | WHILE 不選FIELDS 時,源表中所有字段的數(shù)據(jù)都添加到當(dāng)前表,否則只添加中出現(xiàn)的字段;不選FOR | WHILE 時,源表中所有的記錄都添加到當(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命令時出現(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等.壓縮文件請下載最新的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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 分析倉庫管理中的常見問題計劃
- 秋季文史課程教學(xué)計劃
- 提升教學(xué)質(zhì)量計劃
- 安全生產(chǎn)與健康管理方案計劃
- 樹立良好的生活部形象方針計劃
- 2025年陶瓷生產(chǎn)加工機械項目合作計劃書
- 美術(shù)教師職業(yè)素養(yǎng)提升計劃
- 從數(shù)據(jù)中尋找倉儲優(yōu)化機會的總結(jié)計劃
- 財務(wù)合規(guī)性的強化措施計劃
- 可行性研究與市場定位計劃
- 電力安全一把手講安全課
- 小學(xué)三年級數(shù)學(xué)口算天天練-A4紙直接打印
- 2025年億達商學(xué)院成立儀式及論壇經(jīng)驗總結(jié)(三篇)
- (2025)駕照C1證考試科目一必考題庫及參考答案(包過版)
- 2025年湖南理工職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 罕見病診治與病例管理制度
- 幼兒園開學(xué)前教職工安全培訓(xùn)
- 2024年新疆區(qū)公務(wù)員錄用考試《行測》真題及答案解析
- 2024年單招職業(yè)技能測試題庫及參考答案(基礎(chǔ)題)
- 數(shù)學(xué)原來這么有趣
- 拘留所教育課件02
評論
0/150
提交評論