![VFP-數據-表達式-函數_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/262d5032-e58c-4c3d-908b-1dbbeada2d9d/262d5032-e58c-4c3d-908b-1dbbeada2d9d1.gif)
![VFP-數據-表達式-函數_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/262d5032-e58c-4c3d-908b-1dbbeada2d9d/262d5032-e58c-4c3d-908b-1dbbeada2d9d2.gif)
![VFP-數據-表達式-函數_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/262d5032-e58c-4c3d-908b-1dbbeada2d9d/262d5032-e58c-4c3d-908b-1dbbeada2d9d3.gif)
![VFP-數據-表達式-函數_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/262d5032-e58c-4c3d-908b-1dbbeada2d9d/262d5032-e58c-4c3d-908b-1dbbeada2d9d4.gif)
![VFP-數據-表達式-函數_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/16/262d5032-e58c-4c3d-908b-1dbbeada2d9d/262d5032-e58c-4c3d-908b-1dbbeada2d9d5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、段云娜1、掌握六種常量的特點及書寫規(guī)則。2、掌握變量的分類及如何向變量賦值。3、了解一維數組及二維數組的定義及賦值語句。4、熟記表達式的概念及分類,掌握運算符的優(yōu)先級。5、掌握函數的組成、分類及意義、熟記常用函數的拼寫。6、熟練掌握如何建立和修改數據表的表結構。7、熟練掌握表數據的輸入方法。8、掌握數據表的維護方法。9、掌握VF命令的格式及書寫規(guī)則數據是計算機程序處理的對象,也是運算的結果。數據的類型決定了其在計算機中的存儲方式和使用方式。在Visual FoxPro中,將數據分為七種類型: 字符型數據是通常表示文本類型的信息。它由中/英文字符、數字、空格和各種專用符號組成,長度是0254個字
2、符。用定界符括起來的字符串為字符型常量。如:“123”、文化文化、%abc。數值型數據用來表示數量的大小,包括五種類型:數值型(Numeric):最大長度20位,包括數字、正負號和小 數點,可以使用科學記數法形式書寫。浮點型 (Float) : 與數值型數據等價,以浮點格式存儲雙精度型(Double):高精度數值型數據,只用于表中類型表中類型。 浮點格式存儲整型 (Interger) : 不包含小數部分的數值型數據,以二進 制形式存儲貨幣型(Currency):用來表示貨幣值,格式與數值型類似 但數值前要加$ $符號。以4位小數存儲 表示日期,默認格式 mm/dd/yy,存儲長度固定8位。 例
3、如:09/05/06 存儲長度固定為8位,默認格式mm/dd/yyyy hh:mm:ss例如例如: 09/05/2006 12:22:54 描述客觀事物的真假,表示邏輯判斷結果。邏輯數據只有真真(.t.)(.t.)和假假(.f.)(.f.)兩個值,存儲長度為1 1位 用于存放較長的字符型數據。 只用于表中字段,字段長度固定為4位,備注型數據沒有長度限制,僅受限于現(xiàn)有的磁盤空間,它的數據內容存放在與數據表同名的備注文件中。表中只存放一個指向這個備注文件的指針。 存儲OLE對象,可以是電子表格、文檔、圖片等,只能用于數據表中,數據存儲方式同備注型數據相同。 OLE(Object Linking a
4、nd Embedding對象連接與嵌入)數據容器 :用戶存放數據的地方,包括常量、變量、數組、記錄、對象。(1 1)數值型常量:)數值型常量:由0-90-9、小數點小數點和正負號正負號構成。 例:112、3.14125、-7.34、5.123E12(2 2)貨幣型常量:)貨幣型常量:數值前加“$ $”符號。 如:$123.473(3 3)字符型常量:)字符型常量:即字符串。定界符不不能是全角;左右必須匹配匹配;同一種定界符不能嵌套同一種定界符不能嵌套。 例:“計算機”、 “123” 、 、(空串)(4)日期型常量:包括年、月、日三部分,用一對花括號花括號括起來,各部分之間用分隔符分隔符分隔,系
5、統(tǒng)默認分隔符為“/ /”,其它還有“- -”、“. .”和空格空格。日期型常量有傳統(tǒng)和嚴格兩種格式日期型常量有傳統(tǒng)和嚴格兩種格式:n 傳統(tǒng)的日期格式傳統(tǒng)的日期格式月、日各2位,年份2位或4位,命令set century on/offset century on/off控制;v 系統(tǒng)默認美國日期格式系統(tǒng)默認美國日期格式mm/dd/yy, mm/dd/yy, 由命令由命令set date toset date to控制控制例如:set date to ymdymd 06/02/27set date to dmydmy 27/02/06 例如:set century on 09/01/2006 se
6、t century off 09/01/062003/09/01set century offset century offset mark to set mark to “. .”set date to mdyset date to mdy?2003-09-01?2003-09-01嚴格的日期格式格式:yyyy-mm-dd yyyy-mm-dd 說明:不受set date影響,必須有脫字符、年份必須4 位,年月日順序不能改變; 在任何情況任何情況下使用,而傳統(tǒng)格式只能在執(zhí)行如下 命令后才能使用: set strictdate to 0set strictdate to 0 若只使用嚴格日期格
7、式,則執(zhí)行如下命令: set strictdate to 1set strictdate to 1 可用命令set mark to set mark to 設定日期分隔符例:例: set century on set century on set mark to ( set mark to (默認分隔符默認分隔符) ) set date to ymd set date to ymd ?2003-09-01 ?2003-09-0109.01.03(5) (5) 日期時間型常量日期時間型常量 格式:,。 說明:日期部分也有傳統(tǒng)和嚴格兩種格式 時間部分的格式為:hh:mm:ssa | p。 例:SE
8、T MARK TO ? 2003-09-01 11:10:10, 2003-09-01 15:10:10 (6) (6) 邏輯型常量邏輯型常量 邏輯型數據只有邏輯真和邏輯假兩個值。 邏輯真的常量:.T. ,.t. ,.Y.和.y.。 邏輯假的常量:.F. ,.f. ,.N.和.n. 舉例:?3445 ?3445 ?123=123 ?123=12309/01/03 11:10:10 AM 09/01/03 3:10:10 PM.F.T. 分為字段變量和內存變量兩大類。 可以存不同類型不同類型數據。 命名規(guī)則u以字母、漢字、下劃線開頭u后跟字母、漢字、下劃線、數字,長度不超過128個字符u變量命名
9、一般不與系統(tǒng)保留字同名u建議第一個字母采用小寫并能表明該變量的類型 例:cNamecName、n n工資、工資、nValnVal、dtimedtime、c c姓名姓名 分類:簡單內存變量簡單內存變量和系統(tǒng)內存變量系統(tǒng)內存變量。 簡單內存變量簡單內存變量直接賦值,不必事先定義。 例:X=10 給變量X賦值為10 系統(tǒng)內存變量系統(tǒng)內存變量由VFP系統(tǒng)運行時自動建立、使用,名字都以下劃線開頭,例:_dos,_screen等。 說明:說明:內存變量可與字段變量重名,這時訪問變量時,內存變量可與字段變量重名,這時訪問變量時, 系統(tǒng)會優(yōu)先認為是字段變量,因此若訪問內存變系統(tǒng)會優(yōu)先認為是字段變量,因此若訪問
10、內存變 量時,必須在內存變量前加前綴量時,必須在內存變量前加前綴M.M.或或M-M-。 數組元素可通過數組名及相應的下標來訪問。 例: a( (4) ) 每個數組元素相當于一個簡單內存變量,可以給各個元素 分別賦值。在Visual FoxPro中,一個數組中各個元素的數據類型可以不同。 例:a(1)=34 a(2)=“數組的概念” 數組在使用前必須先定義先定義,說明是一維還是二維數組,以及數組名和數組大小(下標從1開始)。數組定義后,每個數據元素的初值自動為.F.F.。定義數組:定義數組: DIMENSION DIMENSION ( ,)2,) DECLARE DECLARE ( ,2,) 使
11、用數組元素應注意下列問題:v 一切使用簡單內存變量的地方,均可使用數組元素;一切使用簡單內存變量的地方,均可使用數組元素;v 數組元素的數據類型由所賦值的數據類型決定;數組元素的數據類型由所賦值的數據類型決定;v 一個數組中各元素的數據類型可以相同,也可以不同;一個數組中各元素的數據類型可以相同,也可以不同;v 可以使用一維數組方式訪問二維數組;可以使用一維數組方式訪問二維數組; 例:bb(1)bb(1,1)、bb(4)bb(2,1)例:例:DECLARE aa(5),bb(2,3)DECLARE aa(5),bb(2,3) 創(chuàng)建兩個數組創(chuàng)建兩個數組aaaa和和bbbb aa aa有有5 5個
12、數組元素:個數組元素:aa(1)aa(1)、aa(2)aa(2)、aa(3)aa(3)、aa(4)aa(4)、aa(5)aa(5) bb bb有有6 6個數組元素:個數組元素:bb(1,1)bb(1,1)、bb(1,2)bb(1,2)、bb(1,3)bb(1,3) bb(2,1) bb(2,1)、bb(2,2)bb(2,2)、bb(2,3)bb(2,3)格式1: STORE 表達式 TO 變量名表格式: 內存變量名 表達式功能:格式1計算表達式的值并賦給一個或多個內存變量 格式2只能給一個變量賦值說明:給變量賦值時,如變量不存在,則自動建立 可以通過對內存變量重新賦值來改變其內容和類型舉例:舉
13、例:aa=10 bb=word?aa,bb store 100 to cc,dd,bb ?aa,bb,cc,dddimension array(10)array=20?array(1)?array(2)array(1)=.f.?array(1)2020.F.10 word10 100 100 100格式1:LIST MEMORY LIKE TO PRINTER|TO FILE 格式2:DISPLAY MEMORYLIKETO PRINTER|TO FILE 功能:顯示內存變量的當前信息,包括變量名、作用域、類 型、取值。說明:通配符*表示任意多個字符,?表示任意一個字符list命令滾動顯示內存
14、變量信息;而display則分屏顯示變量信息,超過一屏會停頓等待。 例:例:list memory like a* display memory格式1:CLEAR MEMORY 清除所有內存變量格式2:RELEASE 清除指定的內存變量格式3:RELEASE ALL EXTENDED 清除所有內存變量,包括程序中的公共變量格式4:RELEASE ALL LIKE EXCEPT 清除與LIKE匹配或與EXCEPT不匹配的內存變量例:例: RELEASE ALL LIKE a?b RELEASE ALL EXCEPT a*格式:SAVE TO ALL LIKE EXCEPT功能:將指定范圍的內存變
15、量保存在內存變量文件中,內存變量文件的擴展名為.mem。 例: save to varname all like a*格式:格式:RESTORE FROM ADDITIVE功能:功能:把內存變量文件中的變量送回內存,不選ADDITIVE則送回之前先清除內存中已有的內存變量。例:例:restore from varname additive字段變量的類型:數值型、浮動型(浮點型)、整型、雙精度型、字符型、邏輯型、日期型、日期時間型、貨幣型、備注型和通用型等當表打開時,字段變量就可以進行訪問,字段變量的值就是表中某個記錄中的屬性值。字段變量的命名規(guī)則:字段變量的命名規(guī)則:以字母、漢字開頭由字母、漢
16、字、數字、下劃線組成,長度不超10個字符不可與系統(tǒng)保留字同名說明:函數名是系統(tǒng)規(guī)定的,函數名與括號間不能不能有空格自變量表可以是一個或多個以逗號分隔的自變量自變量表也可以為空,但括號不能省略 函數調用后有一個運算結果,稱為函數值或返回值n函數的概念函數的概念 函數就是針對一些常見問題預先編好的一系列子程序。當要解決此類問題時,就可以調用相應的函數即執(zhí)行該子程序,得到結果。n函數調用的格式:函數調用的格式:函數名函數名()MAX(27.4 MAX(27.4 ,98.998.9,-7)-7)DATE( )DATE( )ABS(-78.6)ABS(-78.6)n求絕對值函數ABS格式:ABS( )舉
17、例:x=abs(-5)y=-3.6 ?abs(45) ?x ?abs(y)n求整函數求整函數INT,不進行四舍五入,不進行四舍五入格式:格式:INT( )舉例:舉例:?int(12.9)m=int(-13.7)n四舍五入函數四舍五入函數ROUND格式:格式:ROUND( , )舉例舉例:?round(12345.6789, 2) ?round(12345.6789, 0) ?round(12345.6789, -1)說明:說明:保留小數位可以是負數負數,此時從小數點向前數位數指數函數EXP、自然對數函數LOG、平方根函數SQRT、格式:EXP| LOG | SQRT ( )舉例:a=exp(0
18、) x=1 ?sqrt(2) ?a ?log(x) ?sqrt(4)n取模取模 (求余數求余數)函數函數MOD格式:格式:MOD( , )功能:功能:取 除以 的余數,符號與數值表達式2符號一致。舉例:舉例:?mod(20, 3) ?mod(20, -3) ?mod(-20, 3) ?mod(-20, -3) 2 -1 1 -2 n求最大值求最大值MAX、最小值、最小值MIN格式:格式:MAX| MIN ( , , , )舉例:舉例:a=34 b=65 ?max(a, b, 30) ?min(a,b)(1) 判斷子字符串函數AT格式:AT( , )功能:求 在 的起始位置起始位置數值。說明:中
19、不包含,函數值為零若的值含有兩個以上的的值,則函數給出第一個第一個值的位置。大小寫字母在檢索中視為不同。舉例:舉例:?at(“數據數據”, “計算機數據管理計算機數據管理”)?AT(“book”, “computer”) , at(“a”, “I am a teacher”)?at(“th”, “This is a table”)(2) 取子串函數SUBSTR格式:SUBSTR ( , , )功能:對從給定的開始截取指定 長度的字符,生成一個新的字符串;說明:若無或大于后面剩余的字符個數,則截 至末尾;若 大于字符串長度,則輸出空串 (3) 取左子串函數取左子串函數LEFT格式:格式:LEFT
20、 ( , )功能:功能:LEFT 從 左邊截取由 的 值指定的字符,生成一個新的字符串。 (4) 取右子串函數取右子串函數RIGHT格式:格式:RIGHT ( , )功能:功能:從右邊截取由的值指定 的字符,生成一個新的字符串。(5) 宏代換函數 格式:字符型內存變量.功能:替換出的值。即將值的定界符去掉,使其可能代表一個變量名、文 件名、命令、表達式等。說明:在表達式中使用該函數時,如果函數中的字符型內存 變量名與其后面的字符無明顯分界時,應使用圓點將 它們隔開。例如:A=北京 B=中國 ? &A.是&B.首都 (6)字符串長度函數字符串長度函數LEN格式:格式:LEN()功
21、能:功能:測試字符表達式的結果中包含多少個字符例如:例如:?LEN(“FOXPRO數據庫管理系統(tǒng)!”) (7) 刪除首部和尾部空格的函數格式:LTRIM|TRIM |RTRIM |ALLTRIM ( )功能:LTRIM是刪除字符串首部的空格; TRIM 或RTRIM是刪除字符串尾部的空格; ALLTRIM刪除字符串首部和尾部的空格。 (8) 構造空格函數構造空格函數SPACE格式:格式:SPACE( ) 功能:功能:產生由 的值決定的空格數。(9)生成重復字符串函數生成重復字符串函數REPLICATE格式:格式:REPLICATE( , )功能:功能:把的值(字符串)重復由 的值指定的次數,生
22、成新的字符串。 (10) 大小寫字母轉換函數LOWER|UPPER格式:LOWER|UPPER ( )功能:LOWER把 中的大寫字母轉換為小寫字母 UPPER把 中的小寫字母轉換為大寫字母(11) (11) 字符串替換函數字符串替換函數STUFFSTUFF格式:格式:STUFF(STUFF(,)2)功能:功能:從指定位置開始,用指定的字符串替換 中指定的字符串。說明:說明:中的字符個數與中的字符個數可以不等;如果為0,則插入;如果為空字符串,則刪除中指定字符。 舉例:?stuff(熱烈歡迎各位來我校參觀指導!,9,4,各校領導)3日期和時間函數(1)系統(tǒng)日期和時間函數DATE| TIME|D
23、ATETIME格式:DATE () | TIME() | DATETIME( )功能:DATE()返回當前系統(tǒng)日期,函數值為日期型; TIME()以24小時制返回當前系統(tǒng)時間,值為字符型; DateTime( )返回當前系統(tǒng)日期時間,為日期時間型。(3)星期函數星期函數DOW|CDOW格式格式1:DOW ( )格式格式2:CDOW ( )功能:功能:格式1給出 指定的日期是一星期的第幾 天。1表示星期日,2表示星期一,7表示星期六; 格式2給出星期幾的英文名稱,函數值為字符型。(2)年、月、日函數年、月、日函數YEAR|MONTH|DAY格式:格式:YEAR|MONTH|DAY( )功能:功能
24、:從 中求出年份、月份、日份的數值。4類型轉換函數(1) 字符轉換為數值函數VAL格式:VAL()功能:將字符型數據轉換為數值型數據。說明:若由數字字符和小數點組成,則轉換成相應的數值,但只保留兩位小數,其余小數四舍五入。若由非數字字符打頭,則轉換為0.00。若由數字字符打頭,且混有非數字字符時 則轉換到第一個非數字字符為止。例:例:?VAL(1234.567) ,VAL(Fox) , VAL(1234FOX.5678)主屏幕顯示:主屏幕顯示:1234.57 0.00 1234.00(2) 數值轉換為字符函數STR格式:STR( , , )功能:把 的運算結果轉換為指定長度的字符串。 STR(
25、345.678,5,2) 345.7說明:應包括小數點在內,不指定長度時,系統(tǒng)默認整數位10位。 STR(123456789.56) 123456790若指定小于整數位數,則用一串“*”號表示數據溢出,“*”的個數為長度值;若為0,則返回空字符串。 STR(123.456,2) * STR(123.567,0) 轉換時要四舍五入(3) 字符轉換為日期函數CTOD格式:CTOD( CTOD( ) )功能:將符合yy/mm/dd 、mm/dd/yy日期格式的字符串轉換 為相應日期,不符時為“ / / ”。 (4) 日期轉換為字符函數DTOC格式:DTOC( DTOC( , ,1 1) )功能:將轉
26、換為相應的字符串。說明:不選用1時,按mm/dd/yy格式轉換;選用1時,按 yyyymmdd格式轉換。 (5) ASCII碼值轉換為字符函數碼值轉換為字符函數CHR格式:格式:CHR( CHR( ) )功能:功能:將表示的ASCII碼值轉換為相應的字符。 (6) 字符轉換成字符轉換成ASCII碼值函數碼值函數ASC格式:格式:ASC( ASC( ) )功能:功能:返回最左邊的一個字符的ASCII碼值。 5測試函數(1) 值域測試函數BETWEEN格式:BETWEEN(,)功能:判斷一個表達式的值是否介于另外兩個表達式的 值之間。當值大于等于且 小于等于時,函數值為邏輯真(.T.), 否則函數
27、只為邏輯假(.F.)。舉例:?between(34,78,96) .F.(2) 空值(NULL值)測試函數ISNULL格式:ISNULL()功能:判斷一個表達式的運算結果是否為NULL值,是則 返回邏輯值.T.,否則返回邏輯值.F.。舉例:store .NULL. to x /store NULL to x?x , ISNULL(x)(3) “空空”值測試函數值測試函數EMPTY格式:格式:EMPTYEMPTY( 1)功能:功能:測試表達式的運算結果是否為空,返回邏輯真.T. 或邏輯假.F.說明:說明:空值對C型指空串、空格、制表符、回車、換行, D和T型是指空值,如ctod(),其它型是指0
28、值。(4) 數據類型測試函數VARTYPE格式:VARTYPE()功能:測試的類型,返回一個大寫字母,函數值為 字符型。若是一個數組,則根據第一個數組 元素的類型返回字符串。舉例:?vartype(AAA), vartype(234) , vartype($200)(5) 條件測試函數條件測試函數IIF格式:格式:IIFIIF( ,2)功能:功能:測試的值,若為邏輯真.T.,函數返回 的值,若為邏輯假.F.,函數返回 的值。和的類型不要求相同舉例:舉例:x=15 ?iif(x10, x+10, x+5), iif(x10, x+10, x+5)表達式是由常量、變量和函數等通過特定的運算符連接起
29、來的式子。表達式包括兩種形式: 單一的對象(例如:123, X , date()) 由運算符將運算對象連接起來形成的式子(例如:x+5)表達式按運算規(guī)則能計算出一個結果,稱表達式的值表達式的值可以賦給變量,屏幕顯示,或參加運算。按表達式運算結果的不同,表達式可分為以下幾類數值表達式字符表達式日期時間表達式關系表達式和邏輯表達式1數值表達式由算術運算符和數值型的常量、變量、數組元素、字 段、函數組成。運算結果是數值型數據。算術運算符及運算優(yōu)先級如下:函數的優(yōu)先級僅次于括號2字符表達式字符表達式由字符串運算符將字符型數據連接起來形成,其運算結果仍然是字符型數據。字符串運算符有以下兩個:前后兩個字符
30、串首尾連接形成一個新的字符串:連接前后兩個字符串,并將前字符串的尾部空格移到合并后的新字符串尾部。 字符串運算符的優(yōu)先級相同舉例:舉例:a=“長春 ” b=“信息經濟學院 ”?a+b, “aa” ?a-b, “aa”3日期時間表達式日期時間表達式日期時間表達式中可以使用的運算符也有和兩個。日期時間表達式中可以使用的運算符也有和兩個。 關系表達式由關系運算符和字符表達式、算術表達式、時間日期表達式組成,其運算結果為邏輯型常量。關系成立時,表達式的結果為.T. ,反之,表達式結果為.F. 。 關系表達式格式: 關系運算符的優(yōu)先級相同n舉例:舉例:?2+3=6,10-11 , $10$15 ?200
31、3-01-012002-12-28 ?.T.1.7 and 體重體重110 ?身高身高1.7 and 體重體重200 ?not 身高身高1.7 and 體重體重200 ?not (身高身高1.7 and 體重體重200) ?身高身高1.7 or 體重體重200 ?not 身高身高1.7 or 體重體重2006. 運算符優(yōu)先級在每一類運算符中,各個運算符有一定的運算優(yōu)先級。而不同類型的運算也可能出現(xiàn)在同一個表達式中,這時它們的運算優(yōu)先級順序從高到低為: 括號 函數 算術運算、字符串運算和日期時間運算 關系運算 邏輯運算一、賦值語句、顯示語句、表達式 a=3.14 ?a=4.68 姓名=“王大力”
32、 ?姓名 str1=“this is a table” ?“Word” 生日=1898-08-23 ?Substr(str1, 4,2)二、賦值號與比較運算符(=) x=23 ?x=3 y=46 ?y=46 z=x=y &先進行x、y的比較,將結果賦給z ?x=y=z &比較x,y,再將比較的結果與z比較 e1= not 34 .and. y=46 ?e1=not 34 .and. Y=46 &將e1與not 34比較,再將結果與y=46的比較結果進行求邏輯與。1、指出以下左邊各變量的值及類型 A=10*2*3+100 B=(10*2)*3+100 C=A=B D=AB
33、 E1=A=B.AND.AB E2=A=B.OR.AB E3=.NOT.A=B.AND.AB E4=.NOT.(A=B.AND.AB) E5=.NOT.(A=B.OR.AB) E6=“ABC”$BDABCD”.AND.A=B.OR.(10+5)10*5 E7=E6.AND. “C” + ”A” $ “A”2、在命令窗口中輸入如下命令:A=“This is a computer”B=“Its mine”寫出滿足下列要求的命令:取A的第8個字符賦給C取A的左邊7個字符賦給D取A的右邊4個字符賦給E求出字符A、B的長度判斷A中是否包含D及E(兩種方法)3、上機執(zhí)行下列命令,熟悉函數的功能(1)B=D
34、TOC(DATE( ) , 1)? “今天是:”+left(B,4)+“年”; +iif(subs(B,5,1)=“0”,subs(B,6,1),subs(b,5,2); +“月”+right(B,2)+“日” /*日子也可按月份處理方法處理(2)X=STR(12.4, 4, 1) (3) X=“奔騰586” Y=RIGHT(X, 3) Y=“個人計算機” Z=“&x+&y” ?LEN(X), RIGHT(X,3)+Y ?Z,&Z ?”&X.&Y”, X+Y(4)?AT(“人民”,“中華人民共和國”)?VAL(SUBSTR(668899,5,2)+1?S
35、UBSTR(668899”, 3)-1(5)DD=DATE()?str(year(dd),4)+”年”+str(month(dd,2)+”月“+str(day(dd),2)+”日”數據表的概念在Visual FoxPro中,一張二維表對應一個數據表,稱為表文件,它是擴展名為.dbf的文件n數據表的分類數據表的分類 數據庫表:包含在數據庫中的表數據庫表:包含在數據庫中的表 自自 由由 表:不包含在任何數據庫中而獨立存在的表表:不包含在任何數據庫中而獨立存在的表 自由表可以添加在數據庫中而成為數據庫表,數據庫表自由表可以添加在數據庫中而成為數據庫表,數據庫表也可以從數據庫中移出而成為自由表。也可以
36、從數據庫中移出而成為自由表。 1) 數據庫的概念把有關系的表存放在同一數據庫中,確定它們的關聯(lián)關系,數據庫中的數據才能被更充分的利用。數據庫是一個邏輯上的概念和手段,通過一組系統(tǒng)文件將相互聯(lián)系的數據表及其相關的數據庫對象進行統(tǒng)一組織和管理。數據庫實際是一個擴展名為dbc的文件,與之相關的還會自動建立一個擴展名為dct的數據庫備注(memo)文件和一個擴展名為dcx的數據庫索引文件。 1. 創(chuàng)建數據庫創(chuàng)建數據庫 2) 建立數據庫 的三種方法:在項目管理器中建立數據庫通過“新建”對話框建立數據庫使用命令建立數據庫 CREATE DATABASE 數據庫文件名|?建立數據庫需注意的幾點:建立數據庫需
37、注意的幾點:n如果指定的數據庫已經存在,可能覆蓋已經存在的數據庫。 set safety on(默認值),出現(xiàn)警告對話框請用戶確認; set safety off則直接覆蓋同名數據庫。n 命令方式建立的數據庫不顯示數據庫設計器,而另兩種方式建立的數據庫會立即打開數據庫設計器。數據表的構成表名(文件名)表名(文件名)數據表的結構(字段名、字段類型、字段寬度、索引)數據表的結構(字段名、字段類型、字段寬度、索引)數據表的記錄數據表的記錄n字段類型和寬度字段類型和寬度 C、Y、N、F、B、I、D、T、L、 M、Gn字段名字段名:字段名就是關系的屬性名或表的列名。字段名就是關系的屬性名或表的列名。 數
38、據表中字段名的命名規(guī)則如下:數據表中字段名的命名規(guī)則如下:自由表字段名最長自由表字段名最長1010個字符個字符數據庫表的字段名最長為數據庫表的字段名最長為128128個字符個字符必須以字母或漢字開頭、后跟字母、漢字、數字和下劃線必須以字母或漢字開頭、后跟字母、漢字、數字和下劃線字段名中不能包含空格字段名中不能包含空格2. 創(chuàng)建數據表創(chuàng)建數據表 1)1)設計表結構設計表結構編號編號名稱名稱啟用日期啟用日期價格價格部門部門主要主要設備設備備注備注商標商標016-1車床車床03/05/9062044.6121.T.memogen016-2車床車床01/15/9227132.7321.T.memoge
39、n037-2磨床磨床07/21/90241292.1222.T.memogen038-1鉆床鉆床10/12/895275.0023.F.memogen100-1微機微機08/12/978810.0012.T.memogen101-1復印機復印機06/01/9210305.0112.F.memogen210-1轎車轎車05/08/95151000.0011.F.memogen設備清單表(P33)字段名字段名類型類型寬度寬度小數位數小數位數編號編號字符型字符型5名稱名稱字符型字符型6啟用日期啟用日期日期型日期型8價格價格數值型數值型92部門部門字符型字符型2主要設備主要設備邏輯型邏輯型1備注備注備
40、注型備注型4商標商標通用型通用型4設備表的結構(SB.DBF)創(chuàng)建方法: (啟動表設計器后創(chuàng)建) (1) 使用命令的方法使用命令的方法 格式:格式:CREATE CREATE | |.dbf.dbf 例例: : 建立數據表建立數據表SB.DBFSB.DBF時可使用命令:時可使用命令: CREATE CREATE 盤符盤符 路徑路徑SBSB(2) 在項目管理器中創(chuàng)建在項目管理器中創(chuàng)建 在項目管理器中選擇自由表或數據庫表在項目管理器中選擇自由表或數據庫表, ,單擊單擊“新建新建”按鈕,打開自由表或數據庫表的表設計器按鈕,打開自由表或數據庫表的表設計器. .表設計器的使用說明(1)數值型數據總最大長
41、度20位,包括小數位(2)有些數據類型的寬度是固定的,不需指定:雙精度數固定8個字節(jié),整數固定4個字節(jié)貨幣型數固定8個字節(jié),邏輯型固定 1 個字節(jié)日期型和日期時間型固定8個字節(jié)通用型和備注型固定4個字節(jié)(3)NULL值的確定.NULL.表示是否充許字段值為空值,它與空串和0具有不同的意義,空值就是缺值或該值還沒確定,而不是任何意義的數據。關鍵字段不允許設為空值。空值不是一種數據類空值不是一種數據類型,只是一個值型,只是一個值,輸入空值時Ctrl+0(4)設計表結構時,不能隨便按回車鍵,否則會退出表結構的設計狀態(tài),而應使用光標移動鍵。索引前: 索引文件索引后:(按身高建立升序索引)索引值索引值
42、記錄號記錄號 1.624 1.639 1.655 1.6710 1.73 2 1.757 1.788 1.801 1.803 1.826 u一個記錄號與關鍵字索引值的列表,不改變表中所存儲記錄的順序,只改變VFP系統(tǒng)讀取記錄的順序。u建立在索引文件中,一個表可建立多個索引,每一索引代表一種處理記錄的順序。u分為復合索引和單索引,其對應的索引文件的擴展名分別是.CDX和.IDX;復合索引又分為結構復合索引和非結構復合索引,結構復合索引的索引文件名與表同名,而非結構復合索引需另外起名。索引索引u主 索 引:指定字段或表達式中不允許出現(xiàn)重復值的索引, 確保字段中輸入值的唯一性。一個表只能建立一個主索
43、引(自由表沒有主索引)u候選索引:與主索引類似,索引值的記錄唯一的。一個表允許建立多個候選索引。u普通索引:允許表中有重復索引值的記錄。在一個表中可以加入多個普通索引。u唯一索引:允許表中索引值的記錄不唯一,但索引文件中不能有相同的索引值,即對于索引值相同的記錄,只有記錄號最小的記錄號才能存于索引文件中。這是為兼容舊版本而保留的一種形式。u建立結構復合索引: l表設計器中建立表設計器中建立 將生成將生成與表同名與表同名的索引文件,擴展名為的索引文件,擴展名為CDXCDX格式:格式:INDEX ONINDEX ON 索引表達式索引表達式 TAG TAG 索引名索引名 FOR FOR 條件表達式條
44、件表達式 ASCENDINGDESCENDING ASCENDINGDESCENDING UNIQUECANDIDATEUNIQUECANDIDATE功能:功能:建立一個結構復合索引,該索引保存在建立一個結構復合索引,該索引保存在CDXCDX文件中。文件中。l使用命令建立使用命令建立說明:說明: 索引表達式可以是字段名或包含字段名的表達式,但只能是N、C、D、L四種類型。涉及多個字段時,索引排序是按表達式中字段從左到右進行的。一個命令只建立一個索引;ASCENDING:升序;DESCENDING:降序。默認升序。UNIQUE:唯一索引;CANDIDATE:候選索引。默認普通索引。新建立的索引成
45、為邏輯排序的依據,稱為當前索引(主控索引),每個表都可以指定一個當前索引,而且只能是一個。結構復合索引文件在打開表時自動打開,只有表關閉時才會關閉;文件中可包括多個索引;當索引文件打開時,在添加、更改或刪除記錄時自動維護索引.如修改表中內容時索引文件沒有打開,則需用reindex重新索引或重新建立索引。例:例:use sbuse sb index on index on 價格價格 tag jg descendingtag jg descending index on index on 部門部門+str(+str(價格價格,9,2) tag bmjg,9,2) tag bmjg index on
46、 - index on -價格價格/1000000 tag jg1 candidate/1000000 tag jg1 candidate生成生成shebei.cdxshebei.cdx文件,其中包含文件,其中包含3 3個索引。個索引。設置字段屬性 (1) 格式 用于鍵入格式表達式,從整體格式角度約束,確定字段值在瀏覽窗口或輸入時采用的格式。格式設置對已有記錄不做檢查。舉例: 1、對“編號”字段設置格式屬性為:AT 2、對“名稱”字段設置格式屬性為:M 鉆床,磨床,機床,微機 3、對“價格”字段設置格式屬性為:格式代碼格式代碼含義說明含義說明只允許是字母符號,禁止?jié)h字、空格或標點只允許是字母符
47、號,禁止?jié)h字、空格或標點以英國日期格式編輯日期型數據以英國日期格式編輯日期型數據將數值型數據前面的空格位用零添充將數值型數據前面的空格位用零添充以列表的方式為字符型字段預置多個可選項,以列表的方式為字符型字段預置多個可選項,當輸入或修改時用空格進行選擇當輸入或修改時用空格進行選擇刪除字段中的的前導空格和尾部空格刪除字段中的的前導空格和尾部空格!將字段中的小寫字母轉換為大寫字母將字段中的小寫字母轉換為大寫字母使用科學記數法顯示數值型字段的值使用科學記數法顯示數值型字段的值格式代碼列表格式代碼列表(2) 輸入掩碼 用于“按位”指定字段的輸入格式,限制輸入數據的范圍,控制輸入的正確性,不符合規(guī)則的數
48、據不能輸入,對已有記錄不驗證該規(guī)則。 掩碼掩碼含義說明含義說明可輸入任何字符可輸入任何字符可輸入數字和正負號可輸入數字和正負號可輸入數字、空格、正負號可輸入數字、空格、正負號在指定位置顯示當前的貨幣符號在指定位置顯示當前的貨幣符號用來指定小數點的位置用來指定小數點的位置,用來分隔小數點左邊的整數部分,通常作為千分位隔點用來分隔小數點左邊的整數部分,通常作為千分位隔點例:例:1、在、在“編號編號”字段的輸入掩碼文本框中輸入字段的輸入掩碼文本框中輸入“999-9”; 2、將、將$顯示在顯示在“價格價格”字段的前面。字段的前面。(3) 標題 顯示區(qū)的標題文本框用于為瀏覽窗口、表單或報表中的字段標簽鍵
49、入表達式。 例:將例:將“價格價格”字段的標題文本框中輸入設備價格;字段的標題文本框中輸入設備價格;(4) 字段有效性規(guī)則文本框用于輸入對指定字段數據有效性進行檢查的規(guī)則,它實際上是一個條件。用條件驗證該字段數據合法性。 信息文本框用于指定出錯提示信息,當該字段輸入的數據違反條件時,出錯信息將照此顯示。信息內容要定界。默認值文本框用于指定字段的默認值。值類型與字段一致例例:(設置:(設置“啟用日期啟用日期”字段)字段)1、在有效性規(guī)則輸入啟用日期10”,表示只有記錄號 大于10的記錄才可以被邏輯刪除。(3)長表名和表注釋長表名最多128個字符,它出現(xiàn)在瀏覽窗口中表注釋出現(xiàn)在項目管理器的底部。表
50、數據的輸入時機: 表數據就是表記錄,可以在創(chuàng)建表結構時直接輸入表的數據;也可以建立完成后追加記錄,追加記錄前必須用use命令先打開表,然后使用下面方法追加記錄。n輸入記錄的兩種方法輸入記錄的兩種方法(1) 使用使用APPEND命令命令 格式:格式:APPEND APPEND | | APPEND BLANKAPPEND BLANK 執(zhí)行一次執(zhí)行一次APPEND BLANKAPPEND BLANK命令后在表尾添加一條空記錄命令后在表尾添加一條空記錄 (2)使用菜單方法 打開表【顯示】【瀏覽】菜單,出現(xiàn) “瀏覽”窗口(或用brow命令)【顯示】【追加方式】可一次追加多條記錄或【表】【追加新記錄】增
51、加一條空白記錄。n記錄數據輸入說明記錄數據輸入說明(1)對于日期型字段,只需輸入月份、日期、兩位年份,不需輸入“/” . 如set century on,則輸入兩位或四位年份都可以。兩位時56以下認為是20- -年,以后認為是19- -年。(2)邏輯型字段輸入內容時,只需輸入T或F,且不分大小寫(3)在輸入記錄的字段值時,只能輸入對字段類型有效的值。如果輸入了無效數據,則在屏幕的右上角彈出一個信息框顯示出錯信息,在更正錯誤之前,無法將光標移動到其它字段上去。(4)記錄輸入完畢后,關閉當前窗口(也可按組合鍵Ctrl+W),保存添加的記錄信息到表文件中。若欲放棄對當前記錄的編輯修改,可按Esc鍵。
52、(5)備注型字段和通用型字段有特殊的輸入方法。兩字段的實際內容保存在一個擴展名為.FPT的文件中,在定義通用型和備注型字段時,字段寬度都只有4個字節(jié),這4個字節(jié)只存放一個指針,指向存儲實際內容的.FPT的文件中,因此要確保.dbf和.fpt文件永遠在一起。備注型數據顯示為“Memo”或“memo”,其中“Memo”表示對應的記錄的備注字段已經輸入了數據,而“memo”表示該字段中沒有備注內容。要為某記錄的備注字段輸入數據或修改其中的內容,可雙擊該記錄的備注字段,進入備注字段的編輯窗口,編輯完后按+或單擊窗口的“關閉”按鈕結束并保存輸入的新內容;按結束并不保存輸入的新內容。 通用型字段數據顯示為
53、Gen或gen,Gen表示該字段有內容,gen表示沒有內容。雙擊字段進入編輯窗口,可通過剪貼板或執(zhí)行“編輯”“插入對象”菜單命令來插入圖形或其他對象,也可通過Ctrl+X刪除內容。保存或放棄方法與備注型數據相同。 表結構的修改范圍 表結構修改包括:增加、刪除字段,修改字段名、字段類型、字段寬度,建立、修改刪除索引。數據庫表還可以建立、修改、刪除有效性規(guī)則等。n 利用表設計器修改表結構的兩種方法利用表設計器修改表結構的兩種方法 首先用首先用use命令打開表,然后命令打開表,然后命令:命令:MODIFY STRUCTUREMODIFY STRUCTURE2.3.1 VISUAL FOXPRO命令結
54、構及常用子句命令的構成:命令動詞、語句體(若干個子句)、注釋VFP命令格式: . &注釋部分例:顯示命令LIST的格式: LIST FOR WHILE OFF TO & 注釋1命令動詞命令動詞 表示要執(zhí)行的操作,是一個命令中必不可少的部分。表示要執(zhí)行的操作,是一個命令中必不可少的部分。2語句體語句體 語句體由一系列短語語句體由一系列短語( (子句子句) )構成,可使用的常用子句如下所構成,可使用的常用子句如下所示:示: (1) FIELDS 用于選定操作的用于選定操作的“字段字段”, 中有多個字段時,字中有多個字段時,字段名之間用逗號分隔。段名之間用逗號分隔。 例:例: use
55、 sb list fields 名稱名稱,部門部門 & 顯示表中顯示表中“名稱名稱”“”“部門部門”兩列數據兩列數據(2) FOR 只對表中滿足“條件”的所有記錄進行操作。 例:use sblist for 價格100000 &顯示表中價格大于10萬元的 &所有設備記錄(3) WHILE 對滿足條件的記錄進行操作。從表中對滿足條件的記錄進行操作。從表中當前當前正在使用的記正在使用的記錄開始向下順序判斷,當遇到第一個不滿足條件的記錄時,錄開始向下順序判斷,當遇到第一個不滿足條件的記錄時,停止命令執(zhí)行,而不管其后是否還有滿足條件的記錄。停止命令執(zhí)行,而不管其后是否還有滿足條
56、件的記錄。例例: list fields 名稱名稱,部門部門 for 價格價格100000 while 主要設備主要設備=.t. 當命令中同時有當命令中同時有for和和while子句時子句時,要優(yōu)先滿足要優(yōu)先滿足while條件條件(4) 表示記錄的執(zhí)行范圍。 VFP系統(tǒng)對表中的記錄是逐條進行處理的。VFP為每一個打開的表設置了一個內部使用的記錄指針,指向正在被操作的記錄,該記錄稱為當前記錄。記錄指針的作用是標識表的當前記錄。范圍可以是以下四種參數之一:ALLALL:表示全部記錄; NEXT NEXT :表示從當前記錄開始的以下n條記錄; RECORD RECORD :表示第n號記錄; REST
57、REST:表示從當前記錄到最后一條記錄。 (5) TO 表示操作結果的輸出去向。表示操作結果的輸出去向。3命令書寫格式說明 在書寫命令格式時,還用到一些符號,這些符號只是在書寫時使用,實際操作時并不輸入。這些符號以及它們所表示的意義如下: :表示其中內容為必選項表示其中內容為必選項, , 實際命令中不包括它;實際命令中不包括它; :表示其中內容為可選項表示其中內容為可選項, , 即可以省略該子句;即可以省略該子句; | | :表示其兩側項目只能任選一項表示其兩側項目只能任選一項; :表示同類項的多次重復。表示同類項的多次重復。 4命令的書寫與使用規(guī)則v每條命令以命令動詞開始,以回車鍵結束,命令
58、中各短語的順序是任意的。v命令動詞、短語中的英文單詞及函數名均可縮寫為前四個字符,大小寫可混用。v命令動詞、語句體及其各短語之間均以空格相隔。v一行只能寫一個命令,不能將兩個命令寫在同一行。v命令一行寫不下時,可以由系統(tǒng)自然換行或在行尾加分號(;),回車強制換行。命令行的長度小于或等于2048個字符。 1、 表的打開打開: 將表從外存調入內存, 以便顯示或對其操作菜單:【文件】【打開】(或工具欄上的“打開”按鈕)命令: Use .dbf &打開默認路徑下的表說明:USE命令打開一個新表的同時會自動關閉先打開的表2、表的關閉、表的關閉use use & & 關閉當前使用的
59、表關閉當前使用的表close tables close tables & & 關閉當前數據庫中所有打開的表關閉當前數據庫中所有打開的表close tables all close tables all & & 關閉所有打開的表關閉所有打開的表close all close all & & 關閉所有打開的表、程序文件及表單等關閉所有打開的表、程序文件及表單等clear allclear all & & 關閉所有的表、程序文件及表單等,清關閉所有的表、程序文件及表單等,清 & & 除內存變量除內存變量1同時進行數據瀏覽
60、和修改的操作 使用瀏覽器來瀏覽和修改數據表,打開瀏覽器的常用方法有以下幾種: 首先打開要操作的表【顯示】【瀏覽】。 在項目管理器中選擇要操作的表,然后單擊“瀏覽”按鈕。 在命令方式下,首先用USE命令打開要操作的表,然后鍵入BROWSE命令。BROWSE命令的格式如下:BROWSE Fields For n交互式地對當前表記錄進行編輯的命令:交互式地對當前表記錄進行編輯的命令: CHANGE | EDIT CHANGE | EDIT Fields Fields For For while while 2. 數據的選擇顯示數據的顯示也可使用LIST 和DISPLAY命令,命令格式如下: List|Display ; Fields ; For WHILE ; To Printer To File off 說明:說明:(1)Display(1)Display命令分屏顯示數據,面命令分屏顯示數據,面
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度解除互聯(lián)網廣告合作合同
- 施工現(xiàn)場卸料風險點告知卡
- 職場技能提升的家庭作業(yè)實踐案例
- 家庭健康教育從理論到實踐的探索
- 科技展會中的人工智能與用戶體驗研究報告
- 二手房銷售合同樣本大全
- 臨時倉儲設備租賃合同2025
- 二手房買賣合同補充協(xié)議書范本
- 產品銷售獨家代理合同樣本
- 中介代理辦公租賃合同
- 2025年方大萍安鋼鐵招聘筆試參考題庫含答案解析
- 《高原紅細胞增多癥血液稀釋療法護理操作規(guī)程》
- 2025年電力工程施工企業(yè)發(fā)展戰(zhàn)略和經營計劃
- 年終抖音運營述職報告
- 汽車維修店加盟協(xié)議書細則
- AQ6111-2023個體防護裝備安全管理規(guī)范
- 2023年高一物理期末考試卷(人教版)
- 2023版押品考試題庫必考點含答案
- 空氣能熱泵安裝示意圖
- 最新《工會基礎知識》試題庫及答案1000題【完美打印版】
- 辦公家具項目實施方案、供貨方案
評論
0/150
提交評論