第五章
数据管理系统是管理数据库的系统软件,是用户与数据库之间的接口,提供*纵数据库的各种命令。
数据库统是由用户、数据库管理系统和数据库构成的。
Foxpro特点:windows应用程序风格,非编程接口,多用户功能,提供了应用程序开发工具,快速查找机制,提供了真正的编译器,提供了与高级语言接口,提供了对SQL的支持。
FoxPro提供了一个真正的编译器“Distribution Kit”,可将FoxPro应用程序编译为直接在*作系统下运行的“。exe”文件;提供了一个真正的外部程序接口“Library Construction Kit”,允许开发者用C语言创建FoxPro函数。
在FoxPro中每一条记录最多可以有255个字段,最多可以有65000个内存变量。
在FoxPro中,一个二维表即称为一个文件,二维表是以文件的形式存储在磁盘上的,一个关系就是一个文件,这样的文件称为数据库文件。 a$b测试字符串a是不是b的子串,a#b=a<>b
Foxpro的各类文件及其扩展名
库文件dbf
备注文件fpt
备注后备文件tbk
后备文件bak
临时文件tmp
索引文件idx
复合索引文件cdx
查询程序文件qpr
编译查询程序文件qpx
Foxdoc文件文件doc
屏幕文件scx
屏幕备注文件sct
屏幕程序文件spr
编译屏幕程序文件spx
配置文件config.fpw
菜单文件mnx
菜单备注文件mnt
菜单程序文件mpr
编译菜单程序文件mpx
资源文件foxuser.fpt
项目文件pjx
项目备注文件pjt
项目程序文件app
项目可执行文件exe
帮助文件foxhelp.dbf
格式文件fmt
编译格式文件frx
报表格式文件frx
报表备注文件frt
帮助备注文件foxhelp.fpt
标签文件lbx
标签备注文件lbt
程序文件prg
编译程序文件fxp
可执行文件exe
视图文件vue
键盘宏文件fky
内存变量文件mem
编译记事文件log
编译出错记录文件err
文本文件txt
窗口文件win
菜单:文件file编辑edit数据库database记录record程序program运行run文字text窗口window帮助help
在FoxPro菜单中,如果菜单右面带有省略号(…),表示选择菜单会弹出一个对话框窗口,如果菜单中某些项呈暗淡的灰色,表示该功能在当前状态下不能使用。ALT或F10调用菜单。
命令窗口的显示与隐藏可通过Window的“Command” 和“Hide”选项来控制。
FoxPro的数据类型有七种,它们的名字和简写字母是字符型C、数值型N、浮点型F、逻辑型L、日期型D、备注型M和通用型G ,数据库中的字段变量可取其中的七种。内存变量是字符型、数值型、逻辑型、浮点型、屏幕S数据,常量通常只有字符型、数值型、日期型和逻辑型四种数据类型。
变量名不超过10个字母、数字和下划线组成,而且必须以字母开头,但系统变量一般以下划线开头。
字符型字段的最大长度是254个字符长,一个汉字视作2个ASCII码字符,字符型数据可进行大小比较运算和字符连接运算。数值或浮点数据最大宽度为20.逻辑型字段固定的长度为1个字节,逻辑真值可用。T.或。Y.表示,逻辑假值可用。F.或。N.表示。日期型数据宽度固定为8;可以与数值相加减,所得结果为另一个日期,两个日期型数据可以相减,结果为两个日期之间的天数。备注、通用字段的宽度为10个字节,该字段中存放的是指向存放备注内容的地址指针,或指向图形、图像、声音等文件的地址指针。在备注中,备注字段的每个数据,按大小为512个字节的数据块存放。对常量而言,名和值是一致的,对变量而言,名和值是不一致的。字符变量是“”、或〔〕定界,日期变量用{}定界,逻辑常量用……定界。FoxPro的变量有两种,单值的内存变量和多值的字段变量。当字段变量与内存变量同名时,字段变量优先,可通过在内存变量名前加M.或M->来区别。
从内存变量的组织形式上看,它可分为标量与数组,从内存变量的作用域上看,它可分为全局变量和局部变量。
单个常量、变量或函数都是表达式的特殊形式之一。表达式是指通过各种运算符连接的常量、字段变量、内存变量、函数等运算对象所构成的有意义的算式。
Foxpro的运算符有算术、字符串、关系、逻辑。比较运算会产生逻辑结果。字符串运算符有+、-、==、$.。
FoxPro有200多条命令,它一般由命令动词开头,后跟一个或多个限定该动词的子句构成。子句一般由动能短语和表达式构成。FoxPro命令,常见的子句有三种,分别是是范围子句,条件子句,字段列表子句。
<命令名>[<表达式表>][<范围>][FOR<条件>][WHILE<条件>][TO FILE<文件名>|TO PRINTER|TO ARRAY<数组表>|TO<内存变量>][ALL[LIKE|EXCEPT<通配符>]][IN<别名>]][FIELDS<字段列表>]
①[FIELDS<字段列表>子句用于指定被*作数据库文件的字段,是对二维数组表格各列的*作,又称投影*作。
②而[<范围>]子句、[FIELDS<条件>]子句或[]子句用于指定被*作记录的范围和被*作记录要满足的要求,对二维表格各行的*作,又称选择*作。其中<条件>是一个逻辑表达式。
③FOR<条件>[WHILE<条件>]这两个条件子句是有区别的,前者能对所有数据库中满足 条件的记录*作,后者一旦遇到不满足条件的记录便停止*作。
有个别的命令不是命令动词开头的,而是以特殊符号,例如命令?和@.
FoxPro中,投影*作的子句是字段列表子句,选择*作的子句是范围子句和条件子句。
当数据库一打开(如果不是空库)记录 指针指向记录1的位置。