數(shù)據(jù)庫(kù)原理與應(yīng)用技術(shù)教程電子教案6課件_第1頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用技術(shù)教程電子教案6課件_第2頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用技術(shù)教程電子教案6課件_第3頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用技術(shù)教程電子教案6課件_第4頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用技術(shù)教程電子教案6課件_第5頁(yè)
已閱讀5頁(yè),還剩131頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第4章預(yù)備知識(shí)

知識(shí)點(diǎn)●VisualFoxPro主要性能與參數(shù)●變量、表達(dá)式、函數(shù)與命令結(jié)構(gòu)

難點(diǎn)●運(yùn)算符、表達(dá)式的含義●變量與數(shù)組的使用返回1第4章預(yù)備知識(shí)知識(shí)點(diǎn)返回1◆要求熟練掌握以下內(nèi)容:●VisualFoxPro系統(tǒng)的主要性能●VisualFoxPro系統(tǒng)的數(shù)據(jù)類(lèi)型●變量與數(shù)組的使用●VisualFoxPro系統(tǒng)的命令結(jié)構(gòu)了解以下內(nèi)容:●VisualFoxPro系統(tǒng)的文件類(lèi)型

2◆要求24.1數(shù)據(jù)庫(kù)技術(shù)概述

4.2VisualFoxPro簡(jiǎn)介

4.2.1VisualFoxPro的主要特點(diǎn)

1.VisualFoxPro的基本功能⑴用戶可以將信息保存到表中,并將這些表組織成數(shù)據(jù)庫(kù)。同時(shí),可以隨時(shí)向數(shù)據(jù)庫(kù)中添加新的數(shù)據(jù),修改、更新或刪除已有的數(shù)據(jù)。

⑵用戶可以通過(guò)查詢(xún)本地視圖、遠(yuǎn)程視圖、多表視圖等快速查找到所需信息。34.1數(shù)據(jù)庫(kù)技術(shù)概述

4.2VisualFo⑶用戶可以按照自己的需要顯示和打印數(shù)據(jù)。

2.VisualFoxPro的主要特點(diǎn)⑴具有功能強(qiáng)大的操作工具·項(xiàng)目管理器·生成器·設(shè)計(jì)器·向?qū)Б票憬莸膽?yīng)用程序開(kāi)發(fā)環(huán)境⑶豐富而完整的工具4⑶用戶可以按照自己的需要顯示和打印4⑷多種的運(yùn)行方式⑸友好的用戶界面⑹真正的編譯功能⑺卓越的跨平臺(tái)特性⑻更靈活的OLE與ActiveX技術(shù)⑼面向?qū)ο蟮某绦蛟O(shè)計(jì)方法⑽典型應(yīng)用程序?qū)嵗?⑷多種的運(yùn)行方式54.2.2VisualFoxPro主要技術(shù)性能

1.程序文件與過(guò)程文件技術(shù)性能·源程序文件中程序行的最大數(shù)系統(tǒng)沒(méi)有限制受可用內(nèi)存的限制·編譯后程序的最大容量為64KB·過(guò)程文件中包含過(guò)程的最大數(shù)系統(tǒng)沒(méi)有限制受可用內(nèi)存的限制·DO調(diào)用的嵌套層數(shù)的最大值為128層·READ嵌套層次的最大層數(shù)為5層·結(jié)構(gòu)化程序設(shè)計(jì)命令嵌套的最大層數(shù)為384層·函數(shù)調(diào)用時(shí)傳遞的參數(shù)個(gè)數(shù)最多為27個(gè)·事務(wù)處理的最大數(shù)為5件64.2.2VisualFoxPro主要技術(shù)性能6

2.報(bào)表設(shè)計(jì)器的技術(shù)性能·報(bào)表定義中對(duì)象個(gè)數(shù)系統(tǒng)沒(méi)有限制受可用內(nèi)存的限制·報(bào)表定義的最大長(zhǎng)度為20英寸·分組的最大層次數(shù)為128層

3.其他的技術(shù)性能·各種類(lèi)型窗口打開(kāi)的最大數(shù)系統(tǒng)沒(méi)有限制受可用內(nèi)存的限制·瀏覽窗口打開(kāi)的個(gè)數(shù)最多為255個(gè)·每個(gè)字符串中字符的最大個(gè)數(shù)為2G字節(jié)72.報(bào)表設(shè)計(jì)器的技術(shù)性能7·每個(gè)命令行中字符的最大個(gè)數(shù)為8,192個(gè)·報(bào)表中每個(gè)控件的最多字符個(gè)數(shù)為252個(gè)·每個(gè)宏替換行中的字符數(shù)最多為8,192個(gè)·打開(kāi)文件的最大數(shù)受操作系統(tǒng)限制·鍵盤(pán)宏中的擊鍵數(shù)最大值為1,024次·SQLSELECT可以選擇的最多字段個(gè)數(shù)為255個(gè)4.2.3VisualFoxPro主要技術(shù)指標(biāo)

1.表文件和索引文件的系統(tǒng)技術(shù)指標(biāo)·表文件中記錄的最大條數(shù)為10億條·表文件的最大容量值為2G字節(jié)·每條記錄中允許有的最大字符數(shù)為65,500個(gè)8·每個(gè)命令行中字符的最大個(gè)數(shù)·每條記錄中允許有的最多字段數(shù)為255個(gè)·每個(gè)字段中允許有的字符數(shù)最多為254個(gè)·同時(shí)打開(kāi)的表的最大數(shù)為255個(gè)·非壓縮索引中每個(gè)索引關(guān)鍵字最大長(zhǎng)度為100個(gè)字符·壓縮索引中每個(gè)關(guān)鍵字的最多字符數(shù)為240個(gè)·每個(gè)表允許打開(kāi)的索引文件數(shù)系統(tǒng)沒(méi)有限制,受可用內(nèi)存的限制·每個(gè)工作區(qū)中允許打開(kāi)的索引文件數(shù)系統(tǒng)沒(méi)有限制,受可用內(nèi)存的限制·關(guān)系表達(dá)式的最大長(zhǎng)度系統(tǒng)沒(méi)有限制,受可用內(nèi)存的限制9·每條記錄中允許有的最多字段數(shù)為255個(gè)9

2.表字段的系統(tǒng)技術(shù)指標(biāo)·字符字段的最大字符數(shù)為254個(gè)·數(shù)值型字段的最大值為20位·浮點(diǎn)型字段的最大值為307位·自由表中各字段名的字符數(shù)最大值為10個(gè)字符·數(shù)據(jù)庫(kù)表中各字段名的字符數(shù)最大值為128個(gè)字符·整數(shù)表示的最小數(shù)值為-2,147,483,647·整數(shù)表示的最大數(shù)值為2,147,483,647·數(shù)值計(jì)算的精確值位數(shù)為16位102.表字段的系統(tǒng)技術(shù)指標(biāo)10

3.內(nèi)存變量與數(shù)組的系統(tǒng)技術(shù)指標(biāo)·默認(rèn)的內(nèi)存變量數(shù)為1,024個(gè)·內(nèi)存變量的最多個(gè)數(shù)為65,000個(gè)·數(shù)組的最多個(gè)數(shù)為65,000個(gè)·每個(gè)數(shù)組中元素的最大個(gè)數(shù)為5,000個(gè)4.3常量與變量4.3.1數(shù)據(jù)類(lèi)型1.字符型2.數(shù)值型

113.內(nèi)存變量與數(shù)組的系統(tǒng)技術(shù)指標(biāo)113.浮點(diǎn)型4.雙精度型5.整數(shù)型6.邏輯型7.日期型8.日期/時(shí)間型9.貨幣型10.備注型11.通用型123.浮點(diǎn)型124.3.2常量

1.字符型常量字符型常量是一個(gè)字符串,由漢字和ASCII字符集中可以打印的字符組成,使用時(shí)必須用定界符(“”、‘’和[])括起來(lái)。

2.?dāng)?shù)值型常量數(shù)值型常量由數(shù)字(0~9),正負(fù)號(hào)(+、-),小數(shù)點(diǎn)(.),E和e組成。

3.邏輯型常量邏輯型常量只有兩個(gè)邏輯值:“真”或“假”。

134.3.2常量13

4.日期型常量日期型常量用于表示日期,格式為:{mm/dd/yyyy}。

5.日期時(shí)間型常量日期時(shí)間型常量用于表示日期和時(shí)間,格式為:{mm/dd/yyyyhh:mm:ss}。4.3.3變量

1.字段變量2.內(nèi)存變量

144.日期型常量14使用變量時(shí)要注意以下兩點(diǎn):·內(nèi)存變量名不要與字段變量名同名,如果內(nèi)存變量名與字段變量名同名時(shí),字段變量?jī)?yōu)先于內(nèi)存變量,此時(shí)若必須使用內(nèi)存變量,可在內(nèi)存變量名前使用前綴“m.”,表是所用的是內(nèi)存變量?!?nèi)存變量在使用前,必須先定義并初賦值。內(nèi)存變量的定義和賦值方式有兩種:命令方式和賦值式方式。命令方式為:STORE表達(dá)式TO變量名表賦值式方式為:變量名=表達(dá)式15使用變量時(shí)要注意以下兩點(diǎn):154.3.4數(shù)組變量數(shù)組通常用于保存和處理臨時(shí)數(shù)據(jù),臨時(shí)數(shù)據(jù)表也能用于處理臨時(shí)數(shù)據(jù)。一個(gè)一維數(shù)組對(duì)應(yīng)數(shù)據(jù)表中的一條記錄,一個(gè)二維數(shù)組對(duì)應(yīng)一個(gè)數(shù)據(jù)表。在處理數(shù)據(jù)時(shí),使用數(shù)組與使用數(shù)據(jù)表相比,有以下優(yōu)點(diǎn):·數(shù)組可以保存任何類(lèi)型的數(shù)據(jù),因此比具有固定結(jié)構(gòu)的數(shù)據(jù)表靈活?!?shù)組是內(nèi)存變量,因此對(duì)它的訪問(wèn)要比對(duì)磁盤(pán)的訪問(wèn)快?!?shù)組可以“就地”進(jìn)行排序,而不需要額外的磁盤(pán)空間。164.3.4數(shù)組變量164.4運(yùn)算符與表達(dá)式

4.4.1運(yùn)算符

1.?dāng)?shù)值運(yùn)算符數(shù)值運(yùn)算符是對(duì)數(shù)值型數(shù)據(jù)進(jìn)行算術(shù)操作。具有數(shù)值運(yùn)算功能的運(yùn)算符有:加(+)、減(-)、乘(*)、除(/)、乘冪(**或^)、取余(%)、取負(fù)數(shù)(-)和括號(hào)()。

2.字符運(yùn)算符·“+”運(yùn)算符的功能是:將運(yùn)算符前、后兩個(gè)字符表達(dá)式按這兩個(gè)字符表達(dá)式的原樣連接成一個(gè)字符表達(dá)式。

174.4運(yùn)算符與表達(dá)式4.4.1運(yùn)算符17例如,“計(jì)算機(jī)”+“軟、硬件”結(jié)果為:“計(jì)算機(jī)軟、硬件”·“-”運(yùn)算符的功能是:將運(yùn)算符其前一個(gè)字符表達(dá)式的尾部空格刪除,然后與其后一個(gè)字符表達(dá)式連接成一個(gè)字符表達(dá)式。例如,“計(jì)算機(jī)”-“軟、硬件”結(jié)果為:“計(jì)算機(jī)軟、硬件”·“$”運(yùn)算符的功能是:檢查其前一個(gè)字符表達(dá)式是否包含在后一個(gè)字符表達(dá)式中,若包含結(jié)果為真“.T.”,否則為假“.F.”。例如,“硬件”$“計(jì)算機(jī)軟、硬件”結(jié)果為:.T.18例如,“計(jì)算機(jī)”+“軟、硬件”結(jié)果為:18·“==”運(yùn)算符的功能是:判斷運(yùn)算符兩邊的字符表達(dá)式是否相等,若相等結(jié)果為真“.T.”,否則為假“.F.”。例如,“計(jì)算機(jī)”-“軟、硬件”==“計(jì)算機(jī)軟、硬件”結(jié)果為:.T.

3.關(guān)系運(yùn)算符關(guān)系運(yùn)算符是對(duì)同類(lèi)型的數(shù)據(jù)進(jìn)行比較操作,可以對(duì)數(shù)值量、日期量、字符串進(jìn)行比較。關(guān)系運(yùn)算符有:“<”小于、“>”大于、“=”等于、19·“==”運(yùn)算符的功能是:判斷運(yùn)算符兩邊“<>”(#、!=)不等于、“<=”小于等于和“>=”大于等于六種,運(yùn)算級(jí)別相同。

4.邏輯運(yùn)算符邏輯運(yùn)算符是對(duì)邏輯型數(shù)據(jù)進(jìn)行邏輯運(yùn)算。邏輯運(yùn)算符有三種:“NOT”邏輯非、AND”邏輯與和“OR”邏輯或。運(yùn)算級(jí)別是:“NOT”最高,“AND”次之,“OR”最低。邏輯運(yùn)算符是在相同的數(shù)據(jù)類(lèi)型之間才能使用,可以使用邏輯運(yùn)算符的數(shù)據(jù)類(lèi)型有:字符型、數(shù)值型、日期型、日期時(shí)間型和貨幣型。20“<>”(#、!=)不等于、“<=”小于等于和“>=”20

5.日期和日期時(shí)間運(yùn)算符+和-兩個(gè)運(yùn)算符也可以作為日期和日期時(shí)間運(yùn)算符。例如,{01/20/1998}-21~12/30/1997;{02/19/98}-{01/19/98}~31

6.運(yùn)算符的優(yōu)先級(jí)

⑴括號(hào),⑵取負(fù)號(hào),⑶乘冪,⑷模運(yùn)算,⑸乘法和除法,⑹加、減和字符聯(lián)接(包括:$),⑺關(guān)系運(yùn)算符(包括:==),⑻N(yùn)OT或!,⑼AND,⑽OR運(yùn)算符的優(yōu)先級(jí)從⑴到⑽逐級(jí)降低,OR運(yùn)算符的優(yōu)先級(jí)最低。215.日期和日期時(shí)間運(yùn)算符214.4.2表達(dá)式

表達(dá)式是VisualFoxPro語(yǔ)言的重要運(yùn)算成分,是由操作符和操作數(shù)組成的具有一定含義的式子。操作符就是運(yùn)算符,操作數(shù)包括:常量、內(nèi)存變量、字段變量、數(shù)組變量和函數(shù)。在一個(gè)表達(dá)式中,如果有不同類(lèi)型的運(yùn)算符時(shí),首先進(jìn)行算術(shù)或字符運(yùn)算,然后是關(guān)系運(yùn)算,最后才進(jìn)行邏輯運(yùn)算。用括號(hào)可以改變運(yùn)算的順序,同級(jí)運(yùn)算符的運(yùn)算順序是依次從左到右。224.4.2表達(dá)式22例如,“計(jì)算機(jī)”-“軟、硬件”==“計(jì)算機(jī)軟、硬件”就是一個(gè)字符表達(dá)式

1.字符表達(dá)式

組成字符表達(dá)式的內(nèi)容有:字符型字段、返回值為字符型的函數(shù)、字符型的內(nèi)存變量或數(shù)組元素、字符常量,以及字符運(yùn)算符,其運(yùn)算結(jié)果是字符型數(shù)據(jù)。

2.?dāng)?shù)值表達(dá)式

組成數(shù)值表達(dá)式的內(nèi)容有:數(shù)值型字段、返回值為數(shù)值型的函數(shù)、數(shù)值型內(nèi)存變量和數(shù)組元素、數(shù)值常量以及算術(shù)運(yùn)算符,其運(yùn)算結(jié)果是數(shù)值型數(shù)據(jù)。23例如,“計(jì)算機(jī)”-“軟、硬件”==“計(jì)算機(jī)軟、23例如,18+A*(B%7)=(D+C)*5

3.關(guān)系表達(dá)式

關(guān)系表達(dá)式可以由關(guān)系運(yùn)算符與字符表達(dá)式或數(shù)值表達(dá)式組成,關(guān)系運(yùn)算符兩邊的數(shù)據(jù)的類(lèi)型必須一致,其運(yùn)算結(jié)果是邏輯型數(shù)據(jù)。例如:Date()>={05/01/2003};Date()+31<{07/01/2003}

4.邏輯表達(dá)式組成邏輯表達(dá)式的內(nèi)容有:邏輯型字段、返回值為邏輯型的函數(shù)、邏輯型內(nèi)存變量或數(shù)元素以及邏輯運(yùn)算符,或由關(guān)系運(yùn)算符組成的其它類(lèi)型的表達(dá)式(如字符型、數(shù)值型24例如,18+A*(B%7)=(D+C)*524或日期型等)。邏輯表達(dá)式的值只能是真或假。例如:Date()>={05/01/2003}ORDate()+31<{07/01/2003}

5.日期表達(dá)式組成日期表達(dá)式的內(nèi)容有:日期型字段、返回值為日期型的函數(shù)、日期型內(nèi)存變量和數(shù)組元素、日期型常量以及算術(shù)運(yùn)算符,其運(yùn)算結(jié)果是日期型或數(shù)值型數(shù)據(jù)。例如,{03/15/1985}+21~04/05/1985;{02/19/1998}-{01/19/1998}~3125或日期型等)。邏輯表達(dá)式的值只能是真或254.5常用函數(shù)4.5.1數(shù)值處理函數(shù)

1.絕對(duì)值函數(shù)ABS()格式:ABS(數(shù)值表達(dá)式)功能:返回“數(shù)值表達(dá)式”的絕對(duì)值。

2.取整函數(shù)INT()格式:INT(數(shù)值表達(dá)式)功能:去掉“數(shù)值表達(dá)式”的小數(shù)部分,返回其整數(shù)部分。264.5常用函數(shù)4.5.1數(shù)值處理函數(shù)26

3.四舍五入函數(shù)ROUND()格式:ROUND(數(shù)值表達(dá)式1,數(shù)值表達(dá)式2)

4.取余函數(shù)MOD()格式:MOD(數(shù)值表達(dá)式1,數(shù)值表達(dá)式2)功能:返回“數(shù)值表達(dá)式1”除以“數(shù)值表達(dá)式2”的余數(shù)。

5.求最大值函數(shù)MAX()格式:MAX(表達(dá)式1,表達(dá)式2>[,表達(dá)式3…])273.四舍五入函數(shù)ROUND()27功能:返回表達(dá)式“表達(dá)式1”,“表達(dá)式2”,“表達(dá)式3”…中的最大值。注意,這些表達(dá)式必須具有相同的數(shù)據(jù)類(lèi)型(可以是字符型、數(shù)值型或日期型等)。

6.求最小值函數(shù)MIN()格式:MIN(表達(dá)式1,表達(dá)式2>[,表達(dá)式3…])功能:返回表達(dá)式“表達(dá)式1”,“表達(dá)式2”,“表達(dá)式3”…中的最小值。注意,這些表達(dá)式必須具有相同數(shù)據(jù)類(lèi)型(可以是字符型、數(shù)值型或日期型等)。28功能:返回表達(dá)式“表達(dá)式1”,“表達(dá)式2”,4.5.2字符處理函數(shù)

1.宏代換函數(shù)&格式:&字符型內(nèi)存變量[.字符表達(dá)式]功能:將“字符型內(nèi)存變量”中的內(nèi)容替換出。使用可選項(xiàng):分隔符“.”及字符表達(dá)式,還可以將“字符表達(dá)式”的值添加在其尾端,而且“字符表達(dá)式”本身也可以是一個(gè)宏。

2.刪除字符串空格函數(shù)⑴刪除字符串前置空格及尾部空格函數(shù)ALLTRIM()格式:ALLTRIM(字符表達(dá)式)功能:返回刪除了“字符表達(dá)式”的前置空格及尾部空格的字符串。294.5.2字符處理函數(shù)29⑵刪除字符串前置空格函數(shù)LTRIM()格式:LTRIM(字符表達(dá)式)功能:返回刪除了“字符表達(dá)式”的前置空格的字符串。⑶刪除字符串尾部空格函數(shù)RTRIM()格式:RTRIM(字符表達(dá)式)功能:返回刪除了“字符表達(dá)式”的尾部空格的字符串。

3.字符串搜索函數(shù)⑴搜索字符串起始位置函數(shù)AT()和ATC()格式:AT(字符表達(dá)式1,字符表達(dá)式2[,數(shù)值表達(dá)式])30⑵刪除字符串前置空格函數(shù)LTRIM()30功能:返回“字符表達(dá)式1”在“字符表達(dá)式2”中第一次出現(xiàn)的起始位置值(從左到右計(jì)數(shù))。若“字符表達(dá)式1”未出現(xiàn)在“字符表達(dá)式2”中,則返回零值??蛇x項(xiàng)“數(shù)值表達(dá)式”的值表示“字符表達(dá)式1”在“字符表達(dá)式2”中重復(fù)出現(xiàn)的次數(shù),有則表示“數(shù)值表達(dá)式”則表示從其值所表示的重復(fù)出現(xiàn)的次數(shù)開(kāi)始查找。⑵搜索字符串起始位置函數(shù)ATC()格式:ATC(字符表達(dá)式1,字符表達(dá)式2[,數(shù)值表達(dá)式])功能:函數(shù)ATC()與AT()功能相同,只是AT()要區(qū)分大小寫(xiě),ATC()不區(qū)分大小寫(xiě)。31功能:返回“字符表達(dá)式1”在“字符表達(dá)式31

4.取子字符串函數(shù)⑴左截子字符串函數(shù)LEFT()格式:LEFT(字符表達(dá)式,數(shù)值表達(dá)式)功能:返回從“字符表達(dá)式”中截取的字符串,截取從“字符表達(dá)式”的左邊起,截取的字符數(shù)由“數(shù)值表達(dá)式”的值決定。如果“數(shù)值表達(dá)式”值小于或等于零,則返回空字符串。(2)右截子字符串函數(shù)RIGHT()格式:RIGHT(字符表達(dá)式,數(shù)值表達(dá)式)功能:返回從“字符表達(dá)式”中截取的字符串,截取從“字符表達(dá)式”的右邊開(kāi)始,截取的字符數(shù)由“數(shù)值表達(dá)式”的值決定。如果“數(shù)值表達(dá)式”值小于或等于零,則返回空字符串。324.取子字符串函數(shù)32⑶截子字符串函數(shù)SUBSTR()格式:SUBSTR(字符表達(dá)式,數(shù)值表達(dá)式1[,數(shù)值表達(dá)式2])功能:返回從“字符表達(dá)式”中截取的字符串,截取位置由“數(shù)值表達(dá)式1”的值決定,截取長(zhǎng)度由“數(shù)值表達(dá)式2”的值決定。如果無(wú)“數(shù)值表達(dá)式2”選項(xiàng),則從“數(shù)值表達(dá)式1”的值所示的位置開(kāi)始直到“字符表達(dá)式”的尾部。

5.復(fù)制字符串函數(shù)REPLICATE()格式:REPLICATE(字符表達(dá)式,數(shù)值表達(dá)式)功能:返回重復(fù)的“字符表達(dá)式”,重復(fù)的次數(shù)由“數(shù)值表達(dá)式”決定。33⑶截子字符串函數(shù)SUBSTR()33

6.產(chǎn)生空格函數(shù)SPACE()格式:SPACE(數(shù)值表達(dá)式)功能:產(chǎn)生一串空格,空格數(shù)由“數(shù)值表達(dá)式”的值確定。

7.轉(zhuǎn)換字符串函數(shù)⑴字符串插入或替換函數(shù)STUFF()格式:STUFF(字符表達(dá)式1,數(shù)值表達(dá)式1[,數(shù)值表達(dá)式2,字符表達(dá)式2]功能:在“字符表達(dá)式1”中插入或替換一串字符。插入或替換的位置由“數(shù)值表達(dá)式1”的值決定;“字符表達(dá)式2”是用于替代或插入到“字符表達(dá)式1”中的字符串,替代或插入的數(shù)由“數(shù)值表達(dá)式2”的值決定。346.產(chǎn)生空格函數(shù)SPACE()34如果“數(shù)值表達(dá)式2”的值為零,表示僅將“字符表達(dá)式2”插入到“字符表達(dá)式1”中;否則,將替換“字符表達(dá)式1”中的字符。如果“字符表達(dá)式2”是一個(gè)空字符串,表示僅從“字符表達(dá)式1”中刪除“數(shù)值表達(dá)式2”所示的字符個(gè)數(shù)而不加入任何字符。⑵小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)字母函數(shù)UPPER()格式:UPPER(字符表達(dá)式)功能:將“字符表達(dá)式”中所有小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)字母,其他字符不變。⑶大寫(xiě)字母轉(zhuǎn)換成小寫(xiě)字母函數(shù)LOWER()格式:LOWER(字符表達(dá)式)功能:將“字符表達(dá)式”中所有大寫(xiě)字母轉(zhuǎn)換成小寫(xiě)字母,其他字符不變。35如果“數(shù)值表達(dá)式2”的值為零,表示僅將“字35⑷首字母轉(zhuǎn)換成大寫(xiě)字母函數(shù)PROPER()格式:PROPER(字符表達(dá)式)功能:將“字符表達(dá)式”中的首字母轉(zhuǎn)換成大寫(xiě)字母,而其余字母以小寫(xiě)表示。

8.ASCII碼轉(zhuǎn)換函數(shù)(1)求數(shù)值所對(duì)應(yīng)ASCII碼字符的函數(shù)CHR()格式:CHR(數(shù)值表達(dá)式)功能:返回“數(shù)值表達(dá)式”的值所對(duì)應(yīng)的ASCII碼字符。(2)求ASCII字符所對(duì)應(yīng)數(shù)值的函數(shù)ASC()格式:ASC(字符表達(dá)式)功能:返回“字符表達(dá)式”值最左邊字符所對(duì)應(yīng)的ASCII碼(十進(jìn)制)。36⑷首字母轉(zhuǎn)換成大寫(xiě)字母函數(shù)PROPER()369.測(cè)試字符串長(zhǎng)度函數(shù)LEN()格式:LEN(字符表達(dá)式)功能:返回“字符表達(dá)式”的字符個(gè)數(shù)。<字符表達(dá)式>可以是一個(gè)字符串、備注字段或字符類(lèi)型字段。若“字符表達(dá)式”為一空字符串,則返回值為零。4.5.3日期和時(shí)間處理函數(shù)

1.DAY()函數(shù)格式:DAY(日期表達(dá)式)功能:以數(shù)值類(lèi)型的形式,返回“日期表達(dá)式”所表示月份的第幾天。“日期表達(dá)式”可以是系統(tǒng)的日期函數(shù)、內(nèi)存變量或字段變量。379.測(cè)試字符串長(zhǎng)度函數(shù)LEN()372.MONTH()函數(shù)格式:MONTH(日期表達(dá)式)功能:以數(shù)值類(lèi)型的形式,返回“日期表達(dá)式”所表示的月份?!叭掌诒磉_(dá)式”可以是系統(tǒng)的日期函數(shù)、內(nèi)存變量或字段變量。3.YEAR()函數(shù)格式:YEAR(日期表達(dá)式)功能:以數(shù)值類(lèi)型的形式,返回“日期表達(dá)式”所表示的公元年份。“日期表達(dá)式”可以是系統(tǒng)的日期函數(shù)、內(nèi)存變量或字段變量。4.DOW()函數(shù)格式:DOW(日期表達(dá)式)功能:以數(shù)值類(lèi)型的形式,返回“日期表達(dá)式”所表示星期的第幾天。1表示星期日,2382.MONTH()函數(shù)38表示星期一,…,7表示星期六?!叭掌诒磉_(dá)式”可以是系統(tǒng)的日期函數(shù)、內(nèi)存變量或字段變量。5.CDOW()函數(shù)格式:CDOW(日期表達(dá)式)功能:以字符類(lèi)型的形式,返回“日期表達(dá)式”所表示星期的第幾天的星期名稱(chēng)?!叭掌诒磉_(dá)式”可以是系統(tǒng)的日期函數(shù)、內(nèi)存變量或字段變量。6.DATE()函數(shù)格式:DATE()功能:返回當(dāng)前的系統(tǒng)日期。返回的日期格式可以用SETCENTURY、SETMARKTO命令來(lái)更改。39表示星期一,…,7表示星期六?!叭掌诒磉_(dá)39

7.TIME()函數(shù)格式:TIME()功能:返回當(dāng)前的系統(tǒng)時(shí)間。返回的時(shí)間格式可用SETHOURSTO命令來(lái)更改。4.5.4數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)1.將數(shù)值轉(zhuǎn)換為字符串的函數(shù)STR()格式:STR(數(shù)值表達(dá)式1[,數(shù)值表達(dá)式2[,數(shù)值表達(dá)式3]])功能:先計(jì)算“數(shù)值表達(dá)式1”的值,然后將此值轉(zhuǎn)換成數(shù)字字符串。字符串的長(zhǎng)度由“數(shù)值表達(dá)式2”決定,小數(shù)位數(shù)由“數(shù)值表達(dá)式3”。407.TIME()函數(shù)402.將數(shù)字字符串轉(zhuǎn)換成數(shù)值的函數(shù)VAL()格式:VAL(字符表達(dá)式)功能:從“字符表達(dá)式”最左邊的數(shù)字字符開(kāi)始,在忽略前置空格的情形下由左向右將阿拉伯?dāng)?shù)字字符轉(zhuǎn)換成數(shù)值,直到遇到一個(gè)非數(shù)字字符為止。如果“字符表達(dá)式”的第一個(gè)字符不是阿拉伯?dāng)?shù)字,則VAL()函數(shù)的返回值為零。

3.將字符串轉(zhuǎn)換成日期型值的函數(shù)CTOD()格式:CTOD(日期格式字符表達(dá)式)功能:將“日期格式字符表達(dá)式”轉(zhuǎn)換成日期型的值。412.將數(shù)字字符串轉(zhuǎn)換成數(shù)值的函數(shù)VAL()41

4.將日期型值轉(zhuǎn)換成字符串的函數(shù)⑴DTOC()函數(shù)格式:DTOC(日期型表達(dá)式[,1])功能:將“日期型表達(dá)式”轉(zhuǎn)換成日期格式字符串。<日期型表達(dá)式>可以是系統(tǒng)日期函數(shù)、內(nèi)存變量或字段變量。有可選項(xiàng)[,1],則與DTOS()函數(shù)功能相同。⑵DTOS()函數(shù)格式:DTOS(日期型表達(dá)式)功能:將“日期型表達(dá)式”轉(zhuǎn)換成“YYYYMMDD”格式的字符串。<日期型表達(dá)式>可以是系統(tǒng)日期函數(shù)、內(nèi)存變量或字段變量。424.將日期型值轉(zhuǎn)換成字符串的函數(shù)424.5.5與數(shù)據(jù)表(庫(kù))相關(guān)的函數(shù)1.ALIAS()函數(shù)格式:ALIAS([數(shù)值表達(dá)式|字符表達(dá)式])功能:返回當(dāng)前工作區(qū)已打開(kāi)的數(shù)據(jù)表(庫(kù))文件的別名(alias)。如果當(dāng)時(shí)并未打開(kāi)任何數(shù)據(jù)表(庫(kù))文件,則返回一空字符串??蛇x項(xiàng)“數(shù)值表達(dá)式”或“字符表達(dá)式”用于指示函數(shù)ALIAS()所檢測(cè)的工作區(qū)。2.DBF()函數(shù)格式:DBF([數(shù)值表達(dá)式|字符表達(dá)式])功能:返回當(dāng)前工作區(qū)已打開(kāi)的數(shù)據(jù)表(庫(kù))的文件名。如果當(dāng)時(shí)并未打開(kāi)任何數(shù)據(jù)表(庫(kù))文件,則返回一空字符串。434.5.5與數(shù)據(jù)表(庫(kù))相關(guān)的函數(shù)43可選項(xiàng)“數(shù)值表達(dá)式”或“字符表達(dá)式”用來(lái)指示函數(shù)DBF()所檢測(cè)的工作區(qū)?!皵?shù)值表達(dá)式”是工作區(qū)數(shù)字編號(hào)(1~255),而“字符表達(dá)式”可以是工作區(qū)別名或工作區(qū)字母代號(hào)(A~J)。

3.FCOUNT()函數(shù)格式:FCOUNT([數(shù)值表達(dá)式|字符表達(dá)式])功能:返回當(dāng)前工作區(qū)已打開(kāi)的數(shù)據(jù)表(庫(kù))文件的字段的個(gè)數(shù)。如果當(dāng)時(shí)并未打開(kāi)任何數(shù)據(jù)表(庫(kù))文件,則返回?cái)?shù)值0??蛇x項(xiàng)“數(shù)值表達(dá)式”或“字符表達(dá)式”用來(lái)指示函數(shù)FCOUNT()所檢測(cè)的工作區(qū)。“數(shù)值表達(dá)式”是工作區(qū)數(shù)字編號(hào)(1~255),而“字符表達(dá)式”可以是工作區(qū)別名或工作區(qū)字母代號(hào)(A~J)。44可選項(xiàng)“數(shù)值表達(dá)式”或“字符表達(dá)式”用來(lái)指示44

4.RECNO()函數(shù)格式:RECNO([數(shù)值表達(dá)式|字符表達(dá)式])功能:返回當(dāng)前工作區(qū)已打開(kāi)的數(shù)據(jù)表(庫(kù))文件的當(dāng)前記錄號(hào)。如果當(dāng)前的數(shù)據(jù)表(庫(kù))文件里沒(méi)有記錄,則返回?cái)?shù)值1,EOF()函數(shù)返回值為.T.??蛇x項(xiàng)“數(shù)值表達(dá)式”或“字符表達(dá)式”用來(lái)指示函數(shù)RECNO()所檢測(cè)的工作區(qū)?!皵?shù)值表達(dá)式”是工作區(qū)數(shù)字編號(hào)(1~255),而“字符表達(dá)式”可以是工作區(qū)別名或工作區(qū)字母代號(hào)(A~J)。454.RECNO()函數(shù)454.6VisualFoxPro的文件類(lèi)型

與命令結(jié)構(gòu)4.6.1常用文件類(lèi)型

1.項(xiàng)目文件項(xiàng)目文件又稱(chēng)項(xiàng)目管理器(ProjectManager)文件,是用于保存應(yīng)用程序中所使用的其它文件的文件。在項(xiàng)目文件中,便于集中組織管理和協(xié)調(diào)各種相關(guān)的文件,使其更容易被處理。2.?dāng)?shù)據(jù)庫(kù)文件464.6VisualFoxPro的文件類(lèi)型

與命令在VisualFoxPro中應(yīng)用程序會(huì)建立多個(gè)表,數(shù)據(jù)庫(kù)文件是為了方便管理和協(xié)調(diào)這些表之間的關(guān)系而定義的一種特殊的格式文件。數(shù)據(jù)庫(kù)文件的擴(kuò)展名是.DBC,數(shù)據(jù)庫(kù)備注文件的擴(kuò)展名是.DCT。

3.表文件表文件是用于保存數(shù)據(jù)的文件,是VisualFoxPro中最常用的文件。表文件的擴(kuò)展名是.DBF,其備注型文件的擴(kuò)展名是.DBT,是表文件的輔助文件,是表文件中的備注型字段和通用型字段的內(nèi)容所形成的文件。

4.程序文件程序文件又稱(chēng)命令文件,由命令或程序47在VisualFoxPro中應(yīng)用程序會(huì)建設(shè)定與語(yǔ)句組成,是用戶為完成某項(xiàng)任務(wù)而編寫(xiě)的程序。源程序文件的擴(kuò)展名為.PRG,編譯后產(chǎn)生的文件與源程序文件同名,但其擴(kuò)展名為.FXP。

5.索引文件索引文件是根據(jù)索引表達(dá)式對(duì)表文件在邏輯上進(jìn)行排序而形成的,其作用就是對(duì)表進(jìn)行快速查詢(xún)。索引文件分為單索引文件和復(fù)合索引文件兩種,單索引文件的擴(kuò)展名為.IDX,復(fù)合索引文件的擴(kuò)展名為.CDX。

6.內(nèi)存變量文件內(nèi)存變量文件用于保存用戶自定義的內(nèi)存變量的值以備后用。內(nèi)存變量文件的擴(kuò)展名為.MEM。48設(shè)定與語(yǔ)句組成,是用戶為完成某項(xiàng)任務(wù)而48

7.屏幕格式文件屏幕格式文件用于定義對(duì)表進(jìn)行全屏幕編輯的屏幕格式,這種格式可以使數(shù)據(jù)的輸入與輸出直觀、方便。屏幕格式文件只能由注釋語(yǔ)句、格式化語(yǔ)句@…SAY…GET和READ語(yǔ)句組成,用于在屏幕和打印機(jī)的指定位置上輸出一定格式的數(shù)據(jù)或從鍵盤(pán)上輸入數(shù)據(jù)給內(nèi)存變量。屏幕格式文件的擴(kuò)展名為.FMT,編譯后的文件擴(kuò)展名是.PRX。497.屏幕格式文件49

8.報(bào)表格式文件報(bào)表格式文件是一個(gè)輸出格式文件,包含報(bào)表的標(biāo)題、數(shù)據(jù)內(nèi)容、分類(lèi)小計(jì)、合計(jì)和打印格式等部分。報(bào)表格式文件的擴(kuò)展名為.FRX,報(bào)表格式備注文件的擴(kuò)展名文件是用戶打印標(biāo)簽、名片的格式文件,包含了打印標(biāo)簽的命令所需的全部信息。標(biāo)簽文件的擴(kuò)展名是.LBX,標(biāo)簽備注文件的擴(kuò)展名是.LBT。

10.文本文件文本文件通常是對(duì)某些信息的說(shuō)明,或存放非格式數(shù)據(jù)的文件。在項(xiàng)目管理器中的508.報(bào)表格式文件50文本文件通常是對(duì)頭文件的定義。文本文件可由任何文本編輯器編輯,其擴(kuò)展是.TXT。

11.菜單文件菜單文件是由各類(lèi)菜單定義命令或由項(xiàng)目管理器中的菜單設(shè)計(jì)器產(chǎn)生,菜單文件是用來(lái)對(duì)用戶自定義的菜單功能實(shí)現(xiàn)圖形化管理的格式文件。菜單文件的擴(kuò)展名是.MNX,菜單備注文件的擴(kuò)展名是.MNT,由菜單生成的菜單程序文件的擴(kuò)展名是.MPR,編譯后的菜單程序文件的擴(kuò)展名是.MPX。

12.表單文件表單又稱(chēng)“窗體”,是用戶輸入數(shù)據(jù)或察看表內(nèi)容所使用的一種屏幕界面。表單不僅僅有界面的作用,表單文件還提供了豐富的,能反映用戶事件的對(duì)象集,使用戶能方便地51文本文件通常是對(duì)頭文件的定義。文本文件51完成信息管理的任務(wù)。表單文件的擴(kuò)展名是.SCX,表單備注文件的擴(kuò)展名是.SCT。4.6.2常用系統(tǒng)環(huán)境設(shè)置

1.設(shè)置會(huì)話狀態(tài)命令格式:SETTALKON/OFF功能:設(shè)置每條命令的執(zhí)行結(jié)果是否顯示在屏幕上或打印輸出。說(shuō)明:系統(tǒng)默認(rèn)設(shè)置為ON。

2.設(shè)置跟蹤狀態(tài)命令格式:SETECHOON/OFF功能:控制程序文件執(zhí)行過(guò)程中的每條命令是否顯示或打印出來(lái)。說(shuō)明:系統(tǒng)的默認(rèn)設(shè)置為OFF。52完成信息管理的任務(wù)。表單文件的擴(kuò)展名52

3.設(shè)置打印狀態(tài)命令格式:SETPRINTERON/OFF功能:控制程序執(zhí)行的結(jié)果是否打印輸出。說(shuō)明:在命令格式中選擇ON表示印機(jī)輸出結(jié)果,選擇OFF則將輸出結(jié)果顯示在屏幕上,系統(tǒng)默認(rèn)值為OFF。

4.設(shè)置定向輸出狀態(tài)命令格式:SETDEVICETOSCREEN|TOPRINTER|TOFILE文件名功能:控制命令的執(zhí)行結(jié)果輸出到屏幕、打印機(jī)或指定的文件上。說(shuō)明:在命令格式中選擇SCREEN表示將執(zhí)行結(jié)果顯示在屏幕上,選擇PRINGTER表示將執(zhí)行結(jié)果輸出到打印機(jī)上,選擇“FILE文件名”則將執(zhí)行結(jié)果輸出到到指定的文件上。533.設(shè)置打印狀態(tài)53

5.設(shè)置精確比較狀態(tài)命令格式:SETEXACTTOON/OFF功能:在進(jìn)行字符比較時(shí)是否需要精確比較。說(shuō)明:在命令格式中選擇ON表示需要精確比較,選擇OFF表示不需要精確比較,系統(tǒng)默認(rèn)值為OFF。

6.設(shè)置日期格式命令格式:SETDATEANSI|AMERICAN|MDY|DMY|YMD功能:控制日期表達(dá)式顯示的格式。說(shuō)明:系統(tǒng)默認(rèn)值為AMERICAN。545.設(shè)置精確比較狀態(tài)54

7.設(shè)置系統(tǒng)的保護(hù)狀態(tài)命令格式:SETSAFETYON/OFF功能:系統(tǒng)在用戶對(duì)文件重寫(xiě)或刪除的操作時(shí)給出警告提示。說(shuō)明:如果用戶需要這種提示選擇ON,否則選擇OFF。系統(tǒng)默認(rèn)為ON。

8.設(shè)置是否忽略記錄的刪除標(biāo)志狀態(tài)命令格式:SETDELETEDON/OFF功能:忽略或處理有刪除標(biāo)記的記錄。說(shuō)明:選擇ON時(shí),操作命令將不對(duì)有刪除標(biāo)記的記錄進(jìn)行操作,但索引命令除外。系統(tǒng)默認(rèn)值為OFF。557.設(shè)置系統(tǒng)的保護(hù)狀態(tài)55

9.設(shè)置屏幕狀態(tài)命令格式:SETCONSOLEON/OFF功能:發(fā)送或暫停輸出內(nèi)容到屏幕上。說(shuō)明:系統(tǒng)默認(rèn)值為ON。

11.設(shè)置默認(rèn)的驅(qū)動(dòng)器命令格式:SETDEFAULTTO[驅(qū)動(dòng)器名]功能:設(shè)置系統(tǒng)默認(rèn)的驅(qū)動(dòng)器。

12.設(shè)置數(shù)據(jù)篩選條件命令格式:SETFILTERTO[條件表達(dá)式]功能:對(duì)當(dāng)前表文件中的記錄設(shè)置篩選條件569.設(shè)置屏幕狀態(tài)56

13.指定打開(kāi)的索引文件命令格式:SETINDEXTO[索引文件名表]功能:打開(kāi)指定的索引文件。說(shuō)明:“索引文件名表”列的索引文件都是被打開(kāi)的文件,單只有第一個(gè)索引文件起作用成為主索引文件。

14.設(shè)置主索引文件

命令格式:SETORDERTO[數(shù)值表達(dá)式]功能:在已打開(kāi)的索引文件名表中指定主索引文件。

5713.指定打開(kāi)的索引文件57說(shuō)明:“數(shù)值表達(dá)式”的值應(yīng)小于“索引文件名表”中的索引文件個(gè)數(shù),數(shù)值表達(dá)式的值就指定了與之相對(duì)應(yīng)的索引文件為主索引。

15.設(shè)置查找的路徑

命令格式:SETPATHTO[路徑表]功能:設(shè)置查找文件的路徑說(shuō)明:路徑表的路徑不唯一時(shí),各路徑之間用分號(hào)“;”分隔。4.6.3命令結(jié)構(gòu)與書(shū)寫(xiě)規(guī)則

1.命令結(jié)構(gòu)的一般形式命令動(dòng)詞[范圍][表達(dá)式表][FOR條件表達(dá)式][WHIL條件表達(dá)式];58說(shuō)明:“數(shù)值表達(dá)式”的值應(yīng)小于“索引文58[TOFILE文件名/TOPRINTER/TOERRAY數(shù)組名/TO內(nèi)存變量名];[ALL[LIKE/EXCEPT通配符]][IN別名/工作區(qū)號(hào)]·符號(hào)規(guī)定:在命令中,方括號(hào)“[]”里的內(nèi)容為可選項(xiàng),即可有可無(wú),由用戶決定取舍。有則命令中包含該描述項(xiàng)所起的作用,無(wú)則由系統(tǒng)自定;“/”兩邊的內(nèi)容是讓用戶選則其一;“…”為命令中重復(fù)部分。這些符號(hào)在寫(xiě)具體某一命令時(shí)并不出現(xiàn)。59[TOFILE文件名/TOPRINTER/T·命令動(dòng)詞:是一個(gè)英語(yǔ)動(dòng)詞,表示對(duì)數(shù)據(jù)庫(kù)進(jìn)行什么樣的操作?!し秶涸搮?shù)指明一個(gè)命令的作用范圍。一般有四種選擇形式,用戶在書(shū)寫(xiě)命令時(shí)只能選擇其中的一種或不選,不選時(shí)由系統(tǒng)確定命令的作用范圍。RECORDn表示只對(duì)第n條記錄NEXTn表示當(dāng)前記錄以下的n條記錄REST表示從當(dāng)前記錄到最后一條記錄ALL表示全部記錄其中的數(shù)據(jù)n只能是大于零并小于最后一條記錄號(hào)的正整數(shù)。60·命令動(dòng)詞:是一個(gè)英語(yǔ)動(dòng)詞,表示對(duì)60·表達(dá)式表:表示對(duì)命令作用對(duì)象的處理方式,當(dāng)表中的內(nèi)容多于1個(gè)時(shí),其間要用逗號(hào)分隔。·FOR短語(yǔ)與WHILE短語(yǔ):表示執(zhí)行命令的條件,即對(duì)指定范圍內(nèi)的記錄用此條件進(jìn)行篩選,只對(duì)符合條件的記錄進(jìn)行操作。短語(yǔ)中的“條件表達(dá)式”應(yīng)為關(guān)系表達(dá)式或邏輯表達(dá)式。FOR短語(yǔ)與WHILE短語(yǔ)的作用有所不同,前者表示將全部的符合條件的記錄篩選出來(lái),后者表示在篩選過(guò)程中一旦遇到不符合條件的記錄就停止繼續(xù)篩選。在命令中如果選用了FOR短語(yǔ)或WHILE短語(yǔ),而不選則范圍參數(shù)時(shí),系統(tǒng)自定為“ALL”。61·表達(dá)式表:表示對(duì)命令作用對(duì)象的處61·TO短語(yǔ):表示將命令操作的結(jié)果輸出給指定對(duì)象。對(duì)象可以是“變量名表”(當(dāng)表中的變量多于1個(gè)時(shí),其間要用逗號(hào)分隔)、數(shù)組、打印機(jī)或數(shù)據(jù)文件。選擇什么樣的對(duì)象合適,要根據(jù)命令動(dòng)詞而定?!LL短語(yǔ):指明是否包括與指定的“通配符”相匹配的文件、字段或內(nèi)存變量,“LIKE”表示“只有”之意,“EXCEPT”表示“除此之外”之意。·IN短語(yǔ):用于在當(dāng)前工作區(qū)指定對(duì)其它工作區(qū)中的進(jìn)行操作?!皠e名”取值為“A~J”,“工作區(qū)號(hào)”取值為“1~255”62·TO短語(yǔ):表示將命令操作的結(jié)果輸62

2.VisualFoxPro命令的書(shū)寫(xiě)規(guī)則·每條命令必須以命令動(dòng)詞開(kāi)頭,其它的各個(gè)參數(shù)、短語(yǔ)的順序可以是任意的,最后以回車(chē)鍵結(jié)束一條命令的輸入。·命令中的動(dòng)詞、參數(shù)與短語(yǔ)之間均用空格符分隔?!ぎ?dāng)一條命令較長(zhǎng)一行寫(xiě)不下時(shí),可以分成幾行書(shū)寫(xiě),每行末尾用分號(hào)“;”表示與下一行相連,即分號(hào)“;”是續(xù)行符?!ひ粭l命令的最大長(zhǎng)度不能超過(guò)254個(gè)字符?!っ钪械挠⑽淖帜缚梢杂么髮?xiě)或小寫(xiě)字母書(shū)寫(xiě),即VisualFoxPro系統(tǒng)不區(qū)分英文字母的大、小寫(xiě)。

632.VisualFoxPro命令的書(shū)寫(xiě)規(guī)則63

·命令、關(guān)鍵字和系統(tǒng)的語(yǔ)句等均為保留字,用戶不能再作它用,如起變量名、文件名等。這些保留字在書(shū)寫(xiě)時(shí)可以只寫(xiě)前四個(gè)字母。64644.7VisualFoxPro中數(shù)據(jù)庫(kù)

的相關(guān)概念4.7.1表4.7.2記錄4.7.3字段4.7.4記錄指針4.7.5邏輯視圖4.7.6數(shù)據(jù)庫(kù)654.7VisualFoxPro中數(shù)據(jù)庫(kù)

的相關(guān)概小結(jié)本章對(duì)數(shù)據(jù)庫(kù)技術(shù)進(jìn)行了概述。數(shù)據(jù)庫(kù)技術(shù)是控制和管理計(jì)算機(jī)數(shù)據(jù)資源,使其對(duì)公眾可以共享的技術(shù)。在數(shù)據(jù)庫(kù)技術(shù)中,數(shù)據(jù)庫(kù)是其核心,一切操作都是對(duì)數(shù)據(jù)庫(kù)進(jìn)行的。VisualFoxPro是可視化的數(shù)據(jù)庫(kù)管理系統(tǒng),也是一種面向?qū)ο髴?yīng)用程序的編程工具。無(wú)論是信息的組織、應(yīng)用程序的運(yùn)行、數(shù)據(jù)查詢(xún)、創(chuàng)建集成的數(shù)據(jù)庫(kù)等操作,還是為用戶編寫(xiě)功能齊全的數(shù)據(jù)庫(kù)應(yīng)用程序,VisualFoxPro都提供了可視化的數(shù)據(jù)管理方法和功能強(qiáng)大的編程工具。

66小結(jié)本章對(duì)數(shù)據(jù)庫(kù)技術(shù)進(jìn)行了概述。數(shù)據(jù)數(shù)據(jù)類(lèi)型是數(shù)據(jù)的基本屬性,每個(gè)數(shù)據(jù)都應(yīng)該有對(duì)應(yīng)的數(shù)據(jù)類(lèi)型。常量是指在程序運(yùn)行過(guò)程中始終不變的量,又稱(chēng)為常數(shù)。變量是指在程序運(yùn)行過(guò)程中其值是可以改變的量。VisualFoxPro語(yǔ)言中提供了兩種形式的變量:內(nèi)存變量和字段變量。運(yùn)算符與表達(dá)式是VisualFoxPro系統(tǒng)的重要內(nèi)容,是數(shù)據(jù)運(yùn)算的重要工具。表達(dá)式是VisualFoxPro語(yǔ)言的重要運(yùn)算成分,是由操作符和操作數(shù)組成的具有一定含義的式子。操作符就是運(yùn)算符,操作數(shù)包括:常量、內(nèi)存變量、字段變量、數(shù)組變量和函數(shù)。67數(shù)據(jù)類(lèi)型是數(shù)據(jù)的基本屬性,每個(gè)數(shù)據(jù)67VisualFoxPro中的表文件,使用了平面文件的格式。在平面文件中,使用固定長(zhǎng)度的記錄保存數(shù)據(jù),順序地排列這些記錄,從而形成一個(gè)可以順序查找文件記錄的連續(xù)文件。在VisualFoxPro中,將表文件的一個(gè)行稱(chēng)為一個(gè)記錄。記錄由一個(gè)或幾個(gè)字段組成,一個(gè)字段代表著一個(gè)記錄的屬性。記錄是表文件的基本組成部分,一個(gè)表文件是由多個(gè)記錄按順序排列組成。字段又稱(chēng)為屬性,一個(gè)字段在表文件中代表一列,表示該表文件所代表的事物的一個(gè)屬性。68VisualFoxPro中的表文件,使用了第4章預(yù)備知識(shí)

知識(shí)點(diǎn)●VisualFoxPro主要性能與參數(shù)●變量、表達(dá)式、函數(shù)與命令結(jié)構(gòu)

難點(diǎn)●運(yùn)算符、表達(dá)式的含義●變量與數(shù)組的使用返回69第4章預(yù)備知識(shí)知識(shí)點(diǎn)返回1◆要求熟練掌握以下內(nèi)容:●VisualFoxPro系統(tǒng)的主要性能●VisualFoxPro系統(tǒng)的數(shù)據(jù)類(lèi)型●變量與數(shù)組的使用●VisualFoxPro系統(tǒng)的命令結(jié)構(gòu)了解以下內(nèi)容:●VisualFoxPro系統(tǒng)的文件類(lèi)型

70◆要求24.1數(shù)據(jù)庫(kù)技術(shù)概述

4.2VisualFoxPro簡(jiǎn)介

4.2.1VisualFoxPro的主要特點(diǎn)

1.VisualFoxPro的基本功能⑴用戶可以將信息保存到表中,并將這些表組織成數(shù)據(jù)庫(kù)。同時(shí),可以隨時(shí)向數(shù)據(jù)庫(kù)中添加新的數(shù)據(jù),修改、更新或刪除已有的數(shù)據(jù)。

⑵用戶可以通過(guò)查詢(xún)本地視圖、遠(yuǎn)程視圖、多表視圖等快速查找到所需信息。714.1數(shù)據(jù)庫(kù)技術(shù)概述

4.2VisualFo⑶用戶可以按照自己的需要顯示和打印數(shù)據(jù)。

2.VisualFoxPro的主要特點(diǎn)⑴具有功能強(qiáng)大的操作工具·項(xiàng)目管理器·生成器·設(shè)計(jì)器·向?qū)Б票憬莸膽?yīng)用程序開(kāi)發(fā)環(huán)境⑶豐富而完整的工具72⑶用戶可以按照自己的需要顯示和打印4⑷多種的運(yùn)行方式⑸友好的用戶界面⑹真正的編譯功能⑺卓越的跨平臺(tái)特性⑻更靈活的OLE與ActiveX技術(shù)⑼面向?qū)ο蟮某绦蛟O(shè)計(jì)方法⑽典型應(yīng)用程序?qū)嵗?3⑷多種的運(yùn)行方式54.2.2VisualFoxPro主要技術(shù)性能

1.程序文件與過(guò)程文件技術(shù)性能·源程序文件中程序行的最大數(shù)系統(tǒng)沒(méi)有限制受可用內(nèi)存的限制·編譯后程序的最大容量為64KB·過(guò)程文件中包含過(guò)程的最大數(shù)系統(tǒng)沒(méi)有限制受可用內(nèi)存的限制·DO調(diào)用的嵌套層數(shù)的最大值為128層·READ嵌套層次的最大層數(shù)為5層·結(jié)構(gòu)化程序設(shè)計(jì)命令嵌套的最大層數(shù)為384層·函數(shù)調(diào)用時(shí)傳遞的參數(shù)個(gè)數(shù)最多為27個(gè)·事務(wù)處理的最大數(shù)為5件744.2.2VisualFoxPro主要技術(shù)性能6

2.報(bào)表設(shè)計(jì)器的技術(shù)性能·報(bào)表定義中對(duì)象個(gè)數(shù)系統(tǒng)沒(méi)有限制受可用內(nèi)存的限制·報(bào)表定義的最大長(zhǎng)度為20英寸·分組的最大層次數(shù)為128層

3.其他的技術(shù)性能·各種類(lèi)型窗口打開(kāi)的最大數(shù)系統(tǒng)沒(méi)有限制受可用內(nèi)存的限制·瀏覽窗口打開(kāi)的個(gè)數(shù)最多為255個(gè)·每個(gè)字符串中字符的最大個(gè)數(shù)為2G字節(jié)752.報(bào)表設(shè)計(jì)器的技術(shù)性能7·每個(gè)命令行中字符的最大個(gè)數(shù)為8,192個(gè)·報(bào)表中每個(gè)控件的最多字符個(gè)數(shù)為252個(gè)·每個(gè)宏替換行中的字符數(shù)最多為8,192個(gè)·打開(kāi)文件的最大數(shù)受操作系統(tǒng)限制·鍵盤(pán)宏中的擊鍵數(shù)最大值為1,024次·SQLSELECT可以選擇的最多字段個(gè)數(shù)為255個(gè)4.2.3VisualFoxPro主要技術(shù)指標(biāo)

1.表文件和索引文件的系統(tǒng)技術(shù)指標(biāo)·表文件中記錄的最大條數(shù)為10億條·表文件的最大容量值為2G字節(jié)·每條記錄中允許有的最大字符數(shù)為65,500個(gè)76·每個(gè)命令行中字符的最大個(gè)數(shù)·每條記錄中允許有的最多字段數(shù)為255個(gè)·每個(gè)字段中允許有的字符數(shù)最多為254個(gè)·同時(shí)打開(kāi)的表的最大數(shù)為255個(gè)·非壓縮索引中每個(gè)索引關(guān)鍵字最大長(zhǎng)度為100個(gè)字符·壓縮索引中每個(gè)關(guān)鍵字的最多字符數(shù)為240個(gè)·每個(gè)表允許打開(kāi)的索引文件數(shù)系統(tǒng)沒(méi)有限制,受可用內(nèi)存的限制·每個(gè)工作區(qū)中允許打開(kāi)的索引文件數(shù)系統(tǒng)沒(méi)有限制,受可用內(nèi)存的限制·關(guān)系表達(dá)式的最大長(zhǎng)度系統(tǒng)沒(méi)有限制,受可用內(nèi)存的限制77·每條記錄中允許有的最多字段數(shù)為255個(gè)9

2.表字段的系統(tǒng)技術(shù)指標(biāo)·字符字段的最大字符數(shù)為254個(gè)·數(shù)值型字段的最大值為20位·浮點(diǎn)型字段的最大值為307位·自由表中各字段名的字符數(shù)最大值為10個(gè)字符·數(shù)據(jù)庫(kù)表中各字段名的字符數(shù)最大值為128個(gè)字符·整數(shù)表示的最小數(shù)值為-2,147,483,647·整數(shù)表示的最大數(shù)值為2,147,483,647·數(shù)值計(jì)算的精確值位數(shù)為16位782.表字段的系統(tǒng)技術(shù)指標(biāo)10

3.內(nèi)存變量與數(shù)組的系統(tǒng)技術(shù)指標(biāo)·默認(rèn)的內(nèi)存變量數(shù)為1,024個(gè)·內(nèi)存變量的最多個(gè)數(shù)為65,000個(gè)·數(shù)組的最多個(gè)數(shù)為65,000個(gè)·每個(gè)數(shù)組中元素的最大個(gè)數(shù)為5,000個(gè)4.3常量與變量4.3.1數(shù)據(jù)類(lèi)型1.字符型2.數(shù)值型

793.內(nèi)存變量與數(shù)組的系統(tǒng)技術(shù)指標(biāo)113.浮點(diǎn)型4.雙精度型5.整數(shù)型6.邏輯型7.日期型8.日期/時(shí)間型9.貨幣型10.備注型11.通用型803.浮點(diǎn)型124.3.2常量

1.字符型常量字符型常量是一個(gè)字符串,由漢字和ASCII字符集中可以打印的字符組成,使用時(shí)必須用定界符(“”、‘’和[])括起來(lái)。

2.?dāng)?shù)值型常量數(shù)值型常量由數(shù)字(0~9),正負(fù)號(hào)(+、-),小數(shù)點(diǎn)(.),E和e組成。

3.邏輯型常量邏輯型常量只有兩個(gè)邏輯值:“真”或“假”。

814.3.2常量13

4.日期型常量日期型常量用于表示日期,格式為:{mm/dd/yyyy}。

5.日期時(shí)間型常量日期時(shí)間型常量用于表示日期和時(shí)間,格式為:{mm/dd/yyyyhh:mm:ss}。4.3.3變量

1.字段變量2.內(nèi)存變量

824.日期型常量14使用變量時(shí)要注意以下兩點(diǎn):·內(nèi)存變量名不要與字段變量名同名,如果內(nèi)存變量名與字段變量名同名時(shí),字段變量?jī)?yōu)先于內(nèi)存變量,此時(shí)若必須使用內(nèi)存變量,可在內(nèi)存變量名前使用前綴“m.”,表是所用的是內(nèi)存變量?!?nèi)存變量在使用前,必須先定義并初賦值。內(nèi)存變量的定義和賦值方式有兩種:命令方式和賦值式方式。命令方式為:STORE表達(dá)式TO變量名表賦值式方式為:變量名=表達(dá)式83使用變量時(shí)要注意以下兩點(diǎn):154.3.4數(shù)組變量數(shù)組通常用于保存和處理臨時(shí)數(shù)據(jù),臨時(shí)數(shù)據(jù)表也能用于處理臨時(shí)數(shù)據(jù)。一個(gè)一維數(shù)組對(duì)應(yīng)數(shù)據(jù)表中的一條記錄,一個(gè)二維數(shù)組對(duì)應(yīng)一個(gè)數(shù)據(jù)表。在處理數(shù)據(jù)時(shí),使用數(shù)組與使用數(shù)據(jù)表相比,有以下優(yōu)點(diǎn):·數(shù)組可以保存任何類(lèi)型的數(shù)據(jù),因此比具有固定結(jié)構(gòu)的數(shù)據(jù)表靈活?!?shù)組是內(nèi)存變量,因此對(duì)它的訪問(wèn)要比對(duì)磁盤(pán)的訪問(wèn)快?!?shù)組可以“就地”進(jìn)行排序,而不需要額外的磁盤(pán)空間。844.3.4數(shù)組變量164.4運(yùn)算符與表達(dá)式

4.4.1運(yùn)算符

1.?dāng)?shù)值運(yùn)算符數(shù)值運(yùn)算符是對(duì)數(shù)值型數(shù)據(jù)進(jìn)行算術(shù)操作。具有數(shù)值運(yùn)算功能的運(yùn)算符有:加(+)、減(-)、乘(*)、除(/)、乘冪(**或^)、取余(%)、取負(fù)數(shù)(-)和括號(hào)()。

2.字符運(yùn)算符·“+”運(yùn)算符的功能是:將運(yùn)算符前、后兩個(gè)字符表達(dá)式按這兩個(gè)字符表達(dá)式的原樣連接成一個(gè)字符表達(dá)式。

854.4運(yùn)算符與表達(dá)式4.4.1運(yùn)算符17例如,“計(jì)算機(jī)”+“軟、硬件”結(jié)果為:“計(jì)算機(jī)軟、硬件”·“-”運(yùn)算符的功能是:將運(yùn)算符其前一個(gè)字符表達(dá)式的尾部空格刪除,然后與其后一個(gè)字符表達(dá)式連接成一個(gè)字符表達(dá)式。例如,“計(jì)算機(jī)”-“軟、硬件”結(jié)果為:“計(jì)算機(jī)軟、硬件”·“$”運(yùn)算符的功能是:檢查其前一個(gè)字符表達(dá)式是否包含在后一個(gè)字符表達(dá)式中,若包含結(jié)果為真“.T.”,否則為假“.F.”。例如,“硬件”$“計(jì)算機(jī)軟、硬件”結(jié)果為:.T.86例如,“計(jì)算機(jī)”+“軟、硬件”結(jié)果為:18·“==”運(yùn)算符的功能是:判斷運(yùn)算符兩邊的字符表達(dá)式是否相等,若相等結(jié)果為真“.T.”,否則為假“.F.”。例如,“計(jì)算機(jī)”-“軟、硬件”==“計(jì)算機(jī)軟、硬件”結(jié)果為:.T.

3.關(guān)系運(yùn)算符關(guān)系運(yùn)算符是對(duì)同類(lèi)型的數(shù)據(jù)進(jìn)行比較操作,可以對(duì)數(shù)值量、日期量、字符串進(jìn)行比較。關(guān)系運(yùn)算符有:“<”小于、“>”大于、“=”等于、87·“==”運(yùn)算符的功能是:判斷運(yùn)算符兩邊“<>”(#、!=)不等于、“<=”小于等于和“>=”大于等于六種,運(yùn)算級(jí)別相同。

4.邏輯運(yùn)算符邏輯運(yùn)算符是對(duì)邏輯型數(shù)據(jù)進(jìn)行邏輯運(yùn)算。邏輯運(yùn)算符有三種:“NOT”邏輯非、AND”邏輯與和“OR”邏輯或。運(yùn)算級(jí)別是:“NOT”最高,“AND”次之,“OR”最低。邏輯運(yùn)算符是在相同的數(shù)據(jù)類(lèi)型之間才能使用,可以使用邏輯運(yùn)算符的數(shù)據(jù)類(lèi)型有:字符型、數(shù)值型、日期型、日期時(shí)間型和貨幣型。88“<>”(#、!=)不等于、“<=”小于等于和“>=”20

5.日期和日期時(shí)間運(yùn)算符+和-兩個(gè)運(yùn)算符也可以作為日期和日期時(shí)間運(yùn)算符。例如,{01/20/1998}-21~12/30/1997;{02/19/98}-{01/19/98}~31

6.運(yùn)算符的優(yōu)先級(jí)

⑴括號(hào),⑵取負(fù)號(hào),⑶乘冪,⑷模運(yùn)算,⑸乘法和除法,⑹加、減和字符聯(lián)接(包括:$),⑺關(guān)系運(yùn)算符(包括:==),⑻N(yùn)OT或!,⑼AND,⑽OR運(yùn)算符的優(yōu)先級(jí)從⑴到⑽逐級(jí)降低,OR運(yùn)算符的優(yōu)先級(jí)最低。895.日期和日期時(shí)間運(yùn)算符214.4.2表達(dá)式

表達(dá)式是VisualFoxPro語(yǔ)言的重要運(yùn)算成分,是由操作符和操作數(shù)組成的具有一定含義的式子。操作符就是運(yùn)算符,操作數(shù)包括:常量、內(nèi)存變量、字段變量、數(shù)組變量和函數(shù)。在一個(gè)表達(dá)式中,如果有不同類(lèi)型的運(yùn)算符時(shí),首先進(jìn)行算術(shù)或字符運(yùn)算,然后是關(guān)系運(yùn)算,最后才進(jìn)行邏輯運(yùn)算。用括號(hào)可以改變運(yùn)算的順序,同級(jí)運(yùn)算符的運(yùn)算順序是依次從左到右。904.4.2表達(dá)式22例如,“計(jì)算機(jī)”-“軟、硬件”==“計(jì)算機(jī)軟、硬件”就是一個(gè)字符表達(dá)式

1.字符表達(dá)式

組成字符表達(dá)式的內(nèi)容有:字符型字段、返回值為字符型的函數(shù)、字符型的內(nèi)存變量或數(shù)組元素、字符常量,以及字符運(yùn)算符,其運(yùn)算結(jié)果是字符型數(shù)據(jù)。

2.?dāng)?shù)值表達(dá)式

組成數(shù)值表達(dá)式的內(nèi)容有:數(shù)值型字段、返回值為數(shù)值型的函數(shù)、數(shù)值型內(nèi)存變量和數(shù)組元素、數(shù)值常量以及算術(shù)運(yùn)算符,其運(yùn)算結(jié)果是數(shù)值型數(shù)據(jù)。91例如,“計(jì)算機(jī)”-“軟、硬件”==“計(jì)算機(jī)軟、23例如,18+A*(B%7)=(D+C)*5

3.關(guān)系表達(dá)式

關(guān)系表達(dá)式可以由關(guān)系運(yùn)算符與字符表達(dá)式或數(shù)值表達(dá)式組成,關(guān)系運(yùn)算符兩邊的數(shù)據(jù)的類(lèi)型必須一致,其運(yùn)算結(jié)果是邏輯型數(shù)據(jù)。例如:Date()>={05/01/2003};Date()+31<{07/01/2003}

4.邏輯表達(dá)式組成邏輯表達(dá)式的內(nèi)容有:邏輯型字段、返回值為邏輯型的函數(shù)、邏輯型內(nèi)存變量或數(shù)元素以及邏輯運(yùn)算符,或由關(guān)系運(yùn)算符組成的其它類(lèi)型的表達(dá)式(如字符型、數(shù)值型92例如,18+A*(B%7)=(D+C)*524或日期型等)。邏輯表達(dá)式的值只能是真或假。例如:Date()>={05/01/2003}ORDate()+31<{07/01/2003}

5.日期表達(dá)式組成日期表達(dá)式的內(nèi)容有:日期型字段、返回值為日期型的函數(shù)、日期型內(nèi)存變量和數(shù)組元素、日期型常量以及算術(shù)運(yùn)算符,其運(yùn)算結(jié)果是日期型或數(shù)值型數(shù)據(jù)。例如,{03/15/1985}+21~04/05/1985;{02/19/1998}-{01/19/1998}~3193或日期型等)。邏輯表達(dá)式的值只能是真或254.5常用函數(shù)4.5.1數(shù)值處理函數(shù)

1.絕對(duì)值函數(shù)ABS()格式:ABS(數(shù)值表達(dá)式)功能:返回“數(shù)值表達(dá)式”的絕對(duì)值。

2.取整函數(shù)INT()格式:INT(數(shù)值表達(dá)式)功能:去掉“數(shù)值表達(dá)式”的小數(shù)部分,返回其整數(shù)部分。944.5常用函數(shù)4.5.1數(shù)值處理函數(shù)26

3.四舍五入函數(shù)ROUND()格式:ROUND(數(shù)值表達(dá)式1,數(shù)值表達(dá)式2)

4.取余函數(shù)MOD()格式:MOD(數(shù)值表達(dá)式1,數(shù)值表達(dá)式2)功能:返回“數(shù)值表達(dá)式1”除以“數(shù)值表達(dá)式2”的余數(shù)。

5.求最大值函數(shù)MAX()格式:MAX(表達(dá)式1,表達(dá)式2>[,表達(dá)式3…])953.四舍五入函

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論