在數(shù)據(jù)庫操作過程中,用戶需要了解數(shù)據(jù)對象的類型、狀態(tài)等屬性,Visual FoxPro提供了相關的測試函數(shù),使用戶能夠準確地獲取操作對象的相關屬性。
1.數(shù)據(jù)類型測試函數(shù)
格式:VARTYPE((表達式),[(邏輯表達式)])
功能:測試表達式的數(shù)據(jù)類型,返回用字母代表的數(shù)據(jù)類型。函數(shù)值為字符型。未定義或錯誤的表達式返回字母U.若表達式是一個數(shù)組,則根據(jù)第一個數(shù)組元素的類型返回字符串。
若表達式的運算結果是NULL值,則根據(jù)函數(shù)中邏輯表達式的值決定是否返回表達式的類型。具體規(guī)則是:如果邏輯表達式為.T,則返回表達式的原數(shù)據(jù)類型。如果邏輯表達式為.F,或省略,則返回X,表明表達式的運算結果是NUll值。
舉例:
a=DATE()
a=NUll
?VARTYPE($385),VARTYPE([FoxPro]),VARTYPE(a,T.),VARTYPE(a)
輸出為:Y C D X.
2.表頭測試函數(shù)
格式:BOF([(工作區(qū)號)])l<別名)])
功能:測試指定或當前工作區(qū)的記錄指針是否超過了第一個邏輯記錄,即是否指向表頭,若是,函數(shù)值為.T,否則為.F(工作區(qū)號)用于指定工作區(qū),(別名)為工作區(qū)的別名或在該工作區(qū)上打開的表的別名。當<工作區(qū)號>和<別名>都缺省不寫時,默認為當前工作區(qū)。
3.表尾測試函數(shù)
格式:EOF([(工作區(qū)號)[(別名>])
功能:測試指定或當前工作區(qū)中記錄指針是否超過了最后一個邏輯記錄,即是否指向表的末尾,若是,函數(shù)值為.T,否則為。F自變量含義同BOF函數(shù),缺省時默認為當前工作區(qū)。
4.記錄號測試函數(shù)
格式:REcNO([<工作區(qū)號>}(別名>])
功能:返回指定或當前工作區(qū)中當前記錄的記錄號,函數(shù)值為數(shù)值型。省略參數(shù)時,默認為當前工作區(qū)。如果記錄指針在最后一個記錄之后,即EOF()為.T,RECNO()返回比記錄總數(shù)大l的值。如果記錄指針在第一個記錄之前或者無記錄,即BOF()為.T.,REcONO()返回1。
5.記錄個數(shù)測試函數(shù)
格式:RECCOUNT([(工作區(qū)號|別名>])
功能:返回當前或指定表中記錄的個數(shù)。如果在指定的工作區(qū)中沒有表被打開,則函數(shù)值為O。如果省略參數(shù),則默認為當前工作區(qū).RECCOUNT()返回的值不受SET r)EI.ETED和SET FIITER的影響,總是返回包括加有刪除標記在內(nèi)的全部記錄數(shù)。
6.查找是否成功測試函數(shù)
格式:FOUND([<工作區(qū)號『別名>])
功能:在當前或指定表中,檢測是否找到所需的數(shù)據(jù)。如果省略參數(shù),則默認為當前工作區(qū)。數(shù)據(jù)搜索由FIND、SEEK、LOCATE或CONTINUE命令實現(xiàn)。如果這些命令搜索到所需的數(shù)據(jù)記錄,函數(shù)值為.T,否則函數(shù)值為。F如果指定的工作區(qū)中沒有表被打開,則FOUND()返回。F如果用非搜索命令如GO移動記錄指針,則函數(shù)值為.F
7.文件是否存在測試函數(shù)
格式:FILE((文件名>)
功能:檢測指定的文件是否存在。如果文件存在,則函數(shù)值為.T,否則函數(shù)值為。F文件名必須是全稱,包括盤符、路徑和擴展名,且(文件名)是字符型表達式。
8.判斷值介于兩個值之間的函數(shù)
格式:BETwEEN(<被測試表達式>,<下限表達式),(上限表達式))
功能:判斷表達式的值是否介于相同數(shù)據(jù)類型的兩個表達式值之間.BETwEEN()首先計算表達式的值。如果一個字符、數(shù)值、日期、表達式的值介于兩個相同類型表達式的值之間,即被測表達式的值大于或等于下限表達式的值,小于或者等于上限表達式的值,BETW:EEN()將返回.T.值,否則返回.F
舉例:
gz一375
7 BETWEEN(gz,260,650)
輸出為。T
9.條件函數(shù)IIF
格式:IIF((邏輯型表達式),(表達式1),(表達式2>)
功能:若邏輯型表達式的值為.T,函數(shù)值為(表達式1>的值,否則為<表達式2>的值。
舉例:
xb=“女”
?IIF(xB=[男],1,IIF(Xb一[女],2,3))
輸出為2。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |