您的位置: 网站首页 > 程序开发 > Visaul FoxPro程序设计 > 第4章 Visual FoxPro语言基础 > 【4.1 数 据 类 型】

4.1 数 据 类 型

 

在早期的FoxPro程序设计语言中,主要是以过程化的程序设计方式来编写程序的,用户在编写代码和设计界面时,要花费许多的精力才能完成。而在Visual FoxPro以后的版本中,增加了一种新的面向对象设计方式,从而能够快速提高用户的编程能力。但不管采用哪种编程方式,只有扎实掌握了Visual FoxPro语言的基础知识,才能够灵活方便、随心所欲地设计出高质量、高要求、高技术的程序。

本章主要内容

&        Visual FoxPro中的各种数据类型

&        常量与变量的应用

&        表达式与运算符的应用

&        各种函数的综合应用

&        数组的应用

4.1 

与其他程序设计语言类似,Visual FoxPro中文版提供了丰富的数据类型,供设计数据库时使用。利用这些丰富的数据类型,可以用于优化数据库结构,从而方便开发、管理和维护数据库。

在前面第2章中创建数据表时,从其“表设计器”对话框的“类型”组合框中就可以看到相关的各种数据类型,如图4-1所示。

下面将对每种数据类型进行简要说明。

1.字符型

字符数据类型(Character)由任意字符(字母、数字、空格、符号等)组成。字符型字段、变量和数组元素可以保存诸如名称、地址以及无须算术运算的数字号码(如学号、电话号码、邮政编码等)。

使用字符型常量,只需把字符用英文半角的单引号或双引号括起来即可(如中国人民等),但不可用中文标点的单引号或双引号(如“中国”,‘人民’等)。

4-1  Visual FoxPro中的数据类型

2.货币型

当涉及货币值时,可使用货币类型(Currency)代替数值类型。使用货币类型,需在数字前加上美元符号($)。如果在货币表达式中小数位数超过4位,则Visual FoxPro将在处理表达式之前把它四舍五入到4位。

例如,

nPricel=$3323.45677   &&3323.4568赋给变量nPricel

3.数值型

数值类型(Numeric)用来表示数量,它包含数字09,也可加上正号(+)、负号(-)或小数点(.)。

在数值型字段中,小数部分的长度在创建字段时确定。小数点和小数位数是字段总长度的一部分。在Visual FoxPro中,数值型数据是转换为ASCII字符来存储的。

4.浮动型

浮动数据类型(Float)与数值类型等价,包含此类型是为了提供兼容性。

5.日期型

日期数据类型(Date)用于存储有关年、月、日的数据。日期型变量以“yyyymmdd”格式保存,其中,yyyy表示年号,占4字节;mm表示月份,占2字节;dd表示日,占2字节。日期的格式有许多种,常用的格式为mm/dd/yyyy。若要给变量赋日期值,应将日期值放在花括号{}中,例如,

D1={^2007-01-15}

要将空白日期值赋给变量,必须单独用带空格或斜杠的括号,例如,

Store {/} TO D2

Store {/} TO D3

6.日期时间型

在保存日期、时间或二者兼有时,可使用日期时间数据类型(Date Time)。日期时间值存储时占用8字节,前4字节保存日期,后4字节保存时间,该时间从午夜(00:00)起计算。以1/100s为最小计时单位。日期时间值可以包含完整的日期和时间,也可以只包含两者之一。若省略日期值,则Visual FoxPro用系统默认值18991230填入;若省略时间值,则Visual FoxPro用系统默认的午夜零点时间。若要赋日期时间值,则应将日期时间值放在花括号{}中。若要指定空日期时间值,则需在花括号中加一个冒号(:)。

另外,日期型和日期时间型数据还有如下规则。

1{00:00:00AM}等价于午夜{12:00:00AM}

2{00: 00:00PM}等价于中午{12:00:00PM}

3{00:00:00}{11:59:59}等价于{12:00:00AM}{11:59:59AM}

4{12:00:00}{23:59:59}等价于{12:00:00PM}{11:59:59PM}

7.双精度型

双精度数据类型(Double)用于在表中存储精度较高、位数固定的数值。与数值型数据不同,在表中输入双精度数值时,小数点的位置由输入的数值决定。

9.整型

整型(Integer)用于在表中存储无小数的数值。整型字段在表中占4字节,它用二进制存储,因此,它比数值型字段占用的空间要少得多,而且二进制值转换为ASCⅡ码字符存储。

9.逻辑型

逻辑数据类型(Logical)只含有两个值:“真”(.T.)和“假”(.F.)。Visual FoxPro也允许用“.Y.”和“.N.”表示真和假,在存储时只保存为“.T.”或“.F.”。

10.备注型

备注字段类型(Memo)用于在表中存储数据块,它包含一个4字节的引用,指向真正的备注内容。备注数据的真正大小取决于用户实际输入的数据量。表中记录的备注字段数据保存在单独的文件中,文件名与表名相同且扩展名为*.fpt

11.通用型

通用数据类型(General)用于在表中存储OLE对象,它包含一个4字节的引用,指向真正的字段内容,如电子表格、字处理文档或用另一个应用程序创建的图片等。

12.二进制字符型

二进制字符数据类型(Binary Character)用于在各种代码页间保持不变的字符数据。

13.二进制备注型

二进制备注字段类型(Binary Memo)在各种代码页间保持不变,可用于标准不同国家的登录脚本等。

注意:当遇到未知的数据类型时,可用TYPE()函数获得存储在变量、数组元素或者字段中的数据类型。