1.4數據和數據類型

在數據庫中存儲的數據,是用戶最關心的信息。數據的一個非常重要的特征是它分為幾種類型。數據類型確定它的數據如何表示和如何存儲。把不同類型的數據相加一般沒有什麼意義。如把學生的考試成績與學號相加等。避免這種錯誤的最好辦法是數據類型檢驗,以確保運算數據時,它們的類型必須相同(相容LFOXBASE+數據類型有:數值型數據、字符型數據、邏輯型數據、日期型數據、備注型數據、屏幕型數據。

一、數值型數據

數值型數據是指可以進行數學運算的數據。數值型數據包含0—9數字、小數點、正負號。用N(Numeric)來表示。例:3.14159260.123—0.009在定義數據型數據時,必須同時定義數據項長度和小數點位數。小數點本身要占一位。如數值長7位,小數2位,該數最大可為9999.99。

如果輸入的數值型數據是純小數,定義數據項長度時,還必須定義一位零整位。如輸入的數值型數據範圍為0.0000.9990那麼要定義數據項長度為5,即有效位為3位,小數點1位,整數零1位。

二、字符型數據

字符型數據是指一切可打印的字符和字符串。它包括26個英文字母、10個數字/各類符號和空格、漢字以及由這些符號組成的字符串等。字符型數據的最大長度為254個字符。字符型數據用C(Character)表示。如;“ABCabc”“1234”“數據庫”。

三、邏輯型數據

邏輯型數據是用來作為各種邏輯判斷用的。計算機之所以具有“智能”,就是因為具有這種邏輯型數據及邏輯型運算符。邏輯型數據有固定的長度,它的長度總是占用一個字節。邏輯型數據隻有兩個值:真T(TRVE)和假F(FALSE)。邏輯型數據用L(Logical)表示。

四、日期型數據

日期型數據用來表示日期。日期型數據有固定的長度,它的長度總是占8個字符。日期通常采用美國格式mm/dd/yy(月/日/年),其中月、日、年都是兩位數字,它們之間用斜杠“/”兮隔。可通過用SETDATE和SETCENTURY命令來改用其它格式。日期型數據用D(Date)表示。

日期型數據可由日期型變量生成。當從鍵盤建立日期型數據時,必須使用(CTOD)函數(將日期形式的字符型數據置換為日期型數據)。

五、備注型數據

備注型數據是一種長度可變的字符型數據,是為了存儲備注信息而設計的。它們存儲在數據庫的輔助文件,DBT中,在.DBT文件結構中用Memo表示,而當備注字段為空時,用memo表示。備注型字段的大小是可變的。當不輸入數據,字段的大小為零。當輸入數據時,字段每塊存儲409&(4K)字節,最多可以存儲MK字節,在每個數據庫文件中,每個Memo字段用10個字節表示。

六、屏幕型數據

屏幕型數據隻用於保存屏幕顯示信息。屏幕型數據用s(screan)表示。

1.5常量與變量

計算機的內存儲器是用於存放程序和數據的。當把一個數據存放到內存中後,我們可以對它的存放地點進行跟蹤,以便需要時,把它取出來。通常的做法是給每個存儲區起一個名字。在整個程序運行過程中,始終保持不變的數據稱為常量;而把在程序運行過程中,存放數據可變的存儲區稱為變量。變量是一個存儲區,存儲區裏存放的數據是該變量的值。常量與變量是程序進行處理的對象。

可以把常量看成變量的特例,但常量與變量又有本質的區別:程序中決不能對常量賦值。

1.5.1常量

常量是用來表示固定的數據的詞法符號。在程序中,常量一旦定義,其值就不能再被改變。常量都有一定的類型。FoxBASE+中定義了各種類型的常量:數值型常量、字符型常量、邏輯型常量、日期型常量。

一、數值型常量

數值型常量辱於數值型數據。數據型常量可以是整數或實數。

二、字符型常量

字符型常量屬於字符型數據。用界限符單引號()或雙引號(“”)或方號(〔〕)括起來的字母、空白、數字、漢字及其它特殊符號,稱為字符型常量或字符串。

當字符本身包含某種界限符時,則要選擇另外兩種界限符,作為真正的界限符,以示區別。

三、邏輯型常量

邏輯型常量厲於邏輯型數據。邏輯型常量隻有兩個值。

四、日期型常量

日期型常量屬於日期型數據。日期型常量用來表示一個日期。例如:05/21/95表示1995年5月21日。在日常生活中人們經常遇到的一些物理參數是用數字表示的,但在計算機內既可以表示為數值型數據,又可以表示成字符型數據。究竟選擇哪一種數據類型呢?一般原則是,凡要參與算術運算的參數定義為數據型數據,否則定義為字符型數據。