第4章-Visual-FoxPro數(shù)據(jù)庫及其操作-visual-foxpro全套資料計(jì)算機(jī)國家二級課件_第1頁
第4章-Visual-FoxPro數(shù)據(jù)庫及其操作-visual-foxpro全套資料計(jì)算機(jī)國家二級課件_第2頁
第4章-Visual-FoxPro數(shù)據(jù)庫及其操作-visual-foxpro全套資料計(jì)算機(jī)國家二級課件_第3頁
第4章-Visual-FoxPro數(shù)據(jù)庫及其操作-visual-foxpro全套資料計(jì)算機(jī)國家二級課件_第4頁
第4章-Visual-FoxPro數(shù)據(jù)庫及其操作-visual-foxpro全套資料計(jì)算機(jī)國家二級課件_第5頁
已閱讀5頁,還剩173頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第3章VFP語言基礎(chǔ)第3章VFP語言基礎(chǔ)※字符型(C)※數(shù)值型(N) ※貨幣型※邏輯型(L)※日期型(D)※日期時間型(T)※整型 ※浮點(diǎn)型※雙精度型※備注型(M)※通用型(G)※二進(jìn)制字符型※二進(jìn)制備注型字段特

有類型3.1數(shù)據(jù)類型字段特

有類型3.1數(shù)據(jù)類型3.1數(shù)據(jù)類型1.字符型數(shù)據(jù)(Character)是指用各種文字字符表示的數(shù)據(jù),由字母、數(shù)字、漢字、符號和空格等組成,長度為1~254字節(jié)。3.數(shù)值型數(shù)據(jù)(Numeric)是指可以進(jìn)行算術(shù)運(yùn)算的數(shù)據(jù),由數(shù)字0~9、小數(shù)點(diǎn)和正負(fù)號構(gòu)成。3.貨幣型數(shù)據(jù)(Cuyency)采用表示貨幣量的數(shù)據(jù)來代替用數(shù)值型數(shù)據(jù)表示貨幣,長度固定為8個字節(jié)。4.邏輯型數(shù)據(jù)(Logic)是用來進(jìn)行各種邏輯判斷的數(shù)據(jù),只有兩個值:真或假,長度固定為1個字節(jié)。5.日期型數(shù)據(jù)(Date)是用來表示日期的數(shù)據(jù),存儲格式為“YYYYMMDD”,其中YYYY代表年,MM代表月,DD代表日,長度固定為8個字節(jié)。

3.1數(shù)據(jù)類型1.字符型數(shù)據(jù)(Character)是指3.1數(shù)據(jù)類型6.日期時間型數(shù)據(jù)(DateTime)描述日期和時間的數(shù)據(jù),存儲格式為“YYYYMMDDHHMMSS”,其中YYYY代表年,前兩個MM代表月,DD代表日,HH代表小時,后兩個MM代表分鐘,SS代表秒,長度固定為8個字節(jié)。7.整型數(shù)據(jù)(Integer)是指不包含小數(shù)點(diǎn)部分的數(shù)值,以二進(jìn)制形式存儲,長度固定為4個字節(jié)。8.浮點(diǎn)型數(shù)據(jù)(Float)是數(shù)值型數(shù)據(jù)的一種,與數(shù)值型數(shù)據(jù)完全等價(jià),但在存儲形式上采取浮點(diǎn)格式,由尾數(shù)、階數(shù)及字母E組成,占用8個字節(jié)。9.雙精度數(shù)據(jù)(Double)是具有更高精度的數(shù)值型數(shù)據(jù),長度固定為8個字節(jié)。

3.1數(shù)據(jù)類型6.日期時間型數(shù)據(jù)(DateTime)描3.1數(shù)據(jù)類型10.備注型數(shù)據(jù)(Memo)用于存儲字符型數(shù)據(jù)塊,長度固定為4個字節(jié),用來存儲指向?qū)嶋H數(shù)據(jù)存放位置的地址指針,實(shí)際數(shù)據(jù)存放在與數(shù)據(jù)表文件同名的.FPT文件中,其長度僅受磁盤空間的限制。11.通用型數(shù)據(jù)(General)用于存儲OLE對象,可以是文檔、圖片、電子表格等。通用型數(shù)據(jù)的長度固定為4個字節(jié),用來存儲指向.FPT文件位置的地址指針。13.字符型數(shù)據(jù)(二進(jìn)制)用于存儲任意不經(jīng)過代碼頁修改而維護(hù)的字符型數(shù)據(jù)。13.備注型數(shù)據(jù)(二進(jìn)制)用于存儲任意不經(jīng)過代碼頁修改而維護(hù)的備注型數(shù)據(jù)。3.1數(shù)據(jù)類型10.備注型數(shù)據(jù)(Memo)用于存儲字符3.3.1常量常量是指在數(shù)據(jù)處理過程中其值始終保持不變的量。1.數(shù)值型常量:是數(shù)學(xué)中的十進(jìn)制整數(shù)或小數(shù)。

如:10.25,-123.567

3.字符型常量:是用單撇號/雙撇號/方括號括起來的字符串

如:“ABCD”、’1234’、”中國北京”3.邏輯型常量:用下圓點(diǎn)作為定界符,只有真和假兩個值。

如:.T.、.t.、.Y.、.y.(真),.F.、.f.、.N.、.n.(假)4.日期型常量/日期時間型常量:表示一個確切的日期和時間,用花括號作為定界符。

如:{^2003-03-03}、{^1996-03-2012:30:15}也可以用CTOD函數(shù)進(jìn)行轉(zhuǎn)換,如CTOD(”03/03/2003”)3.3.1常量常量是指在數(shù)據(jù)處理過程中其值始終保3.3.2變量

變量是指在數(shù)據(jù)處理過程中其值可以改變的量。1.變量的命名:以字母(漢字)或下劃線開頭,由字母、漢字、數(shù)字和下劃線組成,長度不能超過128個字符。3.字段變量存在于數(shù)據(jù)表中。當(dāng)定義好一個數(shù)據(jù)表的結(jié)構(gòu),該表中的各個字段名就形成了各個字段變量。

字段變量必須先定義然后才能使用。3.內(nèi)存變量:是一種臨時信息存儲單元,獨(dú)立于數(shù)據(jù)表,可以根據(jù)需要隨時建立。其類型取決于變量值的類型,可以把不同類型的數(shù)據(jù)賦給同一個變量。當(dāng)內(nèi)存變量名與數(shù)據(jù)表中的字段變量名相同時,要訪問該內(nèi)存變量,必須在變量名前加上前綴M.或M-->,否則系統(tǒng)將優(yōu)先訪問同名的字段變量。 3.3.2變量變量是指在數(shù)據(jù)處理過程中其值可以改變3.3.2變量(1)建立內(nèi)存變量

格式1:<內(nèi)存變量名>=<表達(dá)式>格式2:STORE<表達(dá)式>TO<內(nèi)存變量名表>功能:在定義內(nèi)存變量的同時確定內(nèi)存變量的值和類型。

例如,X=5&&定義變量X,并把數(shù)值5賦給X

STOREX+10TOY&&定義變量Y,并將表達(dá)式X+10的值賦給Y

STORE”北京”TOA,B,C&&定義變量A,B,C,并賦于相同的字符數(shù)據(jù)

X=.F.&&重新定義變量X,并賦邏輯值

(2)輸出內(nèi)存變量格式1:?<表達(dá)式表>格式2:??<表達(dá)式表>

功能:計(jì)算<表達(dá)式表>中各表達(dá)式的值并在屏幕上顯示出來。

3.3.2變量(1)建立內(nèi)存變量3.3.2變量(3)顯示或打印內(nèi)存變量格式:LIST|DISPLAYMEMORY[LIKE<通配符>]

[TOPRINTE|TOFILE<文件名>]

功能:顯示或打印內(nèi)存變量的當(dāng)前信息。

例如,在命令窗口中輸入以下命令:LISTMEMORYLIKEX*結(jié)果顯示在主窗口中。

3.3.2變量(3)顯示或打印內(nèi)存變量3.3.2變量注釋信息顯示所有第一個字符為X的內(nèi)存變量信息變量名作用域類型變量值數(shù)值型內(nèi)存變量的計(jì)算機(jī)內(nèi)部表示3.3.2變量注釋信息顯示所有第一個字符為X的內(nèi)存變量信3.3.2變量(4)清除內(nèi)存變量格式1:CLEARMEMORY格式2:RELEASE<內(nèi)存變量名表>格式3:RELEASEALL[LIKE<通配符>|EXCEPT<通配符>]

功能:釋放所有內(nèi)存變量或指定的內(nèi)存變量。

例如,RELEASEX1

&&釋放內(nèi)存變量X1

RELEASEALLLIKEX*

&&釋放所有第1個字母為X的內(nèi)存變量

RELEASEALL

&&釋放所有內(nèi)存變量4.系統(tǒng)變量:以字符“_”開頭的、由VFP系統(tǒng)自動定義生成的變量,其名稱也是系統(tǒng)事先定義好的。

例如,_PAGENO,_ALIGNMENT3.3.2變量(4)清除內(nèi)存變量3.3.2變量5.?dāng)?shù)組

內(nèi)存中連續(xù)的一片存儲區(qū)域,由一組稱為數(shù)組元素的變量組成。通過賦值語句可以為各個元素分別賦值,且所賦值的數(shù)據(jù)類型可以不同。定義:DIMENSION<數(shù)組名1>(<索引值1>[,<索引值2>])

[,<數(shù)組名2>(<索引值3>[,<索引值4>])]…

數(shù)組必須先定義后使用,

且使用時下標(biāo)不能出界。每個數(shù)組元素通過數(shù)組名和

相應(yīng)的索引編號被引用。第1個元素第2個元素第3個元素第4個元素第5個元素第6個元素內(nèi)存中的數(shù)組元素?cái)?shù)組示意圖3.3.2變量5.?dāng)?shù)組內(nèi)存中連續(xù)的一片存儲區(qū)域,由3.3.2變量例如,定義一個一維數(shù)組AA和一個二維數(shù)組BB

DIMENSI0NAA(5),BB(2,3)

將數(shù)值0賦給數(shù)組AA中的所有元素STORE0TOAA將字符串xyz賦給數(shù)組元素BB(1,1)BB(1,1)=”XYZ”將數(shù)值125賦給數(shù)組元素BB(2,1)

BB(2,1)=125將邏輯真值T賦給數(shù)組元素BB(2,3)BB(2,3)=.T.3.3.2變量例如,3.3.3其它數(shù)據(jù)存儲容器1.字段、記錄和數(shù)據(jù)表

數(shù)據(jù)表是一系列相關(guān)數(shù)據(jù)的集合。字段是數(shù)據(jù)表中存儲、處理數(shù)據(jù)的基本元素,一個具體的字段只能存儲一種類型的數(shù)據(jù)。記錄是數(shù)據(jù)表中一組字段的集合,同一個數(shù)據(jù)表中所有記錄都具有相同的字段名,且同名字段在每個記錄中的數(shù)據(jù)類型、數(shù)據(jù)長度都是相同的。字段和記錄構(gòu)成了一個數(shù)據(jù)表的全部內(nèi)容。3.對象(Object)對象是一個具有屬性和行為特征的實(shí)體,在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,對象是編程的基本元素,它將某一數(shù)據(jù)和使用該數(shù)據(jù)的一組基本操作或過程封裝在一起,構(gòu)成一個統(tǒng)一體。每個對象都有自己的屬性和行為特征。

3.3.3其它數(shù)據(jù)存儲容器1.字段、記錄和數(shù)據(jù)表3.3運(yùn)算符和表達(dá)式運(yùn)算符是對相同類型數(shù)據(jù)進(jìn)行運(yùn)算操作的符號。用運(yùn)算符將常量、變量和函數(shù)等數(shù)據(jù)連接起來的式子稱為表達(dá)式。表達(dá)式的類型由運(yùn)算符的類型決定,每個表達(dá)式按照規(guī)定的運(yùn)算規(guī)則都產(chǎn)生一個惟一的值。

3.3運(yùn)算符和表達(dá)式運(yùn)算符是對相同類型數(shù)據(jù)進(jìn)行3.3運(yùn)算符和表達(dá)式1.數(shù)值表達(dá)式:用算術(shù)運(yùn)算符將數(shù)值型數(shù)據(jù)連接起來的式子,其結(jié)果仍是數(shù)值型數(shù)據(jù)。算術(shù)運(yùn)算符

3.3運(yùn)算符和表達(dá)式1.數(shù)值表達(dá)式:用算術(shù)運(yùn)算符將數(shù)值3.3運(yùn)算符和表達(dá)式3.字符表達(dá)式:用字符串運(yùn)算符將字符型數(shù)據(jù)連接起來的式子,其結(jié)果仍是字符型數(shù)據(jù)。

(1)“+”運(yùn)算符:兩個字符串首尾相連形成一個新的字符串。(2)“-”運(yùn)算符:兩個字符串相連,并將前字符串尾部的空格移到合

并后的新字符串的尾部。例如,?”ABCD”+”EFG”+”1234”

&&結(jié)果為:ABCDEFG1234?”ABCD”-”EFG”+”1234”

&&結(jié)果為:ABCDEFG12343.日期表達(dá)式:用算術(shù)運(yùn)算符將日期型和數(shù)值型數(shù)據(jù)連接起來的式子,其結(jié)果為日期型數(shù)據(jù)或數(shù)值型數(shù)據(jù)。例如,

?{^2002-01-20}+5

&&結(jié)果為日期2002/01/25

?{^2002-01-20}-5

&&結(jié)果為日期2002/01/15

?{^2002-01-20}-{^2001-10-28}

&&結(jié)果為天數(shù)843.3運(yùn)算符和表達(dá)式3.字符表達(dá)式:用字符串運(yùn)算符將字3.3運(yùn)算符和表達(dá)式4.關(guān)系表達(dá)式:用關(guān)系運(yùn)算符將運(yùn)算元素連接起來的式子,其結(jié)果為邏輯真值(.T.)或邏輯假值(.F.)。例如:S1=”讀者”

S2=”讀者文摘”

SETEXACTON?S1=S2,S2=S1,S2==S1

&&結(jié)果是.F..F..F.

SETEXACTOFF

?S1=S2,S2=S1,S2==S1

&&結(jié)果是.F..T..F.關(guān)系運(yùn)算符

3.3運(yùn)算符和表達(dá)式4.關(guān)系表達(dá)式:用關(guān)系運(yùn)算符將運(yùn)算3.3運(yùn)算符和表達(dá)式5.邏輯表達(dá)式:用邏輯運(yùn)算符將邏輯型運(yùn)算元素連接起來的式子,其結(jié)果仍是邏輯型數(shù)據(jù)。(1)AND(與):兩個表達(dá)式的值均為真,結(jié)果才為真;否則為假。(2)OR(或):兩個表達(dá)式的值均為假,結(jié)果才為假。(3)NOT、!(取反):真值變?yōu)榧僦?,假值變?yōu)檎嬷?。例如?/p>

?10>5.AND.5<2,10>5.OR.5<2

&&結(jié)果為.F..T.

6.優(yōu)先級:括號→函數(shù)→算術(shù)運(yùn)算→字符運(yùn)算→關(guān)系運(yùn)算→邏輯運(yùn)算,同級運(yùn)算從左至右順序進(jìn)行。例如,x1=3,y1=-2,x2=8,y2=-6

x1+y1>x2+y2.AND..NOT.(y1<y2)的結(jié)果為.F.

3.3運(yùn)算符和表達(dá)式5.邏輯表達(dá)式:用邏輯運(yùn)算符將邏輯3.4函數(shù)1.函數(shù)函數(shù)是一種能夠完成某種特定操作或功能的數(shù)據(jù)形式。一個函數(shù)可以接受一個或多個參數(shù),并通過特定的運(yùn)算返回一個值。格式:函數(shù)名([參數(shù)1][,參數(shù)2]…)函數(shù)值:函數(shù)的運(yùn)算結(jié)果說明:任何可以使用表達(dá)式的地方都可以使用函數(shù)。3.函數(shù)的類型系統(tǒng)函數(shù):由VFP提供的內(nèi)部函數(shù),包括數(shù)值處理函數(shù)、字符處理函數(shù)、日期和時間處理函數(shù)、數(shù)據(jù)類型轉(zhuǎn)換函數(shù)、測試函數(shù)、其它函數(shù)等.自定義函數(shù):由用戶自己定義的函數(shù)3.4函數(shù)1.函數(shù)函數(shù)是一種能夠完成某種特定操3.5命令1.命令動詞所有命令都以命令動詞開頭,一般為一個英文動詞,表示要執(zhí)行的命令功能。3.子句用來修飾或限制命令。(1)范圍子句指明在哪些記錄范圍內(nèi)執(zhí)行命令,有四種:RECORD<N>表示指定第N個記錄;NEXT<N> 表示從當(dāng)前記錄開始的N個記錄;ALL 表示數(shù)據(jù)庫的所有記錄;REST 表示從當(dāng)前記錄開始到最后一個記錄。

3.5命令1.命令動詞所有命令都以命令動詞開頭,3.5命令(2)FIELDS子句指明對數(shù)據(jù)表中的哪些字段執(zhí)行命令。(3)FOR/WHILE子句后面跟一個邏輯表達(dá)式,表示僅對符合

條件(即表達(dá)式的結(jié)果為.T.)的記錄執(zhí)行命令操作。例如,顯示學(xué)生表中所有女生的學(xué)號、姓名、出生日期等信息,可使

用以下命令:

LIST

ALL

FIELDS學(xué)號,姓名,出生日期

FOR性別=”女”

顯示命令范圍要顯示的字段條件3.5命令(2)FIELDS子句指明對數(shù)據(jù)表中的哪3.5命令3.命令書寫規(guī)則(1)必須以命令動詞開頭,命令中可以含有一個或多個子句,子句的順序任意。(2)命令動詞和各子句之間用空格分開(空格數(shù)任意)。(3)命令動詞可以縮寫為前4個字符,且不區(qū)分大小寫。(4)命令行的最大長度為254個字符,一行寫不下時,要在行尾加續(xù)行符(西文分號;)分行,并在下行繼續(xù)書寫。3.5命令3.命令書寫規(guī)則第3章VFP數(shù)據(jù)庫及其操作第3章VFP數(shù)據(jù)庫及其操作3.1創(chuàng)建項(xiàng)目1.建立工作目錄組織和管理磁盤中的各類文件。3.建立項(xiàng)目文件

(1)菜單選擇“文件|新建”命令單擊常用工具欄中的“新建”按鈕(2)命令:CREATEPROJECT[<項(xiàng)目文件名>]3.打開項(xiàng)目文件(1)菜單:選擇“文件|打開”命令或單擊常用工具欄中的“打開”按鈕,在“打開”對話框中選擇一個項(xiàng)目文件(*.PJX)。(2)命令:MODIFYPROJECT[<項(xiàng)目文件名>]

3.1創(chuàng)建項(xiàng)目1.建立工作目錄組織和管理磁盤中的3.1創(chuàng)建項(xiàng)目創(chuàng)建項(xiàng)目的方法3.1創(chuàng)建項(xiàng)目創(chuàng)建項(xiàng)目的方法3.3.1數(shù)據(jù)庫的設(shè)計(jì)思想1.設(shè)計(jì)步驟

(1)分析數(shù)據(jù)需求,確定數(shù)據(jù)庫要存儲哪些信息。(2)確定需要的數(shù)據(jù)表。(3)確定所需字段,即每個表中要存儲的信息(表的結(jié)構(gòu))。(4)確定關(guān)系,即各表之間的數(shù)據(jù)應(yīng)該如何進(jìn)行連接。(5)改進(jìn)設(shè)計(jì)3.設(shè)計(jì)過程

(1)明確設(shè)計(jì)目的(2)確定需要的數(shù)據(jù)表(3)確定表中需要的字段(4)確定表間關(guān)系(5)優(yōu)化設(shè)計(jì)3.3.1數(shù)據(jù)庫的設(shè)計(jì)思想1.設(shè)計(jì)步驟3.3.2數(shù)據(jù)庫的創(chuàng)建數(shù)據(jù)庫(.DBC)存儲了所包含的表和表之間的關(guān)系,以及依賴于表的視圖、連接和存儲過程等信息。把表放入數(shù)據(jù)庫中可以減少數(shù)據(jù)的冗余,保護(hù)數(shù)據(jù)的完整性。1.建立數(shù)據(jù)庫(1)項(xiàng)目管理器:“新建:數(shù)據(jù)庫”(2)菜單:“文件|新建:數(shù)據(jù)庫”(3)命令:CREATEDATABASE<數(shù)據(jù)庫名>3.在項(xiàng)目中添加數(shù)據(jù)庫

方法是:在項(xiàng)目管理器中選定“數(shù)據(jù)庫”項(xiàng),單擊“添加”按鈕,在“打開”對話框中選擇需要添加的數(shù)據(jù)庫文件。3.3.2數(shù)據(jù)庫的創(chuàng)建數(shù)據(jù)庫(.DBC)存儲3.3.2數(shù)據(jù)庫的創(chuàng)建選擇“數(shù)據(jù)庫”項(xiàng)單擊“新建”按鈕利用項(xiàng)目管理器建立數(shù)據(jù)庫3.3.2數(shù)據(jù)庫的創(chuàng)建選擇“數(shù)據(jù)庫”項(xiàng)單擊“新建”按鈕3.3.3數(shù)據(jù)庫的基本操作1.打開數(shù)據(jù)庫(1)項(xiàng)目管理器:選定要打開的數(shù)據(jù)庫,單擊“打開”按鈕。(2)菜單:選擇“文件|打開”命令(3)命令①

打開數(shù)據(jù)庫文件

OPENDATABASE[<數(shù)據(jù)庫文件名>]②打開數(shù)據(jù)庫文件所對應(yīng)的數(shù)據(jù)庫設(shè)計(jì)器

MODIFYDATABASE[<數(shù)據(jù)庫文件名>]

3.3.3數(shù)據(jù)庫的基本操作1.打開數(shù)據(jù)庫3.3.3數(shù)據(jù)庫的基本操作3.關(guān)閉數(shù)據(jù)庫(1)項(xiàng)目管理器:選定要關(guān)閉的數(shù)據(jù)庫,單擊“關(guān)閉”按鈕。(2)命令:CLOSEDATABASES3.刪除數(shù)據(jù)庫(1)項(xiàng)目管理器:選定要刪除的數(shù)據(jù)庫,單擊“移去”按鈕,在對話框中選擇“移去”命令,將從項(xiàng)目中移去選定的庫文件;選擇“刪除”命令,則將選定的庫文件從磁盤上刪除。(2)命令:DELETEDATABABE<數(shù)據(jù)庫文件名>3.3.3數(shù)據(jù)庫的基本操作3.關(guān)閉數(shù)據(jù)庫3.3創(chuàng)建數(shù)據(jù)表1.數(shù)據(jù)表和數(shù)據(jù)庫表(Table)是處理數(shù)據(jù)和建立關(guān)系型數(shù)據(jù)庫及應(yīng)用程序的基本元素。數(shù)據(jù)庫(DATABASE)是表的集合。3.數(shù)據(jù)表的類型(1)自由表:不屬于任何數(shù)據(jù)庫而獨(dú)立存在的表

(2)數(shù)據(jù)庫表:屬于某一數(shù)據(jù)庫的表使用項(xiàng)目管理器中的“移去”/“添加”命令,可以在數(shù)據(jù)庫表和自由表之間相互轉(zhuǎn)換。3.數(shù)據(jù)表的結(jié)構(gòu)形式上是一組相關(guān)聯(lián)的數(shù)據(jù)按行和列排列的二維表格,用來描述一個實(shí)體。表中的每一列稱為一個字段,每一行稱為一條記錄。3.3創(chuàng)建數(shù)據(jù)表1.數(shù)據(jù)表和數(shù)據(jù)庫3.3.1基本概念定義字段為每個字段指定名稱、數(shù)據(jù)類型和寬度,它們決定了表中的數(shù)據(jù)是如何被標(biāo)識和保存的。(1)字段名以字母或漢字開頭,由字母、漢字、數(shù)字或下劃線組成,不能包含空格。數(shù)據(jù)庫表字段名最長為128個字符,自由表字段名最長為10個字符。

(2)字段類型決定了存儲在字段中的值的數(shù)據(jù)類型,有13種:字符型(C)、貨幣型(Y)、數(shù)值型(N)、浮點(diǎn)型(F)、日期型(D)、日期時間型(T)、雙精度型(B)、整型(I)、邏輯型(L)、備注型(M)、通用型(G)、字符型(二進(jìn)制)、備注型(二進(jìn)制)。3.3.1基本概念定義字段為每個字段指定名稱、數(shù)據(jù)3.3.1基本概念(3)字段寬度指能夠容納存儲數(shù)據(jù)的長度,字符型字段不得大于254個字節(jié);浮點(diǎn)型和數(shù)值型字段的寬度為整數(shù)位和小數(shù)位的和再加1(小數(shù)點(diǎn)占一位),最多20位。(4)小數(shù)位若字段的類型是數(shù)值型(N)和浮點(diǎn)型(F),還需給出小數(shù)位數(shù)。小數(shù)位數(shù)不能大于9,雙精度型數(shù)據(jù)的小數(shù)位數(shù)不能大于18。(5)使用空值在建立數(shù)據(jù)表時,可以指定字段是否接受空值(NULL)。輸入數(shù)據(jù)即給每個字段賦值。3.3.1基本概念(3)字段寬度指能夠容納存儲數(shù)據(jù)的3.3.2自由表的建立

1.定義表結(jié)構(gòu)利用“表設(shè)計(jì)器”創(chuàng)建表的結(jié)構(gòu)。打開表設(shè)計(jì)器有以下幾種方法。(1)菜單:選擇“文件|新建”命令。

(2)命令:Create<表文件名>(3)項(xiàng)目管理器:在“數(shù)據(jù)”選項(xiàng)卡中選擇“自由表”,單擊“新建”命令。

定義表結(jié)構(gòu)就是設(shè)置表的字段屬性,包括字段名、數(shù)據(jù)類型、字段寬度和小數(shù)位數(shù)等。3.3.2自由表的建立1.定義表結(jié)構(gòu)利用“表打開表設(shè)計(jì)器的方法3.3.2自由表的建立打開表設(shè)計(jì)器的方法3.3.2自由表的建立3.3.2自由表的建立3.輸入記錄選擇“顯示”菜單下的“瀏覽”或“編輯”命令,打開“瀏覽”或“編輯”窗口。(1)一般數(shù)據(jù)的輸入字符型、數(shù)值型、邏輯型、日期型等字段類型可直接在瀏覽窗口或編輯窗口中輸入數(shù)據(jù)。(2)備注型字段數(shù)據(jù)的輸入雙擊名為“memo”的備注字段標(biāo)志,進(jìn)入備注窗口,輸入文本內(nèi)容。(3)通用型字段數(shù)據(jù)的輸入雙擊名為“gen”的通用字段標(biāo)志,進(jìn)入通用型字段的輸入編輯窗口。選擇“編輯|插入對象”命令,打開“插入對象”對話框,插入OLE對象。要刪除備注字段或通用字段的內(nèi)容,可雙擊字段名,打開編輯窗口,選擇“編輯|清除”命令。

3.3.2自由表的建立3.輸入記錄選擇“顯示”菜單3.3.2自由表的建立如果在數(shù)據(jù)表中定義了備注型或通用型字段,系統(tǒng)就會自動生成相應(yīng)的備注文件(.FPT),其主文件名與相應(yīng)的表文件名相同。備注文件是表文件的輔助文件,專門用于存放數(shù)據(jù)表中所定義的備注型或通用型字段的實(shí)際內(nèi)容;它隨著表文件的打開而打開,隨著表文件的關(guān)閉而關(guān)閉。無論一個數(shù)據(jù)表中定義了多少個備注型或通用型字段,系統(tǒng)只生成一個備注文件,存放這個表文件中的所有備注型或通用型字段的內(nèi)容。3.3.2自由表的建立如果在數(shù)據(jù)表中定義了備3.3.3數(shù)據(jù)庫表的建立1.在數(shù)據(jù)庫中建立新表

(1)項(xiàng)目管理器:在“數(shù)據(jù)”選項(xiàng)卡中,單擊“數(shù)據(jù)庫”項(xiàng)前的“+”號,展開該數(shù)據(jù)項(xiàng);然后選定“表”,再單擊“新建”按鈕。使用項(xiàng)目管理器創(chuàng)建的表自動包含在項(xiàng)目文件中。(2)當(dāng)數(shù)據(jù)庫處于打開狀態(tài)時,用建立自由表的方法創(chuàng)建的新表將包含在該數(shù)據(jù)庫中。3.將自由表添加到數(shù)據(jù)庫(1)項(xiàng)目管理器:在“數(shù)據(jù)”選項(xiàng)卡中展開”數(shù)據(jù)庫“項(xiàng),選擇“表”項(xiàng),再單擊“添加”按鈕。(2)命令:ADDTABLE<數(shù)據(jù)表文件名>

3.3.3數(shù)據(jù)庫表的建立1.在數(shù)據(jù)庫中建立新表3.3.3數(shù)據(jù)庫表的建立數(shù)據(jù)庫中的表只能屬于一個數(shù)據(jù)庫文件,如果向當(dāng)前數(shù)據(jù)庫中添加的表已屬于其它數(shù)據(jù)庫,則需要先從其它數(shù)據(jù)庫中移去該數(shù)據(jù)表,然后才能將它添加到當(dāng)前數(shù)據(jù)庫中。3.從數(shù)據(jù)庫中移去數(shù)據(jù)表(1)項(xiàng)目管理器:選中要移去的表,單擊“移去”按鈕,在提示對話框,選擇“移去”。若選擇“刪除”,則不僅從數(shù)據(jù)庫中移去該表,同時也從磁盤上刪除了該表。(2)命令:REMOVETABLE

<數(shù)據(jù)表文件名>

3.3.3數(shù)據(jù)庫表的建立數(shù)據(jù)庫中的表只能屬于一移去數(shù)據(jù)庫表時的提示框3.3.3數(shù)據(jù)庫表的建立移去數(shù)據(jù)庫表時的提示框3.3.3數(shù)據(jù)庫表的建立3.4.1數(shù)據(jù)表的瀏覽1.打開數(shù)據(jù)表(1)菜單:選擇“文件|打開”命令。(2)命令:USE[<表文件名>]3.瀏覽與顯示表結(jié)構(gòu)(1)瀏覽表結(jié)構(gòu)①項(xiàng)目管理器:選定要瀏覽的表,單擊“修改”按鈕,打開表設(shè)計(jì)器。②菜單:選擇“文件|打開”命令,打開要瀏覽的數(shù)據(jù)表;

然后選擇“顯示|表設(shè)計(jì)器”命令,打開表設(shè)計(jì)器。(2)顯示表結(jié)構(gòu)(主窗口)命令:LIST|DISPLAYSTRUCTURE3.4.1數(shù)據(jù)表的瀏覽1.打開數(shù)據(jù)表3.4.1數(shù)據(jù)表的瀏覽3.瀏覽與顯示記錄(1)在瀏覽窗口中瀏覽記錄①項(xiàng)目管理器:選定要瀏覽的表,單擊“瀏覽”按鈕。對于備注型字段或通用型字段內(nèi)容,可以在瀏覽窗口中雙擊相應(yīng)的字段標(biāo)志(“Memo”或“Gen”),打開編輯窗口瀏覽。②菜單:選擇“文件|打開”命令,打開要瀏覽的數(shù)據(jù)表。然后從“顯示”菜單中選擇“瀏覽”或“編輯”命令,打開瀏覽窗口。③命令:BROWSE3.4.1數(shù)據(jù)表的瀏覽3.瀏覽與顯示記錄3.4.1數(shù)據(jù)表的瀏覽(2)在瀏覽窗口中有選擇地瀏覽記錄①菜單:打開瀏覽窗口,選擇“表|屬性”命令,打開“工作區(qū)屬性”對話框。在“數(shù)據(jù)過濾器”中輸入篩選條件,可以只顯示滿足篩選條件的記錄。刪除篩選表達(dá)式,可恢復(fù)顯示所有記錄。

在“工作區(qū)屬性”對話框的“允許訪問”欄中,選中“字段篩選指定的字段”選項(xiàng),單擊“字段篩選”按鈕,打開“字段選擇器”對話框,選擇要顯示的字段,可以只顯示選定的字段內(nèi)容。若在“允許訪問”欄內(nèi)選擇“工作區(qū)中的所有字段”選項(xiàng),可取消對字段訪問的限制,恢復(fù)顯示所有字段。3.4.1數(shù)據(jù)表的瀏覽(2)在瀏覽窗口中有選擇地瀏覽記“工作區(qū)屬性”對話框:設(shè)置數(shù)據(jù)過濾器輸入篩選條件3.4.1數(shù)據(jù)表的瀏覽“工作區(qū)屬性”對話框:設(shè)置數(shù)據(jù)過濾器輸入篩選條件3.4.1“工作區(qū)屬性”對話框:設(shè)置字段篩選3.4.1數(shù)據(jù)表的瀏覽“工作區(qū)屬性”對話框:設(shè)置字段篩選3.4.1數(shù)據(jù)表的瀏覽3.4.1數(shù)據(jù)表的瀏覽②命令設(shè)置數(shù)據(jù)過濾器:SETFILTERTO[<條件表達(dá)式>]

設(shè)置字段過濾器:SETFIELDSTOALL|<字段名表>(3)顯示記錄(主窗口)命令:LIST|DISPLAY[<范圍>]

[FIELDS<字段名表>][WHILE<條件>][FOR<條件>]

例如,要顯示“學(xué)生”表中所有女生的學(xué)號、姓名和所在系的信息,

可使用以下命令:

USEE:\VFP6\DATA\學(xué)生.DBF&&打開學(xué)生表

LISTFIELDS學(xué)號,姓名,系別FOR性別=”女”

3.4.1數(shù)據(jù)表的瀏覽②命令3.4.2記錄的定位1.記錄指針記錄指針存

放的是記錄號。向表中錄入

數(shù)據(jù)時,系統(tǒng)會按照錄入次

序?yàn)橛涗浖由嫌涗浱?。?shù)據(jù)表剛打開時,記錄

指針總是指向首記錄;通過

移動記錄指針可以指定當(dāng)前要操作的記錄。數(shù)據(jù)表文件的邏輯結(jié)構(gòu)

首記錄(TOP)

第2條記錄文件起始標(biāo)識(BOF)第n-1條記錄尾記錄(Bottom)文件結(jié)束標(biāo)識(EOF)…………記錄指針3.4.2記錄的定位1.記錄指針記錄指針存

放3.4.2記錄的定位3.移動記錄指針(1)菜單:打開瀏覽窗口,選擇“表|轉(zhuǎn)到記錄”命令。3.4.2記錄的定位3.移動記錄指針3.4.2記錄的定位(2)命令絕對移動:GO<記錄號>|TOP|BOTTOM功能:將記錄指針定位在指定記錄號的記錄上。TOP表示第一條記

錄,BOTTOM表示最后一條記錄。

相對移動:SKIP[+|-][<算術(shù)表達(dá)式>]功能:將記錄指針從當(dāng)前位置向前或向后移動若干條記錄位置。條件定位:LOCATE[<范圍>]FOR<條件>[WHILE<條件>]功能:查找滿足條件的第一條記錄。說明:使用CONTINUE命令可繼續(xù)查找下一條滿足條件的記錄。3.4.2記錄的定位(2)命令3.4.2記錄的定位例如,

USEE:\VFP6\DATA\學(xué)生

GOTOP

&&指向首記錄

GOBOTTOM

&&指向最后一條記錄

GO3

&&指向第3條記錄

SKIP5

&&指向第8條記錄

SKIP–5

&&指向第3條記錄

*將記錄指針定位在學(xué)生表中第一條性別為男的記錄上

LOCATEFOR性別=”男”

CONTINUE &&繼續(xù)查找下一個滿足條件的記錄3.4.2記錄的定位例如,3.5.1修改表結(jié)構(gòu)在表設(shè)計(jì)器中可以修改表結(jié)構(gòu)。1.項(xiàng)目管理器:選定要修改的表,單擊“修改”按鈕。(1)修改已有的字段(2)增加新字段(3)刪除字段(4)改變字段順序3.菜單:選擇“文件|打開”、“顯示|表設(shè)計(jì)器”3.命令:ModifyStructure

修改字段屬性后,VFP將按新的屬性改寫整個.dbf文件,可能造成數(shù)據(jù)丟失。3.5.1修改表結(jié)構(gòu)在表設(shè)計(jì)器中可以修改表結(jié)構(gòu)3.5.2添加記錄1.在瀏覽窗口中追加記錄(1)菜單:打開瀏覽窗口,選擇“顯示|追加方式”命令,可以在原有記錄的后面追加多條新記錄。選擇“表|追加新記錄”,每次只能添加一條新記錄。(2)命令:

APPEND3.插入記錄命令:INSERT[BEFORE]功能:在數(shù)據(jù)表的某個記錄之前或之后插入一條記錄。

3.5.2添加記錄1.在瀏覽窗口中追加記錄3.5.2添加記錄3.從其它文件中追加記錄

(1)菜單:打開瀏覽窗口,選擇“表|追加記錄”命令。(2)命令:APPENDFROM<源表文件名>

[FIELDS<字段名表>][FOR<條件>]功能:將滿足條件的記錄按指定的字段從源表文件中追加到當(dāng)

前數(shù)據(jù)表的末尾。

例如,將“課程”表中的相應(yīng)數(shù)據(jù)追加到“課程安排”表中:

USEE:\VFP6\DATA\課程安排APPENDFROME:\VFP6\DATA\課程.DBFFIELDS課程號,課程

3.5.2添加記錄3.從其它文件中追加記錄3.5.3編輯記錄1.在瀏覽窗口中編輯記錄(1)項(xiàng)目管理器:選定表,單擊“瀏覽”按鈕,打開瀏覽窗口,直接修改字段值。關(guān)閉瀏覽窗口,所做的修改將自動保存在表文件中。

對于備注型字段或通用型字段內(nèi)容,可以雙擊相應(yīng)的字段標(biāo)志(“Memo”或“Gen”),打開編輯窗口進(jìn)行編輯或修改。(2)命令:BROWSE3.批量修改記錄對一批記錄中的若干字段進(jìn)行編輯修改。(1)菜單:打開數(shù)據(jù)表,選擇“表|替換字段”命令,出現(xiàn)“替換字段”對話框。3.5.3編輯記錄1.在瀏覽窗口中編輯記錄3.5.3編輯記錄“替換字段”對話框要修改的字段修改后的值條件3.5.3編輯記錄“替換字段”對話框要修改的字段修改后的3.5.3編輯記錄(2)命令:REPLACE[<范圍>]

[<字段1>WITH<表達(dá)式1>[ADDITIVE]

[,<字段2>WITH<表達(dá)式2>[ADDITIVE]…]

[FOR<條件>][WHILE<條件>]功能:對表中指定范圍內(nèi)的滿足條件的記錄進(jìn)行批量修改。例如,將“學(xué)生”表中管理系的每個學(xué)生減去15.5元助學(xué)金,

加上50元獎學(xué)金。

USEE:\VFP6\DATA\學(xué)生REPLACEALL助學(xué)金WITH助學(xué)金-15.50,;獎學(xué)金WITH獎學(xué)金+50.0FOR系別=”管理”3.5.3編輯記錄(2)命令:REPLACE[<范圍>3.5.4刪除記錄1.邏輯刪除:給記錄加刪除標(biāo)記(1)鼠標(biāo)操作:在瀏覽窗口中,單擊左側(cè)的白色方框使之變黑。(2)菜單:選擇“表|刪除記錄”命令(3)命令:DELETE[<范圍>][FOR<條件>][WHILE<條件>]

3.恢復(fù)邏輯刪除:取消刪除標(biāo)記(1)鼠標(biāo)操作:單擊邏輯刪除標(biāo)記,取消黑色方框。(2)菜單:選擇“表|恢復(fù)記錄”命令(3)命令:RECALL[<范圍>][FOR<條件>][WHILE<條件>]

3.物理刪除:從磁盤上刪除記錄,不可恢復(fù)。(1)菜單:選擇“表|徹底刪除”,刪除帶有刪除標(biāo)記的記錄。(2)命令:PACK(刪除帶有刪除標(biāo)記的記錄)

ZAP(清除表中所有記錄,僅保留表結(jié)構(gòu))

3.5.4刪除記錄1.邏輯刪除:給記錄加刪除標(biāo)3.5.5復(fù)制數(shù)據(jù)表1.?dāng)?shù)據(jù)表文件的復(fù)制(1)

菜單:打開表文件,選擇“文件|導(dǎo)出”,顯示“導(dǎo)出”對話框。(2)命令:COPYTO<新表文件>[<范圍>][FIELDS<字段名表>]

[FOR<條件>][WHILE<條件>]3.數(shù)據(jù)表結(jié)構(gòu)的復(fù)制

將表結(jié)構(gòu)復(fù)制到一個新表中。

命令:COPYSTRUCTURETO<新表文件>[FIELDS<字段名表>]3.數(shù)據(jù)表文件的更名

在項(xiàng)目管理器中右擊要重命名的表,從快捷菜單中選擇“重命名”命令,打開“重命名文件”對話框,輸入新的文件名。3.5.5復(fù)制數(shù)據(jù)表1.?dāng)?shù)據(jù)表文件的復(fù)制3.5.5復(fù)制數(shù)據(jù)表利用“導(dǎo)出”對話框和“導(dǎo)出選項(xiàng)”對話框復(fù)制數(shù)據(jù)表復(fù)制后的新表數(shù)據(jù)源表選擇要復(fù)制的記錄范圍條件選擇要復(fù)制的字段3.5.5復(fù)制數(shù)據(jù)表利用“導(dǎo)出”對話框和“導(dǎo)出選項(xiàng)”對話3.5.5復(fù)制數(shù)據(jù)表更改數(shù)據(jù)庫表的名稱右擊數(shù)據(jù)表更改后的表名3.5.5復(fù)制數(shù)據(jù)表更改數(shù)據(jù)庫表的名稱右擊數(shù)據(jù)表更改后的3.5.6數(shù)據(jù)表與數(shù)組之間的數(shù)據(jù)交換1.將表的當(dāng)前記錄復(fù)制到數(shù)組命令:SCATTER[FIELDS<字段名表>][MEMO]

TO<數(shù)組名>|MEMVAR功能:將數(shù)據(jù)表的當(dāng)前記錄按字段順序復(fù)制到數(shù)組或內(nèi)存變量。

例如,USEE:\VFP6\DATA\學(xué)生

*將第1條記錄的姓名、性別和系別3個字段復(fù)制到數(shù)組AA中

SCATTERFIELDS姓名,性別,系別TOAAGO5*將第5條記錄復(fù)制到數(shù)組BB中,包括備注型字段的內(nèi)容SCATTERTOBBMEMO3.5.6數(shù)據(jù)表與數(shù)組之間的數(shù)據(jù)交換1.將表的當(dāng)前記錄復(fù)3.5.6數(shù)據(jù)表與數(shù)組之間的數(shù)據(jù)交換3.將數(shù)組復(fù)制到表的當(dāng)前記錄命令:GATHERFROM<數(shù)組名>|MEMVAR

[FIELDS<字段名表>][MEMO]功能:將數(shù)組元素或同名內(nèi)存變量的值順序復(fù)制到當(dāng)前記錄的指定

字段中。例如:

USEE:\VFP6\DATA\學(xué)生*在表的末尾增加一條空記錄APPENDBLANK*將數(shù)組AA中的數(shù)據(jù)復(fù)制到當(dāng)前的空記錄中GATHERFROMAAFIELDS姓名,性別,系別

3.5.6數(shù)據(jù)表與數(shù)組之間的數(shù)據(jù)交換3.將數(shù)組復(fù)制到表的3.6.1數(shù)據(jù)表排序排序是把數(shù)據(jù)表中的記錄按照某個字段值的大小重新排列,作為排序依據(jù)的字段稱為“關(guān)鍵字”。按照關(guān)鍵字的值從小到大的排序稱為升序,從大到小的排序稱為降序。排序后生成一個新的數(shù)據(jù)表文件,其結(jié)構(gòu)和數(shù)據(jù)可以與源文件完全相同,也可以取自源文件的一部分字段。命令:

SORTTO<文件名>ON<字段名1>[/A][/D][/C][,<字段名2>[/A][/D][/C]…][ASCENDING/DESCENDING]

[<范圍>][FOR<條件>][FIELDS<字段名表>]

3.6.1數(shù)據(jù)表排序排序是把數(shù)據(jù)表中的記錄按照3.6.1數(shù)據(jù)表排序例如,

對“學(xué)生”表中所有貸款的學(xué)生按“系別”的升序進(jìn)行排序,排序后的新表文件為“貸款學(xué)生”:

USEE:\VFP6\DATA\學(xué)生SORTTO貸款學(xué)生ON系別FOR貸款否

對“學(xué)生”表中的數(shù)據(jù)按“系別”升序進(jìn)行排序,系別相同者,按“學(xué)號”降序進(jìn)行排序。排序后的文件為“各系學(xué)生”:

USEE:\VFP6\DATA\學(xué)生SORTTO各系學(xué)生ON系別,學(xué)號/D3.6.1數(shù)據(jù)表排序例如,3.6.2數(shù)據(jù)表索引

1.基本概念(1)索引是由指向表記錄的指針構(gòu)成的文件,這些指針邏輯上按照索引關(guān)鍵字的值進(jìn)行排序。索引文件和表文件分別存儲,并且不改變表中記錄的物理順序。(2)索引的類型組織方式上分,有三類。①獨(dú)立索引在索引文件中只包含一個單一的關(guān)鍵字或者組合關(guān)鍵字的索引,獨(dú)立索引文件的擴(kuò)展名為.IDX。②結(jié)構(gòu)復(fù)合索引在索引文件中可以包含多個索引項(xiàng)的索引。結(jié)構(gòu)復(fù)合索引文件的擴(kuò)展名為.CDX,是最常用的一種索引類型。3.6.2數(shù)據(jù)表索引1.基本概念3.6.2數(shù)據(jù)表索引結(jié)構(gòu)復(fù)合索引的特點(diǎn):結(jié)構(gòu)復(fù)合索引的文件主名與數(shù)據(jù)表文件主名相同在用一索引文件中可以包含多個索引關(guān)鍵字在打開數(shù)據(jù)表時自動打開對表進(jìn)行添加、修改、更新、刪除等操作時自動維護(hù)索引③非結(jié)構(gòu)復(fù)合索引索引文件的擴(kuò)展名也是.CDX,但文件主名與數(shù)據(jù)表文件不相同,它不會隨著數(shù)據(jù)表文件的打開而打開,需要使用單獨(dú)的打開命令。3.6.2數(shù)據(jù)表索引結(jié)構(gòu)復(fù)合索引的特點(diǎn):3.6.2數(shù)據(jù)表索引(3)索引關(guān)鍵字是指建立索引用的字段或字段表達(dá)式,可以是表中的單個字段,也可以是幾個字段組成的表達(dá)式。復(fù)合索引表達(dá)式通常用字符串運(yùn)算符“+”將幾個字段連接起來。當(dāng)各字段類型不同時,必須轉(zhuǎn)換為相同的數(shù)據(jù)類型。創(chuàng)建索引文件時就是根據(jù)索引關(guān)鍵字值的大小從邏輯上重新安排數(shù)據(jù)表中各條記錄的組織順序。3.6.2數(shù)據(jù)表索引(3)索引關(guān)鍵字是指建立索引用3.6.2數(shù)據(jù)表索引(4)索引關(guān)鍵字的類型①主索引:索引表達(dá)式的值唯一,即記錄不允許有重復(fù)值。

只有數(shù)據(jù)庫表才能有一個主索引。②候選索引:索引表達(dá)式的值唯一,即記錄不允許有重復(fù)值。

一個表可以有多個候選索引。③惟一索引:索引表達(dá)式的值惟一,若有重復(fù),只取第一個值。

一個表可以有多個唯一索引。④普通索引:索引表達(dá)式的值允許有重復(fù)。一個表可以有多個普通索引。3.6.2數(shù)據(jù)表索引(4)索引關(guān)鍵字的類型3.6.2數(shù)據(jù)表索引3.建立復(fù)合索引(1)利用表設(shè)計(jì)器:選擇“索引”選項(xiàng)卡。

3.6.2數(shù)據(jù)表索引3.建立復(fù)合索引3.6.2數(shù)據(jù)表索引(2)命令:INDEXON<索引關(guān)鍵字表達(dá)式>TAG<索引標(biāo)識名>

[UNIQUE|CANDIDATE][ASCENDING|DESCENDING][FOR<條件>]例如,用INDEX命令為“學(xué)生”表建立結(jié)構(gòu)復(fù)合索引,包含4個索引項(xiàng):學(xué)號(候選索引)、性別(普通索引)、系別與性別(普通索引)、系別與出生日期(普通索引)。

USEE:\VFP6\DATA\學(xué)生

INDEXON學(xué)號TAG學(xué)號CANDIDATE

INDEXON性別TAG性別

INDEXON系別+性別TAG系別_性別

INDEXON系別+DTOC(出生日期)TAG系別_生日3.6.2數(shù)據(jù)表索引(2)命令:INDEXON<索引3.6.2數(shù)據(jù)表索引3.按索引順序?yàn)g覽記錄一個復(fù)合索引文件中可以建立多個索引項(xiàng),每一項(xiàng)代表了處理記錄的一種邏輯順序。使用索引之前,應(yīng)先指定將要使用的索引項(xiàng)。(1)菜單:打開瀏覽窗口,選擇“表|屬性”命令,打開“工作區(qū)屬性”對話框,在“索引順序”框中選擇一個索引項(xiàng),瀏覽窗口中的記錄就會按按照該索引順序排列。(2)命令:SETORDERTO[TAG<索引標(biāo)識名>]3.6.2數(shù)據(jù)表索引3.按索引順序?yàn)g覽記錄一“工作區(qū)屬性”對話框:設(shè)置索引順序3.6.2數(shù)據(jù)表索引選擇索引順序“工作區(qū)屬性”對話框:設(shè)置索引順序3.6.2數(shù)據(jù)表索引選3.6.3數(shù)據(jù)表查詢數(shù)據(jù)表建立索引后,就可以使用FIND、SEEK等查詢命令,快速定位記錄,提高數(shù)據(jù)庫應(yīng)用系統(tǒng)的運(yùn)行效率。1.FIND命令:FIND<字符串>|<數(shù)值>3.SEEK命令:SEEK<表達(dá)式>這兩條命令可以快速查找表中索引關(guān)鍵字值與表達(dá)式相匹配的第一條記錄。若要繼續(xù)查找表中其他滿足條件的記錄,可以執(zhí)行SKIP命令。3.6.3數(shù)據(jù)表查詢數(shù)據(jù)表建立索引后,就可以3.6.3數(shù)據(jù)表查詢例如,

USEE:\VFP6\DATA\學(xué)生SETORDERTOTAG學(xué)號&&將“學(xué)號”索引項(xiàng)設(shè)置為當(dāng)前索引FIND01020215&&查找學(xué)號為01020215的學(xué)生記錄SEEK“01020215”SETORDERTO性別FIND女 &&查找性別為女的學(xué)生記錄SETORDERTOTAG系別_性別SEEK“計(jì)算機(jī)”+“男”&&查找計(jì)算機(jī)系男生的記錄SKIP&&繼續(xù)查找下一個計(jì)算機(jī)系男生的記錄3.6.3數(shù)據(jù)表查詢例如,3.6.4數(shù)據(jù)表統(tǒng)計(jì)與匯總1.數(shù)據(jù)表的統(tǒng)計(jì)(1)計(jì)數(shù):COUNT

(2)求和:SUM

(3)求平均值:AVERAGE3.數(shù)據(jù)表的分類匯總

對數(shù)據(jù)表中的數(shù)值型字段,按照排序或索引關(guān)鍵字值的不同分類,然后各組分別求和。

命令:TOTALON<匯總關(guān)鍵字>TO<表文件名>

例如,求每個學(xué)生各門課程的總成績。

USEE:\VFP6\DATA\成績INDEXON學(xué)號TAG學(xué)號TOTALON學(xué)號TO總成績3.6.4數(shù)據(jù)表統(tǒng)計(jì)與匯總1.數(shù)據(jù)表的統(tǒng)計(jì)3.7建立數(shù)據(jù)字典數(shù)據(jù)庫文件可以作為一個數(shù)據(jù)字典來存儲和管理有關(guān)記錄和字段的規(guī)則、缺省值、觸發(fā)器、表間關(guān)系等。

數(shù)據(jù)庫表是數(shù)

據(jù)庫的一部分,具

有自由表所沒有的

一些屬性。數(shù)據(jù)庫表特有的屬性3.7建立數(shù)據(jù)字典數(shù)據(jù)庫文件可以作為一個數(shù)據(jù)字典3.7.1設(shè)置表的字段屬性1.長字段名:自由表的字段名最多10個字符,數(shù)據(jù)庫表的字段名最多128個字符。當(dāng)從數(shù)據(jù)庫中移去一個表時,此表的長字段名將被截短成10個字符。3.輸入掩碼:限制輸入字段的內(nèi)容格式,以屏蔽非法輸入。3.格式:決定字段在表單、瀏覽窗口或報(bào)表中的顯示方式。4.標(biāo)題:字段標(biāo)題將作為該字段在瀏覽窗口中的列標(biāo)題,以及表單表格中的默認(rèn)標(biāo)題名稱。5.字段注釋:為字段添加注釋,使表更容易被理解。此外,也可以在“表”選項(xiàng)卡的“表注釋”框中為整個數(shù)據(jù)表添加注釋內(nèi)容。3.7.1設(shè)置表的字段屬性1.長字段名:自由表的字段名最3.7.2設(shè)置表的有效性規(guī)則1.默認(rèn)值:在瀏覽窗口、表單或以編程方式輸入數(shù)據(jù)時,VFP將自動為某個字段填入默認(rèn)值,直到輸入新值。默認(rèn)值可以是任何有效的表達(dá)式,但表達(dá)式的返回值必須和該字段的數(shù)據(jù)類型一致。3.字段的有效性規(guī)則:將用戶輸入的數(shù)據(jù)與所定義的規(guī)則表達(dá)式進(jìn)行比較,如果輸入的值不滿足規(guī)則要求,系統(tǒng)就拒絕該值,從而控制輸入到字段中的信息類型。

3.表的有效性規(guī)則:控制用戶輸入到記錄中的信息類型。

3.7.2設(shè)置表的有效性規(guī)則1.默認(rèn)值:在瀏覽窗口、表3.7.2設(shè)置表的有效性規(guī)則違反字段有效性規(guī)則時的提示信息3.7.2設(shè)置表的有效性規(guī)則違反字段有效性規(guī)則時的提示信3.7.2設(shè)置表的有效性規(guī)則違反記錄有效性規(guī)則時的提示信息3.7.2設(shè)置表的有效性規(guī)則違反記錄有效性規(guī)則時的提示信3.7.3設(shè)置觸發(fā)器觸發(fā)器是指當(dāng)進(jìn)行輸入、刪除或更新表記錄等操作時,系統(tǒng)自動啟動的一個程序,用來完成指定的任務(wù)。(1)插入觸發(fā)器:是在表中插入記錄時所觸發(fā)的檢測程序,該程序可以是表達(dá)式或自定義函數(shù)。檢測結(jié)果為真時,接受插入的記錄。(2)更新觸發(fā)器:是在表中修改記錄后按回車鍵時所觸發(fā)的檢測程序。檢測結(jié)果為真時,保存修改后的記錄;否則,不保存修改的結(jié)果,同時還原修改之前的記錄值。(3)刪除觸發(fā)器:是在表中刪除記錄時所激發(fā)的檢測程序。檢測結(jié)果為真時,該記錄可以被刪除;否則,禁止刪除該記錄。3.7.3設(shè)置觸發(fā)器觸發(fā)器是指當(dāng)進(jìn)行輸入、刪除或3.7.4創(chuàng)建永久關(guān)系永久關(guān)系是數(shù)據(jù)庫表之間的關(guān)系,存儲在數(shù)據(jù)庫文件中。建立關(guān)系的兩個表通常具有公共字段或語義相關(guān)的字段,其中包含主關(guān)鍵字段的表稱為父表,包含外部關(guān)鍵字段的表稱為子表。1.建立關(guān)系:對主關(guān)鍵字段和外部關(guān)鍵字段使用相同的索引表達(dá)式分別建立索引;然后打開“數(shù)據(jù)庫設(shè)計(jì)器”,將父表的索引拖到子表相匹配的索引上(兩表之間顯示一條關(guān)系線)。3.編輯關(guān)系:在數(shù)據(jù)庫設(shè)計(jì)器中右擊關(guān)系線,從快捷菜單中選擇“編輯關(guān)系”命令。3.刪除關(guān)系:右擊關(guān)系線,選擇“刪除關(guān)系”命令。3.7.4創(chuàng)建永久關(guān)系永久關(guān)系是數(shù)據(jù)庫表之3.7.4創(chuàng)建永久關(guān)系表之間的關(guān)系關(guān)系線3.7.4創(chuàng)建永久關(guān)系表之間的關(guān)系關(guān)系線3.7.5設(shè)置參照完整性參照完整性是指建立一組規(guī)則,當(dāng)用戶插入、更新或刪除一個數(shù)據(jù)表中的記錄時,通過參照引用另一個與之有關(guān)系的數(shù)據(jù)表中的記錄,來檢查對當(dāng)前表的數(shù)據(jù)操作是否正確。建立了關(guān)系的兩個數(shù)據(jù)庫表,通過實(shí)施參照完整性規(guī)則,可以確保:當(dāng)父表中沒有關(guān)聯(lián)記錄時,記錄不得添加到子表中;當(dāng)因改變主表的值而導(dǎo)致子表中出現(xiàn)孤立記錄時,主表的值不能被改變;當(dāng)主表記錄在子表中有匹配記錄時,該主表記錄不能被刪除。設(shè)置方法:打開數(shù)據(jù)庫設(shè)計(jì)器,執(zhí)行“數(shù)據(jù)庫|清理數(shù)據(jù)庫”命令,再選擇“數(shù)據(jù)庫|編輯參照完整性”命令,出現(xiàn)“參照完整性生成器”對話框,分別定義更新規(guī)則、刪除規(guī)則和插入規(guī)則。3.7.5設(shè)置參照完整性參照完整性是指建立一組規(guī)3.7.5設(shè)置參照完整性3.7.5設(shè)置參照完整性3.7.6存儲過程存儲過程是專門操作庫中數(shù)據(jù)的代碼過程,存儲在數(shù)據(jù)庫文件中。打開一個數(shù)據(jù)庫時,它們會自動加載到內(nèi)存中。當(dāng)把一個用戶自定義函數(shù)作為存儲過程保存在數(shù)據(jù)庫中時,函數(shù)的代碼保存在.DBC文件中,并且會自動隨數(shù)據(jù)庫移動。使用存儲過程可以不必在數(shù)據(jù)庫文件之外管理用戶自定義函數(shù),使得應(yīng)用程序更容易管理。3.7.6存儲過程存儲過程是專門操作庫中數(shù)據(jù)的代3.8.1工作區(qū)的選擇1.工作區(qū)VFP允許在32767個工作區(qū)中打開和操作數(shù)據(jù)表。要同時使用多個數(shù)據(jù)表,必須在不同工作區(qū)中分別打開。3.選擇工作區(qū):SELECT<工作區(qū)號|別名|0>工作區(qū)中的記錄指針彼此獨(dú)立,分別指向本工作區(qū)數(shù)據(jù)表的當(dāng)前記錄。用戶在某一時刻只能在一個工作區(qū)上(即當(dāng)前工作區(qū))操作。沒有指定工作區(qū)時,系統(tǒng)默認(rèn)使用工作區(qū)1。對當(dāng)前工作區(qū)中的數(shù)據(jù)表可以直接進(jìn)行讀寫等任何操作;而對于其它工作區(qū)中的數(shù)據(jù)表只能讀取該區(qū)記錄指針指向的當(dāng)前記錄,并且要用<別名>.<字段名>或<別名>-><字段名>的格式來指定其它工作區(qū)的字段。3.8.1工作區(qū)的選擇1.工作區(qū)VFP允許在3273.8.2數(shù)據(jù)表的聯(lián)接

1.關(guān)聯(lián)也稱為邏輯連接,可以使兩個數(shù)據(jù)表的記錄指針同步移動。關(guān)聯(lián)操作僅在兩個表之間建立一種邏輯關(guān)系,不產(chǎn)生新的數(shù)據(jù)表。

命令:SETRELATIONTO

<關(guān)鍵字表達(dá)式1>INTO<工作區(qū)>

例如,在“學(xué)生”表和“成績”表之間建立關(guān)聯(lián):

SELECT2

&&在2號工作區(qū)中打開“成績”表

USEE:\VFP6\DATA\成績*將“成績”表中的“學(xué)號”索引項(xiàng)設(shè)置為當(dāng)前索引

SETORDERTO學(xué)號

SELECT1

&&在1號工作區(qū)中打開“學(xué)生”表

USEE:\VFP6\DATA\學(xué)生

*“學(xué)生”表作為父表,“成績”表作為子表,建立關(guān)聯(lián)

SETRELATIONTO學(xué)號INTOB3.8.2數(shù)據(jù)表的聯(lián)接1.關(guān)聯(lián)也稱為邏輯連接,可3.8.2數(shù)據(jù)表的聯(lián)接3.物理連接將兩個表文件聯(lián)接生成一個新的表文件。命令:JOINWITH<工作區(qū)號>|<別名>TO<新表文件名>[FIELDS<字段名表>]FOR<聯(lián)接條件>例如,將學(xué)生表和成績表聯(lián)接起來,得到一個新的數(shù)據(jù)表“學(xué)生-成

績”,包含學(xué)號、姓名、系別、課程號、成績等字段。

SELECTBUSEE:\VFP6\DATA\成績SELECTAUSEE:\VFP6\DATA\學(xué)生JOINWITHBTO學(xué)生-成績FIELDS學(xué)號,姓名,系別,B.課程號,B.成績FOR學(xué)號=B.學(xué)號

3.8.2數(shù)據(jù)表的聯(lián)接3.物理連接將兩個表文件聯(lián)接生第3章VFP語言基礎(chǔ)第3章VFP語言基礎(chǔ)※字符型(C)※數(shù)值型(N) ※貨幣型※邏輯型(L)※日期型(D)※日期時間型(T)※整型 ※浮點(diǎn)型※雙精度型※備注型(M)※通用型(G)※二進(jìn)制字符型※二進(jìn)制備注型字段特

有類型3.1數(shù)據(jù)類型字段特

有類型3.1數(shù)據(jù)類型3.1數(shù)據(jù)類型1.字符型數(shù)據(jù)(Character)是指用各種文字字符表示的數(shù)據(jù),由字母、數(shù)字、漢字、符號和空格等組成,長度為1~254字節(jié)。3.數(shù)值型數(shù)據(jù)(Numeric)是指可以進(jìn)行算術(shù)運(yùn)算的數(shù)據(jù),由數(shù)字0~9、小數(shù)點(diǎn)和正負(fù)號構(gòu)成。3.貨幣型數(shù)據(jù)(Cuyency)采用表示貨幣量的數(shù)據(jù)來代替用數(shù)值型數(shù)據(jù)表示貨幣,長度固定為8個字節(jié)。4.邏輯型數(shù)據(jù)(Logic)是用來進(jìn)行各種邏輯判斷的數(shù)據(jù),只有兩個值:真或假,長度固定為1個字節(jié)。5.日期型數(shù)據(jù)(Date)是用來表示日期的數(shù)據(jù),存儲格式為“YYYYMMDD”,其中YYYY代表年,MM代表月,DD代表日,長度固定為8個字節(jié)。

3.1數(shù)據(jù)類型1.字符型數(shù)據(jù)(Character)是指3.1數(shù)據(jù)類型6.日期時間型數(shù)據(jù)(DateTime)描述日期和時間的數(shù)據(jù),存儲格式為“YYYYMMDDHHMMSS”,其中YYYY代表年,前兩個MM代表月,DD代表日,HH代表小時,后兩個MM代表分鐘,SS代表秒,長度固定為8個字節(jié)。7.整型數(shù)據(jù)(Integer)是指不包含小數(shù)點(diǎn)部分的數(shù)值,以二進(jìn)制形式存儲,長度固定為4個字節(jié)。8.浮點(diǎn)型數(shù)據(jù)(Float)是數(shù)值型數(shù)據(jù)的一種,與數(shù)值型數(shù)據(jù)完全等價(jià),但在存儲形式上采取浮點(diǎn)格式,由尾數(shù)、階數(shù)及字母E組成,占用8個字節(jié)。9.雙精度數(shù)據(jù)(Double)是具有更高精度的數(shù)值型數(shù)據(jù),長度固定為8個字節(jié)。

3.1數(shù)據(jù)類型6.日期時間型數(shù)據(jù)(DateTime)描3.1數(shù)據(jù)類型10.備注型數(shù)據(jù)(Memo)用于存儲字符型數(shù)據(jù)塊,長度固定為4個字節(jié),用來存儲指向?qū)嶋H數(shù)據(jù)存放位置的地址指針,實(shí)際數(shù)據(jù)存放在與數(shù)據(jù)表文件同名的.FPT文件中,其長度僅受磁盤空間的限制。11.通用型數(shù)據(jù)(General)用于存儲OLE對象,可以是文檔、圖片、電子表格等。通用型數(shù)據(jù)的長度固定為4個字節(jié),用來存儲指向.FPT文件位置的地址指針。13.字符型數(shù)據(jù)(二進(jìn)制)用于存儲任意不經(jīng)過代碼頁修改而維護(hù)的字符型數(shù)據(jù)。13.備注型數(shù)據(jù)(二進(jìn)制)用于存儲任意不經(jīng)過代碼頁修改而維護(hù)的備注型數(shù)據(jù)。3.1數(shù)據(jù)類型10.備注型數(shù)據(jù)(Memo)用于存儲字符3.3.1常量常量是指在數(shù)據(jù)處理過程中其值始終保持不變的量。1.數(shù)值型常量:是數(shù)學(xué)中的十進(jìn)制整數(shù)或小數(shù)。

如:10.25,-123.567

3.字符型常量:是用單撇號/雙撇號/方括號括起來的字符串

如:“ABCD”、’1234’、”中國北京”3.邏輯型常量:用下圓點(diǎn)作為定界符,只有真和假兩個值。

如:.T.、.t.、.Y.、.y.(真),.F.、.f.、.N.、.n.(假)4.日期型常量/日期時間型常量:表示一個確切的日期和時間,用花括號作為定界符。

如:{^2003-03-03}、{^1996-03-2012:30:15}也可以用CTOD函數(shù)進(jìn)行轉(zhuǎn)換,如CTOD(”03/03/2003”)3.3.1常量常量是指在數(shù)據(jù)處理過程中其值始終保3.3.2變量

變量是指在數(shù)據(jù)處理過程中其值可以改變的量。1.變量的命名:以字母(漢字)或下劃線開頭,由字母、漢字、數(shù)字和下劃線組成,長度不能超過128個字符。3.字段變量存在于數(shù)據(jù)表中。當(dāng)定義好一個數(shù)據(jù)表的結(jié)構(gòu),該表中的各個字段名就形成了各個字段變量。

字段變量必須先定義然后才能使用。3.內(nèi)存變量:是一種臨時信息存儲單元,獨(dú)立于數(shù)據(jù)表,可以根據(jù)需要隨時建立。其類型取決于變量值的類型,可以把不同類型的數(shù)據(jù)賦給同一個變量。當(dāng)內(nèi)存變量名與數(shù)據(jù)表中的字段變量名相同時,要訪問該內(nèi)存變量,必須在變量名前加上前綴M.或M-->,否則系統(tǒng)將優(yōu)先訪問同名的字段變量。 3.3.2變量變量是指在數(shù)據(jù)處理過程中其值可以改變3.3.2變量(1)建立內(nèi)存變量

格式1:<內(nèi)存變量名>=<表達(dá)式>格式2:STORE<表達(dá)式>TO<內(nèi)存變量名表>功能:在定義內(nèi)存變量的同時確定內(nèi)存變量的值和類型。

例如,X=5&&定義變量X,并把數(shù)值5賦給X

STOREX+10TOY&&定義變量Y,并將表達(dá)式X+10的值賦給Y

STORE”北京”TOA,B,C&&定義變量A,B,C,并賦于相同的字符數(shù)據(jù)

X=.F.&&重新定義變量X,并賦邏輯值

(2)輸出內(nèi)存變量格式1:?<表達(dá)式表>格式2:??<表達(dá)式表>

功能:計(jì)算<表達(dá)式表>中各表達(dá)式的值并在屏幕上顯示出來。

3.3.2變量(1)建立內(nèi)存變量3.3.2變量(3)顯示或打印內(nèi)存變量格式:LIST|DISPLAYMEMORY[LIKE<通配符>]

[TOPRINTE|TOFILE<文件名>]

功能:顯示或打印內(nèi)存變量的當(dāng)前信息。

例如,在命令窗口中輸入以下命令:LISTMEMORYLIKEX*結(jié)果顯示在主窗口中。

3.3.2變量(3)顯示或打印內(nèi)存變量3.3.2變量注釋信息顯示所有第一個字符為X的內(nèi)存變量信息變量名作用域類型變量值數(shù)值型內(nèi)存變量的計(jì)算機(jī)內(nèi)部表示3.3.2變量注釋信息顯示所有第一個字符為X的內(nèi)存變量信3.3.2變量(4)清除內(nèi)存變量格式1:CLEARMEMORY格式2:RELEASE<內(nèi)存變量名表>格式3:RELEASEALL[LIKE<通配符>|EXCEPT<通配符>]

功能:釋放所有內(nèi)存變量或指定的內(nèi)存變量。

例如,RELEASEX1

&&釋放內(nèi)存變量X1

RELEASEALLLIKEX*

&&釋放所有第1個字母為X的內(nèi)存變量

RELEASEALL

&&釋放所有內(nèi)存變量4.系統(tǒng)變量:以字符“_”開頭的、由VFP系統(tǒng)自動定義生成的變量,其名稱也是系統(tǒng)事先定義好的。

例如,_PAGENO,_ALIGNMENT3.3.2變量(4)清除內(nèi)存變量3.3.2變量5.?dāng)?shù)組

內(nèi)存中連續(xù)的一片存儲區(qū)域,由一組稱為數(shù)組元素的變量組成。通過賦值語句可以為各個元素分別賦值,且所賦值的數(shù)據(jù)類型可以不同。定義:DIMENSION<數(shù)組名1>(<索引值1>[,<索引值2>])

[,<數(shù)組名2>(<索引值3>[,<索引值4>])]…

數(shù)組必須先定義后使用,

且使用時下標(biāo)不能出界。每個數(shù)組元素通過數(shù)組名和

相應(yīng)的索引編號被引用。第1個元素第2個元素第3個元素第4個元素第5個元素第6個元素內(nèi)存中的數(shù)組元素?cái)?shù)組示意圖3.3.2變量5.?dāng)?shù)組內(nèi)存中連續(xù)的一片存儲區(qū)域,由3.3.2變量例如,定義一個一維數(shù)組AA和一個二維數(shù)組BB

DIMENSI0NAA(5),BB(2,3)

將數(shù)值0賦給數(shù)組AA中的所有元素STORE0TOAA將字符串xyz賦給數(shù)組元素BB(1,1)BB(1,1)=”XYZ”將數(shù)值125賦給數(shù)組元素BB(2,1)

BB(2,1)=125將邏輯真值T賦給數(shù)組元素BB(2,3)BB(2,3)=.T.3.3.2變量例如,3.3.3其它數(shù)據(jù)存儲容器1.字段、記錄和數(shù)據(jù)表

數(shù)據(jù)表是一系列相關(guān)數(shù)據(jù)的集合。字段是數(shù)據(jù)表中存儲、處理數(shù)據(jù)的基本元素,一個具體的字段只能存儲一種類型的數(shù)據(jù)。記錄是數(shù)據(jù)表中一組字段的集合,同一個數(shù)據(jù)表中所有記錄都具有相同的字段名,且同名字段在每個記錄中的數(shù)據(jù)類型、數(shù)據(jù)長度都是相同的。字段和記錄構(gòu)成了一個數(shù)據(jù)表的全部內(nèi)容。3.對象(Object)對象是一個具有屬性和行為特征的實(shí)體,在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,對象是編程的基本元素,它將某一數(shù)據(jù)和使用該數(shù)據(jù)的一組基本操作或過程封裝在一起,構(gòu)成一個統(tǒng)一體。每個對象都有自己的屬性和行為特征。

3.3.3其它數(shù)據(jù)存儲容器1.字段、記錄和數(shù)據(jù)表3.3運(yùn)算符和表達(dá)式運(yùn)算符是對相同類型數(shù)據(jù)進(jìn)行運(yùn)算操作的符號。用運(yùn)算符將常量、變量和函數(shù)等數(shù)據(jù)連接起來的式子稱為表達(dá)式。表達(dá)式的類型由運(yùn)算符的類型決定,每個表達(dá)式按照規(guī)定的運(yùn)算規(guī)則都產(chǎn)生一個惟一的值。

3.3運(yùn)算符和表達(dá)式運(yùn)算符是對相同類型數(shù)據(jù)進(jìn)行3.3運(yùn)算符和表達(dá)式1.數(shù)值表達(dá)式:用算術(shù)運(yùn)算符將數(shù)值型數(shù)據(jù)連接起來的式子,其結(jié)果仍是數(shù)值型數(shù)據(jù)。算術(shù)運(yùn)算符

3.3運(yùn)算符和表達(dá)式1.數(shù)值表達(dá)式:用算術(shù)運(yùn)算符將數(shù)值3.3運(yùn)算符和表達(dá)式3.字符表達(dá)式:用字符串運(yùn)算符將字符型數(shù)據(jù)連接起來的式子,其結(jié)果仍是字符型數(shù)據(jù)。

(1)“+”運(yùn)算符:兩個字符串首尾相連形成一個新的字符串。(2)“-”運(yùn)算符:兩個字符串相連,并將前字符串尾部的空格移到合

并后的新字符串的尾部。例如,?”ABCD”+”EFG”+”1234”

&&結(jié)果為:ABCDEFG1234?”ABCD”-”EFG”+”1234”

&&結(jié)果為:ABCDEFG12343.日期表達(dá)式:用算術(shù)運(yùn)算符將日期型和數(shù)值型數(shù)據(jù)連接起來的式子,其結(jié)果為日期型數(shù)據(jù)或數(shù)值型數(shù)據(jù)。例如,

?{^2002-01-20}+5

&&結(jié)果為日期2002/01/25

?{^2002-01-20}-5

&&結(jié)果為日期2002/01/15

?{^2002-01-20}-{^2001-10-28}

&&結(jié)果為天數(shù)843.3運(yùn)算符和表達(dá)式3.字符表達(dá)式:用字符串運(yùn)算符將字3.3運(yùn)算符和表達(dá)式4.關(guān)系表達(dá)式:用關(guān)系運(yùn)算符將運(yùn)算元素連接起來的式子,其結(jié)果為邏輯真值(.T.)或邏輯假值(.F.)。例如:S1=”讀者”

S2=”讀者文摘”

SETEXACTON?S1=S2,S2=S1,S2==S1

&&結(jié)果是.F..F..F.

SETEXACTOFF

?S1=S2,S2=S1,S2==S1

&&結(jié)果是.F..T..F.關(guān)系運(yùn)算符

3.3運(yùn)算符和表達(dá)式4.關(guān)系表達(dá)式:用關(guān)系運(yùn)算符將運(yùn)算3.3運(yùn)算符和表達(dá)式5.邏輯表達(dá)式:用邏輯運(yùn)算符將邏輯型運(yùn)算元素連接起來的式子,其結(jié)果仍是邏輯型數(shù)據(jù)。(1)AND(與):兩個表達(dá)式的值均為真,結(jié)果才為真;否則為假。(2)OR(或):兩個表達(dá)式的值均為假,結(jié)果才為假。(3)NOT、!(取反):真值變?yōu)榧僦?,假值變?yōu)檎嬷?。例如?/p>

?10>5.AND.5<2,10>5.OR.5<2

&&結(jié)果為.F..T.

6.優(yōu)先級:括號→函數(shù)→算術(shù)運(yùn)算→字符運(yùn)算→關(guān)系運(yùn)算→邏輯運(yùn)算,同級運(yùn)算從左至右順序進(jìn)行。例如,x1=3,y1=-2,x2=8,y2=-6

x1+y1>x2+y2.AND..NOT.(y1<y2)的結(jié)果為.F.

3.3運(yùn)算符和表達(dá)式5.邏輯表達(dá)式:用邏輯運(yùn)算符將邏輯3.4函數(shù)1.函數(shù)函數(shù)是一種能夠完成某種特定操作或功能的數(shù)據(jù)形式。一個函數(shù)可以接受一個或多個參數(shù),并通過特定的運(yùn)算返回一個值。格式:函數(shù)名([參數(shù)1][,參數(shù)2]…)函數(shù)值:函數(shù)的運(yùn)算結(jié)果說明:任何可以使用表達(dá)式的地方都可以使用函數(shù)。3.函數(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論