Visual FoxPro 基礎串講筆試考點_第1頁
Visual FoxPro 基礎串講筆試考點_第2頁
Visual FoxPro 基礎串講筆試考點_第3頁
Visual FoxPro 基礎串講筆試考點_第4頁
Visual FoxPro 基礎串講筆試考點_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一章:VisualFoxPro基礎

一、VFP6.0的作用

VFP6.0關系數(shù)據(jù)庫系統(tǒng)是新一代小型數(shù)據(jù)庫管理系統(tǒng)的杰出代表,它以強大的性能、完整而又

豐富的工具、較高的處理速度、友好的界面以及完備的兼容性,深受廣大用戶的喜愛。VFP是第一個全

面支持面向對程序設計(OOP)的數(shù)據(jù)庫語言。

VFP6.0擁有的近500條命令,200余種標準函數(shù)。

二、計算機數(shù)據(jù)管理的發(fā)展

1、人工管理(20世紀50年代中期以前)

2、文件系統(tǒng)(20世紀50年代后期至60年代中期)

3、數(shù)據(jù)庫方式(20世紀60年代后期)

數(shù)據(jù)與程序分離、數(shù)據(jù)集中的管理、數(shù)據(jù)可被多個程序共享

4、分布式的數(shù)據(jù)庫系統(tǒng)(20世紀70年代)

數(shù)據(jù)庫與網(wǎng)絡技術的結合,可分為緊密結合型和松散結合型

5、面向對象的數(shù)據(jù)庫系統(tǒng)(20世紀80年代后期)

面向對象的方法與數(shù)據(jù)庫的結合

1.1.2數(shù)據(jù)庫系統(tǒng)(DBS)

一、數(shù)據(jù)庫(DataBase)

DBS(DB)DBMS

存儲在計算機存儲設備上,結構化的相關數(shù)據(jù)的集合。

1、數(shù)據(jù)的冗余度最小

2、資源共享性和數(shù)據(jù)獨立性

3、安全可靠,保密性能好

二、數(shù)據(jù)庫應用系統(tǒng)(DBAS)

(DataBaseApplicationSystems)

指系統(tǒng)開發(fā)人員利用數(shù)據(jù)庫資源開的面向某一類實際應用的應用軟件系統(tǒng).

三、數(shù)據(jù)庫管理系統(tǒng)(DBMS)

(DataBaseManagementSystem)

對數(shù)據(jù)庫進行管理的系統(tǒng)軟件

四、數(shù)據(jù)庫系統(tǒng)(DBS)

引入了數(shù)據(jù)庫技術后的計算機系統(tǒng)。它實現(xiàn)了有組織地、動態(tài)地存儲大量關聯(lián)數(shù)據(jù)及提供數(shù)據(jù)處理

及信息共享的手段。

1、組成

數(shù)據(jù)庫(DB)

數(shù)據(jù)庫管理系統(tǒng)(DBMS)及相關軟件

數(shù)據(jù)庫管理員及用戶

硬件系統(tǒng)

DBS包括DB和DBMS

數(shù)據(jù)庫系統(tǒng)的核心是數(shù)據(jù)庫管理系統(tǒng)

1.1.3數(shù)據(jù)模型和二維表

通過計算機處理數(shù)據(jù),首先存在著把事物及事物間的聯(lián)系抽象為計算機所能接收的數(shù)據(jù)的一個過

程。

一:實體描述

1、實體

客觀存在并可以相互區(qū)別的事物

形式:

實際存在的事物.(例:職工,圖書)

抽象的事件.(例:職工的比賽活動,借閱圖書)

2、實體屬性

描述實體的特性稱為屬性

例:職工屬性(職工號,姓名,性別,出生日期,職稱)

圖書屬性(總編號,分類號,書名,作者,單價,出版社)

實體:屬性值的集合

實體型:屬性的集合

實體集:同類型實體的集合

VisualFoxPro中,表的字段對應實體的屬性;表中的記錄對應一個具體的實體;表對應實體集;某個

記錄屬性的集合對應實體型。

二、實體間聯(lián)系

1、聯(lián)系

實體與實體間的對應關系,它反映現(xiàn)實世界事物之間的聯(lián)系。

三、數(shù)據(jù)模型

1、概念:DBMS中表示實體與實體間聯(lián)系的方法

2、數(shù)據(jù)模型的種類

層次模型:通過樹型結構來反映實體與實體間聯(lián)系的方法,適宜于反映實體之間1:n的關系;

網(wǎng)狀模型:通過網(wǎng)狀結構來反映實體與實體間聯(lián)系的方法,適宜于反映實體之間m:n的關系;

關系模型:

用二維表格的結構形式來表示實體及實體間的聯(lián)系。

1.2關系數(shù)據(jù)庫

121關系模型

用二金表的形式表示實體及實體間的聯(lián)

系的數(shù)據(jù)模型稱關系數(shù)據(jù)模型。

一、關系術語

1、關系:一個關系就是一張二維表,每個關系有一個關系名。在VisualFoxPro中,一個

關系就是一個表文件。

2、屬性:二維表中垂直方向的列稱為屬性,

在VisualFoxPro中叫字段。

3、域:屬性的取值范圍。

4、元組:二維表中水平方向的行稱為元組,

在VisualFoxPro中叫記錄。

5、關鍵字:屬性或屬性的組合,其值能唯一標識一個元組,分主關鍵字和候選關鍵字.

6、外部關鍵字:如果一個字段不是本表的主字或候選關鍵字,而是另外一個表的主關字或候選關鍵字,

則此字段(屬性)為外部關鍵字。

總結.

1、關系是元組(或實體)的集合,對應VFP中的表。

2、關系模式:實體屬性的集合,對應表記錄的屬性。

3、元組:屬性值的集合,對應VFP中的記錄。

4、關系模型:若干個相互聯(lián)系的關系模式的集合,在VFP中對應數(shù)據(jù)庫。

1.2.2關系運算

一、傳統(tǒng)的集合運算

1、并:指由屬于兩個關系R,S元組組成的集合。

2、差:指屬于關系R但不屬于關系S的元組組成的集合,

即差運算的結果是從R中去掉S中也有的元組。

3、交:由即屬于關系R又屬于關系S的元組組成的集合,即交運算的結果是R和S的共同元組。

注:以上運算均要求兩個關系R,S必須具有相同的實型體,即屬性集合要相同。

二、專門的關系運算

關系運算的操作對象是關系,運算的結果仍為關系。

1、選擇

從關系中找出滿足給定條件的元組組成新的關系。

也就是說,選擇運算是在二維表中選擇滿足指定條件的行。

例:在Student(學生基本情況)表中,若要找出所有女學生的元組,

就可以使用選擇運算來實現(xiàn),條件是:Sex="女

2、投影

從在關系中指定若干個屬性組成新的關系。

投影是從列的角度進行運算,相當于對關系進行垂直運算。

3、聯(lián)接

聯(lián)接運算是將兩個關系模式拼接成一個更寬的關系模式,生成的新關系中滿足聯(lián)接條件的所有元組。(聯(lián)

接是關系的橫向結合)

聯(lián)接過程通過聯(lián)接條件來控制,聯(lián)接條件中將出現(xiàn)兩個表中的公共屬性名。

自然聯(lián)接

第二章:表的創(chuàng)建及常用命

VisualFoxPro6.0是一個32位數(shù)據(jù)庫開發(fā)系統(tǒng)

一、表的創(chuàng)建

表的組成:表由表結構和表中數(shù)據(jù)組成

建立數(shù)據(jù)庫表(.dbf)即表結構的四種方法:

(1)、通過項目管理器

(2)、通過“新建”菜單

(3)、通過數(shù)據(jù)庫設計器

(4)、通過命令方式

Create[TabieName]

eg:create學生表.dbf

eg:ceratexs.dbf

1、Null

在表設計器中,Null用于表示字段值是否允許為空,Null在此表示的是缺值或無確定的值,即中

數(shù)據(jù)庫中尚未存儲數(shù)據(jù)的字段,它與空字符串,數(shù)值0等含義不同。

二、修改表結構,啟用表單設計器

modifystructure

三、給當前表追加新記錄

append命令或ctrl+y

命令格式

Append[Blank]

功能:該命令用于向當前表末尾添加空記錄或以交互式填寫記錄。

命令說明

(1)、Blank子句用于在表尾添中空記錄,若省略Blank參數(shù),則進入記錄編輯對話框以交互式輸入記

錄。

(2)、若添加的是空記錄,要向表中輸入數(shù)據(jù),則還需用Edit,Change或Browse等命令來實現(xiàn)。

eg:use學生表

append

****四、補充四個標識符

(1)、Bof(文件頭):BeginningOfFile具體的位置是最上面那一條記錄的上面。

(2)、Top(頂端):最上面的那條記錄,并不等同于1號記錄。

(3)、Eof(文件尾):EndOfFile最下面的那條記錄的下面。

(4)、Bottom最下面那條記錄,不一定是記錄號最大的記錄。

網(wǎng)學生表口回區(qū)I

BOF?姓名性別1大學英語1計算機1高數(shù)1

TOP?1001張三男80.508010

1002王小丫女60.0010080

1003李四女25.005060

1004張三豐男98.005010

BOTTOM—?1005王五丁80.009013

?

EOFy

五、三個常用函數(shù)

(1)、RecnoO測試當前記錄的記錄號,結果為N型。

(2)、Bof()測試當前記錄指針是否指向BOF,結果為L型。

(3)、Eof()測試當前記錄指針是否指向EOF,結果為L型。

六、go(或got。)指針的絕對定位。

eg:goN/Top/BottomoN是代表記錄號。

七、skip

?skip]

功能:以當前記錄作為參考點,向下或向上移動指針。其中N是代表移動的記錄數(shù)。

八:displaylist

格式:display[范圍]for表達式,如果沒的for表達式,表示范圍為顯示當前記錄。

補充:VFP中的四個范圍

(1)All表示全部記錄,All與當前的記錄無關。

(2)NextN

N代表的記錄數(shù),

表示從當前記錄開始往下數(shù),總共有N條記錄,包括當前記錄。

如:use學生表

go3

display

displayall

go2

displaynext2

(3)RecordN表示記錄為N那條記錄。與當前記錄無關。

如:go2

displayrecord3注:顯示3號記錄

(4)Rest表示從當前記錄開始,

往下到最后一條記錄,包括當前記錄。

如:go2

displayrest(顯示的是:2、3、4條記錄)

八、list

格式:list[范圍]for表達式

功能:顯示記錄所有記錄

如:usexs

go2

list

?recno()2

九、使用Browse命令瀏覽記錄

命令格式

Browse

命令功能

該命令用于打開瀏覽窗口以瀏覽表中的記錄。

【例】假設已建立一個Student表,則要瀏覽Student表中的內容,可采用如下命令:

UseStudent

Browse

十、insert命令

格式:Blank[Before][Blank]

功能:在表的任意位置插入一條記錄

說明:

(1)、Before子句用于在當前記錄前插入新記錄,缺省則在當前記錄之后插入新記錄.

(2)、Blank子句用于插入空記錄,若缺省則出現(xiàn)記錄編輯對話框

(3)、若添加的是空記錄,則要向表中輸入數(shù)據(jù),還需用Edit,Change或Browse等命令來實現(xiàn)。

VFP中記錄的刪除要經(jīng)歷兩步:

(1)邏輯刪除,即先在要刪除的記錄上加刪除標記;

(2)物理刪除,即用Pack命令將帶有刪除標記的所有記錄從表中物理刪除。

VFP提供了三種刪除記錄的命令:

Delete(邏輯刪除即置刪除標記)。

Pack(物理刪除)命令以及Zap(全部刪除)命令。另外,VFP也提供了對已標記刪除標記的記錄進

行恢復的Recall命令。

H一、置刪除標記Delete命令

邏輯刪除指在滿足條件的記錄上打上刪除標記"*",并不真正將其從表中刪除。

格式:Delete[For1Expressionl]pack

功能:對當前表上滿足條件的所有記錄加上刪除標記"*

說明:

For子句用于將滿足條件的所有記錄加上刪除標圮,若缺省,則在當前記錄置刪除標記。

【例】若要邏輯刪除Student表中的第3條記錄,那么可以使用如下命令:

UseStudent

Go3

Delete

【例】若要邏輯刪除Student表中的所有的男生記錄,那么可以使用如下命令:

Use學生表

DeleteFor性別=“男”

十二、恢復記錄Recall命令

格式:Recall[ForlExpressionl]

功能:用于對已做了刪除標記的記錄進行恢復操作,即撤消記錄上的刪除標記“

說明:

For子句用于恢復所有滿足條件的記錄,若缺省則只恢復當前記錄。若當前記錄上無刪除標記,則

什么都不做。

例:恢復當前表中已經(jīng)刪除的女生記錄

RecallFor性別="女”

十三、物理刪除所有帶有刪除標記的記錄Pack命令

格式:Pack

功能:對當前表中所有已做了刪除標記的記錄進行物理刪除操作。

十四、物理刪除表中的所有記錄Zap命令

格式:Zap

功能:物理刪除當前表中所有記錄,不管是否帶有刪除標記。

說明:

(1)、該命令只刪除表中的記錄,并不刪除表的結構。

(2)、該命令等同于Delete和Pack兩條命令的組合。

(3)、該命令刪除時全部刪除,而不管記錄上是否帶有刪除標記。

十五、Copyto

格式:Copy[范圍]To新表名For表達式Fields字段名列表。

功能:將當前表中指定范圍內滿足For表達式的記錄復制生成新的表文件。其中新的表文件所包含的

字段由Fields后面的字段列表決定。

例如:

Usexs

Copytoj:\student.dbf

Copytoj:\student.dbffields學號,姓名

Usexs

Go2

DeleteNext2

Copytoj:\xsl.dbffordelete()

十六、Copystructureto

格式:Copystructureto表文件fields字段名表

功能:將當前表的結構復制生成新的表文件,生成的表是一個空表。

例如:

usexs

list

copystructuretonew.dbf

usenew

liststructure

modifystructure

注:第十五和十六條命令的to后面必須是一個新的文件或是一個處于關閉狀態(tài)下的表文件,如果是一

個處于打開的狀態(tài)下的表文件,則系統(tǒng)將會出現(xiàn)”文件正在使用“

closeall

十七、copystructureto結構描術文件extended

功能:將當前表文件的結構生成一個結構描術文件。結構描術文件也是一個表文件,只是它的結構是由

VFP自動設置的。

例如:

usexs

copystructuretonewlextended

usenewl

liststructure

*十八、AppendFrom

格式:AppendFrom表文件for表達式

或AppendFromarray數(shù)組名for表達式

功能:將另一個表中滿足for表達式的記錄追加到當前表中,或者將一個數(shù)組中滿足for表達式的數(shù)

據(jù)添加到當前表。

例如

1、先打開表

useaa

2、使用appendfrom

Appendfromxs.dbf

則將xs.dbf中所有的記錄添加到aa.dbf的后面。

十九、Clear清屏作用

第三章:VFP基礎知識

3.1常量和變量

據(jù)計算機處理數(shù)據(jù)的形式來劃分,VFP除表中的數(shù)據(jù)外,還有常量,變量,表達式,函數(shù)四種

形式的數(shù)據(jù),而對于每一種數(shù)據(jù)來說,都有一定的類型,數(shù)據(jù)類型決定了數(shù)據(jù)的存儲方式和運算方

式。

對一個表中的數(shù)據(jù),其類型是在定義表的結構時定義的。常見的數(shù)據(jù)類型有:

1、字符型2、數(shù)值型3、貨幣型

4、日期型5、日期時間型6、邏輯型(L)

3.1.1常量

1、常量:指程序運行期間其值不變的量,其類型主要有以下六種:

(1)字符型常量:

用定界符(單引號',、雙引號”“和方括號[])括起來的字符串。

(示例:"ade”<568,[book]“<book,的中文意思是,書,?!?

注意:

定界符不作為字符型常量本身,但它規(guī)定了常量的類型以及常量的起始與終止界限

字符型常量的定界符必須成對匹配(例:"myname,,[bcde”兩個表示均錯]

若某種定界符也是字符串本身的內容,則需要用另一種定界符作為該字符串的定界符.(例:

“'abed",[“abc[ned]”])

不包含任何字符的字符串(”“)叫空串,它與包含空格的字符串(”“)不同

(2)數(shù)值型常量:用來表示一個數(shù)量的大小

構成:由數(shù)字,負號,小數(shù)點構成.

表示形式:一般:538,-10.5

科學記數(shù)法:56E-12,34E4,-1.05E+20

(3)貨幣型常量:用來表示貨幣值,書寫時應加前導符"$"

注:貨幣型常量無科學記數(shù)表示法,其處理和運算時采用4位小數(shù),如果一個貨幣型常量多于4位小數(shù),

則系統(tǒng)會自動將多余的小數(shù)四舍五入。

例:$123.45678將存儲為$123.4568(超過4位自動四舍五入)

例:S332E12(錯誤)$435(正確)

(4)日期型常量:表示一個確切的日期,

「花括號作為}定界符,分隔符為斜杠(/),連字符(-)或空格中任一種,默認為斜杠(/)。12-22-1980

影響日期格式的命令:

(l)SETMARKTO[日期分隔符]

功能:設置日期的分隔符

分隔符可設置為“/“,“,缺省時系統(tǒng)統(tǒng)默認為斜杠

(2)SETDATE[TO]AMERICAN|ANSI|YMD等

功能:設置日期的的顯示格式,默認為美國格式

(3)SETCENTURYON/OFF

功能:設置日期型數(shù)據(jù)顯示時年份以2位還是以4位顯示。

(4)SETSTRICTDATETO[0/1/2]

功能:用設置是否對日期格式進行檢查

0表示不進行嚴格日期格式檢查,與早期FoxPro兼容

1表示進行嚴格日期格式檢查,系統(tǒng)默認

2表示進行嚴格日期格式檢查,且對CTOD()和CDOT()函數(shù)也有效。

(5)邏輯型常量:只有邏輯真或邏輯假兩個值,用句點(??)來作定界符

邏輯真的表示形式有:.「,.t.,.Y.,.y.

邏輯假的表示形式有:.F.,.f.,.N.,.n.

(示例:.t..T..f..F..Y..N..y..n.)

注:邏輯型常量的定界符不能省略

3.1.2變量

變量:在使用過程中其值可以改變的量。分為字段變量、內存變量兩大類

1、字段變量

2、內存變量

(1)、內存變量:它是內存中的一個區(qū)域,其值就是存儲于該區(qū)域里的數(shù)據(jù),它常用來存儲常數(shù)、中間

結果或最終結果。

(2)、內存變量的類型包括:

字符型(C),貨幣型(Y),

日期型(D),日期時間型(T),

數(shù)據(jù)型(N),邏輯型(L)六種.

(3)、當內存變量名與字段變量名同名時,字段名優(yōu)先于內存變量名,若確實要使用內存變量,則可在

其前加上”乂->或(M.)”以示訪問的是內存變量,而非字段變量。

3.1.3內存變量常用命令

一、內存變量的賦值

格式1:

STORE(表達式)T0

store〈變量名列表或數(shù)組名列表》

功能:將表達式的值賦給一個或多個內存變量.

格式2:

內存變量名*表達式>

格式2只能給一個變量賦值,而格式1可給多個內存變量或數(shù)組賦值。

【例如】

store3*4toal,a2,a3,a4,a5則al,a2值均為12

【例如】

bl=3將bl賦值3;

b2=bl+2將bl加2后的值賦給b2,此時b2等于5;

b2=b2+3將b2加3后的值再賦給b2,此時b2等于8。

說明:

一個變量的值可以不斷變化,最終結果是它最后一次的賦值,在此,”="不是等于運算符,而賦值運算

符。

2、表達式值的顯示

?

??

3、顯示內存變量

格式:

LIST/DISPLAYMEMORY[LIKE〈通配符>][TOPRINTER/TOFILE<文件名>]

說明:

◎通配符指"?“和“

?:表示任意的一個字符。

*:表示任意多個字符。

like短語用于顯示與通配符匹配的內存變量

list和display區(qū)別為:

4、釋放內存變量

格式1:RELEASE〈內存變量名表》

格式2:RELEASEALL[LIKE〈通配符>/EXCEPT〈通配符》]

格式3:RELEASEALL[EXTEND]

格式4:CLEARMEMORY

說明:

(1)、格式1用釋放指定的內存變量。

(2)、格式2:選用LIKE短語用于清除與通配符本匹配的內存變量,若選用EXCEPT短語,用于清除與

通配符不相匹配的變量。

(3)、格式3用于清除所有內存變量。

(4)、格式4用于在關閉所有文件的同時清除所有的內存變量。

示例:RELEASEALL

RELEASEX,Y,Z

RELEASEALLLIKEA*

二、數(shù)組

2、數(shù)組的定義

命令格式:

Dimensiondeclare〈數(shù)組名1>(<下標上限1>[,<下標上限2>])

說明

(1)〈下標上限》為數(shù)組下標,對一維數(shù)組來說,指的是數(shù)組元素的個數(shù);對二維數(shù)組來說,指的是數(shù)組

的最大行號和最大列號。

(2)數(shù)組的下標允許使用圓括號或方括號括起來。

(3)在同一個數(shù)組中,不同的數(shù)組元素數(shù)據(jù)類型可以不同。

(4)數(shù)組一旦被定義之后,

該數(shù)組的每個元素的初值為邏輯假值,

即.F.,可以使用有關的命令給數(shù)組元素賦值。

(5)數(shù)組應先定義,再使用,這與普通的內存變量不一樣。

例如:Dimensionaa(3),C[2,3]

二維數(shù)組舉例:

DIMENSIONA(2,3)

A(l,1)=1A(l,2)=2A(l,3)=3

A(2,1)=4A(2,2)=5A(2,3)=6

123

456

?a(l,1)

二維數(shù)組元素的存放:按行存放

例如:給二維數(shù)組X和一維數(shù)組Y進行賦值。

DIMENSIONX(3,4),Y(3)

STORE5TOX

Y(1)=325

Y(2)="ABC”

Y(3)=.T.

5、表中數(shù)據(jù)與數(shù)組數(shù)據(jù)之間的交換

(1)、表中的數(shù)據(jù)傳送到數(shù)組的語句

格式1:

SCATTERTO〈數(shù)組名〉

例:DIMEA(9)

USE學生表.dbf

SCATTOA

?A(l),A(2),A(3)

(2)數(shù)組中的數(shù)據(jù)復制到表的的當前記錄

格式1:

GATHERFROM〈數(shù)組名>[FIELDS〈字段名表>][MEMO]

格式2:

格式1:將數(shù)組中的數(shù)據(jù)作為一個記錄復制到表的當前記錄中,從第一個數(shù)組元素開始,依次向指定的

字段填寫數(shù)據(jù)。

例dimeA(3)

STORE“0”TOA

USE學生表

GATHFROMA

3.2表達式

1、表達式是指用運算符將常量、變量、字段或函數(shù)連接起來的有意義的式子。

2、表達式值:表達式最終計算結果

3、表達式的類型:由表達式值的數(shù)據(jù)類型決定,主要有:數(shù)值型、字符型、日期型、關系型、邏輯型

等。

3.2.1數(shù)值、字符與日期時間表達式

1、數(shù)值表達式

數(shù)值表達式是由算術運算符將常量、變量、字段或函數(shù)連接起來的式子,其結果仍為數(shù)值型數(shù)據(jù)。

(1)、數(shù)值運算符:圓括號()、乘方(**或,)、乘(*)、除(/)、取余(%)、加(+)、減(-)?

(2)、數(shù)值表達式:由數(shù)值運算符將數(shù)值型常量、變量、函數(shù)等連接起來的式子,其結果為數(shù)值型。

(3)、運算符的優(yōu)先順序:括號、乘方、乘除與取模、加減。

例:取余運算符閭的應用。?10%3?-10%3

2、字符表達式

字符表達式是由字符運算符將常量、變量、字段或函數(shù)連接起來的式子,其結果仍為字符型數(shù)據(jù)。

在字符運算符兩邊的數(shù)據(jù)必須是字符型數(shù)據(jù)。

(1)字符串運算符:+、-、字符串包含運算符($)和精確比較運算符仁=)o

說明:

+:兩個字符串首尾連接形成新字符串;

-:當?shù)谝粋€字符串的尾部有空格時,

將第一個字符串尾部的空格移到第二個字符串的尾部,然后,再將兩個字符串連接起來。

【例】?"ABC"+”DEF”="ABCDEF”

?“ABC“DEF”="ABCDEF”

包含運算符$:檢測左邊的字符串是否被包含在右邊的字符串中。

如果包含,返回邏輯真值(」.),否則返回邏輯假值(.F.)。

精確比較運算符==:只有當兩邊的字符串完全相等時,才返回邏輯真值(.「),反之假(.F.)。

(2)字符表達式:由字符串運算符將字符型常量、變量、函數(shù)等連接起來的式子。

例:?”abc"+"bed"結果為“abcbed”

?”abcbed"結果為"abcbed'

?"book"$"bookstore"結果為(.T.)

?“the”$"this”結果為(.F.)

?“that”=="that”結果為(?「)

?”that“=="that”結果為(.F.)

3、日期時間表達式

(1)日期型運算符:(+)、(-)

例如

?{04/03/99,12:30:20}+20結果為:{04/23/99,12:30:40)

?{04/03/99,12:30:20}-20結果為:{03/14/99,12:30:00)

?{03/03/99,12:30:20}-{03/3/99,11:30:20}結果為3600

例如:已知某個人的出生日期為1979年7月20日,計算其現(xiàn)在年齡為多少?

(「2008/1/17}-「1979/7/20})/365

注意:

(1)兩個日期及日期時間型數(shù)據(jù)的相加是無意義的。

(2)+和-既可作為日期運算符,也可作算術和字符串運算符,而使用時具體做何種運算符受其所連接運

算對象決定。

3.2.2關系表達式

(1)關系運算符:小于(<)、大于(>)、等于(=)、不等于(<>、#或!=)、小于等于(<=)、大于等于(>=)。

(2)關系表達式:由關系運算符、數(shù)值表達式、字符表達式或日期表達式組合而成的式子,返回結果為

邏輯型數(shù)據(jù)。

(3)關系運算符的兩邊,可以是字符表達式、數(shù)值表達式或者日期表達式,但兩邊的數(shù)據(jù)類型必須一致

才能進行比較。

(4)=與==不完全相同。前者稱為普通比較,后者稱為精確比較。

當環(huán)境設定為SETEXACTON時,二者有一定區(qū)別;當環(huán)境設定為SETEXACTOFF時,結果是不同的。

比較時,使用右字符串去比較左字符串。當右字符串比較完,則比較結束。如果此時的比較結果相同,

則=比較的值為.「,而不管左字符串是否結束;相反,==則要求左右必須完全一致,結果才為.T.。

【例】?”abede”=“abc”

當設置了SETEXACTOFF時,上述關系表達式結果為.T.

當設置了SETEXACTON時,上述關系表達式結果為.F.

(5)比較大小時,

日期早的日期型數(shù)據(jù)小于日期晚的日期型數(shù)據(jù);

越早的越小,越晚的越大

如:{*2000-06-11}>{*2008-12-15}

(6)字符型數(shù)據(jù)比較時從左到右逐個比較,當某個字符不一樣時,則兩個不同字符的大小決定兩個字符

串的大小,字符的大小受命令設置影響.

例:?"abc”>“ab”結果為(.T.)

(7)字符串包含運算符"$”用于比較左字符串是否存在于右字符串中,如果存在,則為.T.,反之為.F.。

(8)比較貨幣或數(shù)值時,按數(shù)值及貨幣的大小比較

例:?$564>$234結果為(.T.)

例:?“王”$"王紅”結果為.T.

1、字符排序次序的設置

當比兩個字符串時,系統(tǒng)對兩個字符串的字符自左向右逐個進行比較,一旦發(fā)現(xiàn)兩個對應的字符不

同,則根據(jù)這兩個字符的排列次序決定兩個字符串的大小,其字符的排列次序(即字符的大小)受設置命

令的影響,其命令設置方法:

(1)在“工具”菜單下選擇"選項“,打開”選項對話框,選擇其中的”數(shù)據(jù)選項卡,再選擇右上方的”

排列序列''下列框中選擇"Machine(機器)","PinYin(拼音)”,或者"Stroke(筆畫)”

(2)命令設置方式

命令:SETCOLLATETO“〈排序次序名>“

次序名可以是:"Machine","PinYin”,或"Stroke”

(3)字符的排列次序

Machine(機器)次序:西文字符按照ASCII碼值排列,空格在最前面,大寫ABCD字母序列在小寫abed

字母序列的前面,因此大寫字母小于小寫字母;對于漢字,據(jù)它們的拼音順序決定其大小,其拼音第一

個字母在后的值大.

例:?"計算機”>“電腦”結果為(.T.)

?"a”<“A”結果為(.F.)

PinYin(拼音)次序:按照拼音次序排序,對于西文字符,空格在最前面,小寫abed字母序列在前,大

寫ABCD字母序列在后,即大寫字母大于小寫字母。

Stroke(筆畫)次序:中文按照書寫筆畫的多少排序;對于西文與拼音方式相同。

3.2.3邏輯表達式

邏輯表達式是由邏輯運算符將關系表達式連接起來的表達式,結果為邏輯真和邏輯假。

邏輯運算符有:.NOT(非).、.AND(與).和.OR(或)…

優(yōu)先級別:.NOT.、.AND.、.OR.。

運算規(guī)則為:

注意點總結:

And邏輯與遇假則假

Or邏輯或遇真則真

not或!邏輯非真假互換

【例】已知某28歲女職工工資為600元

?NOT.(性別=“女”)結果為.F.

?性別="女”.AND.年齡>=28結果為.T.

?性別="男”.AND.年齡>=28結果為.F.

?性別=“女”.OR.年齡<28結果為.T.

3.2.4運算符的優(yōu)先級

同一類運算符可同時出現(xiàn)在一個表達式中,其運算具有優(yōu)先級,而對不同類型的運算符也有可能出

現(xiàn)于同一表達式,此時也要據(jù)它們的優(yōu)先級順序來決定表達式的運算順序.

不同類型運算符在同一表達式中的運算符優(yōu)先級順序為:

1、算術運算符:(),**或八,*/%,+-

2、字符串運算符和日期時間運算符:+-

3、關系運算符

4、邏輯運算符:NOT,AND,OR

例:12>2.AND.,人,<,人民,.OR..T.<.F.

先判數(shù)12>2,再判斷‘人'<'人民',再運算AND,之后再運算.T.<.F.,最后運算0R.

例:((10%3)AND(15%2=0))OR,電腦,!=,計算機,

3.3常用函數(shù)

函數(shù)是用程序來實現(xiàn)的一種數(shù)據(jù)運算或轉換,每一個函數(shù)都有特定的數(shù)據(jù)運算或轉換功能,它往往

需要若干個自變量,即運算對象或參數(shù),但函數(shù)只能有一個返回值,稱為函數(shù)值或返回值,函數(shù)值的類

型決定了函數(shù)的類型,其常見類型有:

函數(shù)的格式:函數(shù)名(參數(shù)1,參數(shù)2)

3.3.1數(shù)值型函數(shù)

(IX絕對值函數(shù)

格式:ABS(〈數(shù)值表達式〉)

功能:返回數(shù)值表達式的絕對值。

【例】?ABS(-12.34)結果為12.34

(2)、最大值函數(shù)

格式:MAX(〈數(shù)值表達式1>,<數(shù)值表達式2>)

功能:計算各數(shù)值表達式的值并返回最大值。

【例】?MAX(5*4,60/2)結果為30

(3)、最小值函數(shù)

格式:MIN(〈數(shù)值表達式1>,(數(shù)值表達式2>)

功能:計算數(shù)值表達式的值,返回最小值。

(4)、平方根函數(shù)

格式:SQRT(〈數(shù)值表達式〉)255

功能:計算數(shù)值表達式的平方根。

注:其自變量表達式不能為負

【例】?SQRT(25*4)結果為10

?-SQRT(ABS(zz))

(5)、取整函數(shù)

格式:INT(〈數(shù)值表達式》)

CEILING(〈數(shù)值表達式》)

FLOOR(〈數(shù)值表達式》)

功能:

INTO返回數(shù)值表達式的整數(shù)部分.

【例】?INT(-4.68)結果為-4

****(6)四舍五入函數(shù)

格式:ROUND(〈數(shù)值表達式),〈保留小數(shù)位數(shù)》)

功能:返回指定數(shù)值表達式指定位置后的結果。

說明:如果保留小數(shù)位數(shù)為正數(shù)n,

則對小數(shù)位進行四舍五入,

如果保留小數(shù)位數(shù)為負數(shù)n,

則對整數(shù)位進行四舍五入.

第0位指整數(shù)部分的第一位數(shù)即個位

【例】?ROUND(123.34567,3)結果為123.346

?ROUND(753.34567,-3)結果為1000

(7)圓周率函數(shù)

格式:PI()

功能:返回圓周率(數(shù)值型),無自變量

(8)求余函數(shù)(與%等同)

格式:MOD(〈數(shù)值表達式1>,<數(shù)值表達式2>)

功能:

返回兩個數(shù)相除后的余數(shù).3%5

〈數(shù)值表達式1》為被除數(shù),

〈數(shù)值表達式2>為除數(shù),

余數(shù)的符號與被除數(shù)相同,

如果被除數(shù)與除數(shù)同號,

則函數(shù)值即為兩數(shù)相除的余數(shù);

若被除數(shù)與除數(shù)異號,

則函數(shù)值為兩數(shù)相除的余數(shù)再加上除數(shù)的值.

例:

?MOD(1O,3),MOD(10,-3),MOD(-10,3),MOD(-10,-3)

則結果為:1-22-1

注:首先將除數(shù)和被除數(shù)的符號忽略進行求余運算,得到X=L

再將X的符號定為被除數(shù)的符號,得到Y=T。

由于除數(shù)和被除數(shù)是異號,所以結果是:Y+除數(shù)=-1+3=2。

mod(15,-4)=-l3+(-4)15-12=3+(-4)=-1

mod(-15,4)=1-3+4-15+12=-3+4=l

1、滿足MOD(X,2)=0這個表達式時,說明X是一個偶數(shù)。

2、滿足MOD(X,2)=1這個表達式時,說明X是一個奇數(shù)。

3、MOD(X,5)=0

如下數(shù)列請描術它的通項公式。

(1)1、9、17、25、33...

(2)3、7、11、19、23...

MOD(X,8)=1或MOD((X-1),8)=0

MOD(X,4)=3或MOD((X+l),4)=0

3.3.2字符型函數(shù)

字符型函數(shù)主要對字符型數(shù)據(jù)進行運算。

(IX求子串位置函數(shù)

格式:

AT(〈字符表達式1>,〈字符表達式2>,[<數(shù)值表達式n>])

ATC(〈字符表達式1>,〈字符表達式2>,[<數(shù)值表達式n>])

功能:

著找〈字符表達式1>在〈字符表達式2>中的起始位置。如果有<數(shù)值表達式n>,則確定〈字符型表達

式1>在<字符型表達式2>中的第n次出現(xiàn)的起始位置,若缺省〈數(shù)值表達式n>默認為1;如果字符表達

式1不是字符表達式2的子串,則返回為0。

界H

T0

【例】?AT(“A”,"BCDE”)K

劣m1

?AT("A","ABADE”)/l

身n4

?AT(“A”,"ABCADE”,2)=T

ATC函數(shù)不區(qū)分大小寫

?ATC("a","ABCDA”,1)

(2)、截取子串函數(shù)

*****格式:SUBSTR(〈字符表達式》,〈起始位置>,[<長度>])

功能:從指定的〈起始位置》開始,在〈字符表達式》中截取指定〈長度》的字符串。

說明:假設起始位置為m,長度為n。若省略n,則從m開始截取以后的所有字符串;若n大于從m開

始的字符串長度,則從m開始截取以后的所有字符串;若m大于字符表達式的長度,則截取的字符串為

空白字符串。

【例】

?SUBSTR(“HARDWORK”,3,4)結果為“RDWO”

?SUBSTR(“HARDWORK”,2)結果為“ARDWORK”

?SUBSTR(“HARDWORK”,3,9)結果為“RDWORK”

?SUBSTR(“HARDWORK”,9,5)結果為““

(3)、左截取子串函數(shù)

格式:LEFT(〈字符表達式>,〈數(shù)值表達式》)

功能:從字符表達式左邊開始,截取〈數(shù)值表達式>指定長度的字符串。

【例】

?LEFT("HARDWORK",3)'結果為“HAR”

(4)、右截取子串函數(shù)

格式:RIGHT(〈字符表達式>,〈數(shù)值表達式》)

功能:從字符表達式右邊開始向左截取〈數(shù)值表達式)指定長度的字符串o

【例】

?RIGHT(“HARDWORK”,3),結果為“ORK”

(5)、生成空字符串函數(shù)

格式:SPACE(〈數(shù)值表達式》)

功能:生成指定空格數(shù)的空字符串。

【例】?SPACE(3)'結果為““

(6)、字符串長度函數(shù)

格式:LEN(〈字符表達式》)

功能:求字符串的長度(包括空格)。

【例】?LEN("howareyou")11

'結果為11

?Len(space(3)-space(6))

(7)、字符串替換函數(shù)

格式:

***STUFF(〈字符表達式1>,〈起始位置〉,〈長度〉,〈字符表達式2〉)

功能:從指定的起始位置開始,用字符表達式2替換字符表達式1中指定個數(shù)的子串。

說明:替換與被替換的字符個數(shù)不一定相等;若長度為0,則將〈字符表達式2>插入到字符表達式1中;

若〈字符表達式2>為空,則指定長度的字符串被刪除.

【例】7STUFF(wcomputerw,3,4,“abc”)'結果為"coabcer”

?STUFF("computer”,3,1,“abc”)'結果為"coabcputer”

?STUFF("computer”,3,4,”“)‘結果為“coer”

(8)、刪除前后空格函數(shù)

格式:TRIM(〈字符表達式》)

LTRIM(〈字符表達式》)

ALLLTRIM(〈字符表達式))

功能:

TRIM。返回指字符表達式值去掉尾部空格后形成的字符串

LTRIM0返回指字符表達式值去掉前導空格后形成的字符串

ALLTRIM()返回指字符表達式值去掉前導和尾部空格后形成的字符串

例:

STORESPACE(1)+“TEST'+SPACE(3)TOSS

?TRIM(SS)+LTRIM(SS)+ALLTRIM(SS)

結果為:”TESTTESTTEST”

?LEN(SS),LEN(TRIM(SS)),LEN(LTRIM(SS)),LEN(ALLTRIM(SS))

結果為:8574

(9)、計算子串出現(xiàn)次數(shù)函數(shù)

格式:OCCUS(〈字符表達式1>,<字符表達式2>)

功能:

返回第一個字符串在第二個字符串中出現(xiàn)的次數(shù),若第一個字符串不是第二個字符串的子串,則返

回0.

例:STORE'abracadabra'TOS

?OCCUS('a',S),OCCUS('b',S),OCCUS('c',S),OCCUS('e',S)

結果為:5210

(口)、字符串匹配函數(shù)(等同于==)

格式:LIKE(〈字符串表達式1》,〈字符串表達式2>)

功能:

比較兩個字符串對應位置上的字符,若所有對應字符都相匹配,函數(shù)返回邏輯真(」.),反之,返

回邏輯假(.F.)

〈字符表達式1>中可包含有通配符"*“和“?”

例:STORE“abc”TOx

STORE“abed”TOy

?LIKE(“ab”,x),LIKE(“ab*”,y),LIKE("?b”,x),LIKE(“Abe”,x)

結果為:.F..T..F..F.(大小寫區(qū)分)

(12)、字符替換函數(shù)

格式:Chrtran(〈字符表達式1>,〈字符表達式2>,<字符表達式3>)

功能:

當?shù)谝粋€字符串中的一個或多個字符與第二字符串中的某個字符相匹配時,就用第三個字符串中的

對應字符(即與第二個字符串位置對應)替換這些字符,若第三個字符串包含的字符個數(shù)少于第二個字符

串包含的字符個數(shù),即無對應字符,則第一個字符串中相匹配的字符被刪除;反之,若多余,則多余字

符被忽略.

例:X1=CHRTRAN(“ABACAD”,“ACD”,“X12”)

CHRTRAN("ABACAD”,“ACD”,“X12”)

CHRTRAN(“XBACAD”,“ACD”,“X12”)

CHRTRAN(“XBXCAD”,“ACD”,“X12”)

CHRTRAN(“XBX1AD”,“ACD”,“X12”)

CHRTRAN(“XBX1X”,“AC”,“XI”)

CHRTRAN(“XBX1X2”,“ACD”,“X12”)

yl=CHRTRAN(“計算機ABC”,“計算機“,"電腦

Z1=HCRTRAN(“大家好”,“大家”,“你”)

?XI,yl,zl

結果等于多少?

3.3.3日期函數(shù)

(1)、系統(tǒng)時間函數(shù)

格式:TIME()

功能:返回當前系統(tǒng)時間。時間格式為HH:MM:SS

說明:此函數(shù)返回值不是日期時間型,

****而是字符型

【例】?TIME()

(2)、系統(tǒng)日期函數(shù)

格式:DATE()

功能:返回當前系統(tǒng)日期,函數(shù)值為日期型

(3)、系統(tǒng)日期時間

格式:DATETIME()

功能:返回當前系統(tǒng)的日期時間,函數(shù)值為日期時間型

【例】SETDATETOYMD

?DATE()

'假設當前日期為2001/2/17,那么結果為01/02/17

(4)、年函數(shù)

格式:YEAR(〈日期型|日期時間型〉)

功能:輸出日期型表達式的年份。

【例】?YEAR(DATE())'假設當前日期為2001/2/17,那么結果為2001。

(5)、月函數(shù)

格式:MONTH(<日期型|日期時間型》)

功能:輸出日期型表達式的月份。

【例】?MONTH(DATE())'假設當前日期為2001/2/17,那么結果為2

(6)、日函數(shù)

格式:DAY(〈日期型|日期時間型》)

功能:輸出日期型表達式的日。

【例】?DAY(DATE())'假設當前日期為2001/2/17,那么結果為17

(7)、時,分,秒函數(shù)

格式:HOUR(〈日期時間表達式》)

MINUTE(〈日期時間表達式》)

SEC(<日期時間表達式〉)

功能:返日期時間型表達式的當前小時,分鐘和秒數(shù)

注:此三函數(shù)的參數(shù)只能為日期時間型,而不能是日期型.

3.3.4轉換函數(shù)

數(shù)據(jù)的運算要求符合數(shù)據(jù)類型一致的原則,因此,若要對不同類型的數(shù)據(jù)進行運算,那么必須通過

轉換函數(shù)將其轉換為一致的數(shù)據(jù)類型。

(IX數(shù)值型轉換為字符型函數(shù)

格式:STR(〈數(shù)值表達式>[,<長度>][,<小數(shù)位數(shù)>])

功能:將數(shù)值表達式按設定的長度和小數(shù)位數(shù)轉換成字符型數(shù)據(jù)。

說明:轉換后字符串的理想長度應為L,即剛好等轉換后的數(shù)值所有位,包括小數(shù)點及負號在內。

〈長度》為轉換后的字符串位數(shù),若〈長度〉的設定值大于L,則轉換后的字符串前補”空格”;若〈長度》

的設定值小于L而大于實際數(shù)值的整數(shù)部分位數(shù),則優(yōu)先滿足整數(shù)部分而自動調整小數(shù)位數(shù);若〈長度〉

的設定值小于L又小于實際數(shù)值的整數(shù)部分位數(shù),則返回一串星號(*)

【例】?STR(123.4567,6,2)'結果為123.46

?STR(123.4567,9,2)'結果為"123.46”

?STR(123.4567,6,3)'結果為123.46

?STR(123.4567,1,2)'結果為*

(2)、字符型轉換為數(shù)值型函數(shù)

格式:VAL(〈字符型表達式》)

功能:將數(shù)字字符串轉換為數(shù)值。

說明:轉換時遇到非數(shù)字字符時停止;

***若第一個字符就不是數(shù)字,則值為0.00

【例】VAL("123.45AB")'結果為123.45

VAL(“A123.45AB”)'結果為0.00

(3)、字符轉換為ASCH函數(shù)

格式:ASC(〈字符型表達式〉)

功能:返回字符表達式第一個字符的ASCH碼值。

【例】ASC(“abc")'結果為97

(4)、ASCII碼轉換為字符函數(shù)

格式:CHR(〈數(shù)值型表達式》)

功能:將ASCII碼轉化為相應的字符。

A=65

a=97

0=48

【例】CHR(65)'結果為A

(5)、日期型或日期時間型轉換為字符型

格式:DTOC(〈日期型表達式日期時間型>[,1])

TT0C(〈日期時間表達式>[,1])

功能:DT0C將日期型或日期時間型轉換為字符型

功能:TT0C將日期時間型表達式轉換為字符串。

說明:若使用選項LU,則轉換為年月日無分隔符的形式。

【例】?DTOC(DATE())

假設當前日期為2001/2/17,那么結果為02/17/01

?DTOC(DATE(),1)

假設當前日期為2001/2/17,那么結果為20010217

(6)、字符型轉換為日期型函數(shù)

格式:CTOD(〈字符型表達式》)

CTOT(〈字符型表達式》)

功能:CTOD將字符型表達式轉換為日期型。

CTOD將字符型表達式轉換為日期時間型

說明:字符串表達式的內容必須是0-9之間的字符,否則出錯

【例】?CTOD(“02/17/64")'結果為02/17/64

(7)大寫字母轉換為小寫字母函數(shù)

格式:LOWER(〈字符型表達式〉)

功能:將字符型表達式中的大寫字母轉換為小寫字母。

【例】?LOWER(“AaBbCc")'結果為aabbcc

(8)小寫字母轉換為大寫字母函數(shù)

格式:UPPER(〈字符型表達式》)

功能:將字符型表達式中的小寫字母轉換為大寫字母。

【例】?UPPER(“AaBbCc")'結果為AABBCC

3.3.5測試函數(shù)

1、系統(tǒng)對表的記錄是逐個處理的,對于一個打開的表來說,在每一時刻只能處理一條記錄,VFP為每

一個打開的表設置一個內部使用的記錄指針,指向正在被操作的記錄,該記錄稱為當前記錄.記錄指針

的作用是標識表的當前記錄.

2、表的邏輯結構如圖所示,最上面的記錄是首記錄,記為TOP,最下面的記錄是尾記錄,記為BOTTOM.

在第一個記錄之前有一個文件起始標識,稱為BeginningofFile(BOF);在最后一個記錄的后面還有

一個文件結束標志,稱為EndofFile(EOF).使用測試函數(shù)能夠得到指針的位置,剛打開表時,記錄

指針總是指向首記錄.

(1)、值域測試函數(shù)

格式:BETWEEN(〈表達式T〉,〈表達式L〉,〈表達式H>)

功能:判斷〈表達式T>的值是否在〈表達式L>與〈表達式H〉之間,若在,則返回真.T.,反之返回假.F>;.

若〈表達式L>和〈表達式H>中有任一個為NULL是,則返回NULL.

【例】STORENULLTOX

STORE100TOY

?BETWEEN(150,Y,Y+100),BETWEEN(90,X,Y)

結果為:.T..NULL.

(2)、記錄個數(shù)測試函數(shù)

格式:RECCOUNT(〈工作區(qū)號)|〈別名>))

功能:測試指定表或當前表的記錄個數(shù)。

說明:(1)標識了邏輯刪除的記錄也包括在內,即返回表文件中物理

上存在的記錄個數(shù)。

(2)若指定表沒有打開,則返回0

(3)、工作區(qū)測試函數(shù)

格式:SELECT(〈工作區(qū)號》|〈別名〉))

功能:測試指定表或當前表所在的工作區(qū)號。

【例】SELECT1

USEStudent

SELECT2

USEScore

?SELECT()'結果為2

(4)、數(shù)據(jù)類型測試函數(shù)

格式:VARTYPE(〈表達式>[,邏輯表達式])

功能:測試表達式的數(shù)據(jù)類型,返回一個大寫字母即代表數(shù)據(jù)類型的字母,具體參見課本P77表3.8。

表達式若為常量,則需用定界符界定。

說明:若〈表達式〉為一個數(shù)組,則返回第一個數(shù)組的元素的類型;

當表達式的運算結果為NULL時,則據(jù)〈邏輯表達式>的值返回表達式的值,若〈邏輯表達式>為.工,則返

回表達式的原數(shù)據(jù)類型;若〈邏輯表達式為.F.或缺省,則返回X以表明〈表達式》的運算結果是NULL;

若〈表達式〉運算的結果是NULL,則返回X,表示運算結果是NULL

【例】x="AAA”

STORE10TOy

STORE.NULL.TOx

STORE$100.2TOz

?VARTYPE(X),VARTYPE(X,.F.),VARTYPE(X,.T.),

?VARTYPE(y),VARTYPE(z)

結果為:XXCNY

(5)、空值(NULL)測試函數(shù)

格式:ISNULL(〈表達式〉)

功能:判斷〈表達式》的運算結果是否為NULL值,若是NULL值返

回邏輯真(.「),反之為假(.F.)

(6)、“空”值測試函數(shù)

格式:EMPTY(〈表達式〉)

功能:判斷〈表達式》的結果是否為“空值”,若是則返回邏輯具(.T.),反之返回邏輯假(.F.)

NULL與“空”的區(qū)別:

NULL表示一個不確定的值,而“空”表示不同數(shù)據(jù)類型所代

(7)、條件測試函數(shù)

格式:IIF(〈邏輯表達式》,〈表達式1〉,〈表達式2>)

功能:測試〈邏輯表達式>的值,若為真(.「),函數(shù)返回〈表達式1>的值,反之返回〈表達式2>的值,

其中表達式1與表達式2的類型可以不一樣

(8)、記錄刪除測試函數(shù)

格式:DELETED(k別名)|〈工作區(qū)號>])

功能:測試指定表或當前表的當前記錄是否有刪除標記"*",若有則返回真(.T.),反之返回假

(.F.)

(9)宏替換函數(shù)

格式:&<字符型變量》

功能:替換出字符型變量的內容,即&的值是變量中的字符串,如果該函數(shù)與其后的字符無明確分界,

則要用”.”作函數(shù)結束標識.

例:STORE'職工'TODB

USE&DB

XM=“姓名”

?&XM+結果為李小明你好

SKIP

?XM,結果姓名李新

值為

3.5.6程序設計

定義:是為完成某種任務的命令序列,這些命令序列按照一定的結構合理地、有機地組合在一起,

并以文件的形式存儲在磁盤上,稱命令文件。

程序執(zhí)行時,從磁盤上調入內存,系統(tǒng)按照文件中排列的順序從第一條命令逐條執(zhí)行,直到結束。

2、關于程序的幾點說明

⑴注釋

?代碼行注釋:以NOTE或*開頭的注釋,獨立占用一

溫馨提示

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

評論

0/150

提交評論