数据库管理与程序设计语言

上传人:宝路 文档编号:22513544 上传时间:2017-11-27 格式:DOC 页数:6 大小:251.12KB
返回 下载 相关 举报
数据库管理与程序设计语言_第1页
第1页 / 共6页
数据库管理与程序设计语言_第2页
第2页 / 共6页
数据库管理与程序设计语言_第3页
第3页 / 共6页
数据库管理与程序设计语言_第4页
第4页 / 共6页
数据库管理与程序设计语言_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《数据库管理与程序设计语言》由会员分享,可在线阅读,更多相关《数据库管理与程序设计语言(6页珍藏版)》请在金锄头文库上搜索。

1、4、2 VFP 数据库管理与程序设计语言FoxPro 是 Fox Software 公司在 FoxBASE 数据库软件基础上,于 80 年代末 90年代初推出的一个功能较强的微机数据库管理系统软件,它继承了微机数据库如dBASE 等的一些主要特征,并在功能及运行速度上由于优于其它同类产品,因此受到用户的广泛青睐。Fox 归并 Microsoft 后推出的 Visual FoxPro 系列产品具有 Windows 界面,它不仅在性能上缩短了与大型数据库系统的距离,而且引进了可视化编程技术,属中小型数据库管理软件设计的首选工具。启动 VFP 系统后的主界面窗口如图 4-7 所示。它由三个窗口组成:

2、项目管理器窗口、命令窗口、和它们后面的主窗口。项目管理器窗口将在后面介绍,现在可以把它关掉。命令窗口是用用于调试命令或以命令方式管理系统的。如在命令窗口中输入 a=1就把 1 赋值给 a,再在命令窗口中输入? a就会在主窗口中显示出变量 a 的值 1。 “?变量(或表达式) ”这一命令用于在主窗口显示变量或表达式的值。它在调试命令的使用方法时是很有用的,后面介绍的大部分命令都可以用这种方法调试。1、数据类型、内存变量、字段、运算符和表达式在 VFP 中有 13 种不同的数据类型:字符型、货币型、数值型、浮点型、日期型、日期时间型、双精度型、整型、逻辑型、备注型、通用型、二进制字符型、二进制备注

3、型等。其中比较常用的有字符型、数值型、日期型、逻辑型、备注型等。字符型数据包括字母、数字、空格、符号、和标点符号等。字符字段或变量用于存储文本信息,包括名称、地址等。号码和不在数值计算中使用的一些数据,如电话号码,零件编码等,也可作为字符型数据处理。VFP 中字符型数据要用两个“”后“”括起来,如 a=9表示 a 是字符型的,其符号值为 9,而 a=9表示 a 是数值型的其值为数值 9。数值型数据包括正、负小数和整数,可表示的数值范围在-0.999,999,999,910 19 到 0.999,999,999,91020之间,只允许使用十进制数据,有效精度为 10 位,要提高数据精度可以使用双

4、精度型数据,数据精度可提高到 15 位。日期型数据一般用“yyyymmdd”的格式表示年、月、日,内存中占 8 字节。要给日期型变量赋值,必须用括号将日期值括起,例如:dDate=2000/2/23。逻辑型变量或字段只有两个值:T 和 F。如果赋予其它值则会出现错误。备注型数据主要用于存储 ASCII 数据块,数据块的大小取决于磁盘可用空间的大小或用户实际输入的数据量。表中记录的备注字段内容是用与表同名的一个单独文件加以保存的,扩展名为.FPT。内存变量是保存在内存中且在程序运行期间其值可以改变的量。内存变量是程序设计的基本元素,在许多情况下程序的输入、输出及中间运算结果都保存在内存变量中。内

5、存变量的使用中应注意以下几点:1)VFP 中变量名最多不超过256 字符,一般应以字母开头,名称中只能使用字母、数字及下划线,不区分大、小写,且不要使用系统保留字。命名变量时,建议使用变量类型前缀,如 dDate中的 d 表示它是一个日期型变量,但这种要求并不是必须的。2)在 VFP 中对内存变量的数据类型限制较少,因此变量不必提前声明,变量的数据类型由赋予变量的实际值来决定。这给增加变量带来了方便,但使用中要求编程人员掌握变量的性质,否则可能在程序运行中产生错误。3)和其它编程语言一样,内存变量分为局部变量和全局变量。局部变量的作用域是当前子程序(或过程、方法)段,局部变量可以不用说明。全局

6、变量必须用关键字 public 来说明,如 public dDate,说明 dDate 是一个全局变量。全局变量的作用域是整个应用程序。系统变量是 VFP 中固有的一种特殊的全局变量,系统变量以下划线开头,如 _SCREEN,代表当前应用程序的窗口屏幕,它在一次 VFP 程序运行的整个过程中有效,并且系统可能有时会自动改写该变量,使用时须慎重。4)内存变量的赋值可使用 STORE TO 的命令,更常用的是使用 = 的操作符赋值法。字段是数据表的基本组成部分.数据表中的一行称为一个记录,数据表中的一列称为一个字段,同一字段的各记录具有相同的数据类型。在创建一个数据表时至少必须同时创建数据表的一个

7、以上字段,必须给字段命名,且必须指定字段的数据类型。如使用命令 “ CREATE TABLE 装配明细表 ( PartID c(6), Name c(20), Number n(2), Weight n(8,3) )” 就创建了一个表名为“装配明细表” ,具有 4 个字段的数据表。这 4 个字段的字段名分别是: PartID, Name, Number和 Weight。它们的数据类型分别是:字符型(6 位宽度,相当于 3 个汉字或 6 个西文数码) ,字符型(20 位宽度) ,数值型(2 位宽度,可表示-9 到 99 以内的数) ,数值型(8 位宽度,其中包括 3 位小数) 。关于字段需要说明

8、的是:1)字段名的命名规则和变量名基本相同,但名字的长度最好不要超过 8 个西文字符。2)字段的数据类型必须是确定的,如果把不同数据类型的数据赋值给某字段则出错。3)字段的宽度也必须在创建或修改表结构时给定,同一数据类型,较大宽度的数据被赋予某字段时,数据将被截取,并且不给错误提示,因此设计数据表时要预测好数据的宽度。4)当前打开的表的当前记录的各个字段是和内存变量一样保存在内存中的。如果某内存变量与当前表的字段重名,当前记录的字段内容就会自动覆盖该内存变量。如果有必要重名时,可用“m.”的前缀修饰该变量,如 m.Name,这时,Name 的数据是当前记录的数据,而 m.Name 是与 Nam

9、e 不同的内存变量。只有当使用命令“SCATTER MEMVAR”时才把字段 Name 的数据赋予 m.Name。当使用命令“GATHER MEMVAR”时可以用 m.Name 的数据修改 Name 的内容。表达式是有变量、常量和运算符组成的具有确定运算结果的式子。表达式的数据类型是指表达式计算结果的数据类型,由于有确定的运算结果,所以其数据类型是确定的。运算符用于操作相同类型的数据。可分为字符运算符、时间运算符、逻辑运算符、关系运算符和数值运算符 5 类。字符运算符主要有连接符+、取消符-、和包含符$三个。其中+号比较常用,如 a=part+id,则 a 的值成为partid。包含符$的用法

10、如 a=part$t, 则 a 的值成为 T。时间运算符主要是+和-,其用法和数值运算相近。逻辑运算符主要有 Not 或!代表逻辑非、AND 逻辑与、OR 逻辑或。如 a=F, b=T, c=(a AND b) OR (a OR b)则 c 的值为 T。关系运算符中、=(大于等于) 、#、!=都代表不等于,=代表恒等于,=代表等于。它们即可用于各种数据类型的比较。数值运算符有加(+) 、减(-) 、乘(*) 、除(/) 、幂(*或) 、取模(%)等,它们的含义和常规科学计算一致。2、数据库操作命令1)建立数据库命令:CREATE DATABASE 路径数据库名。数据库名可以包括路径,如果没有指

11、定路径,则所建数据库保存在当前默认路径下。2)建立数据表命令: CREATE TABLE 路径数据表名 FREE ( 字段名 1 字段类型 (字段宽度, 小数位数) PRIMARY KEY | UNIQUE ,字段名 2 . ) 。这里中的关键字是可选项。如果有 FREE 则所建数据表是一个不属于任何数据库的自由表,否则属于当前打开的数据库,如果当前没有打开的数据库,有没有 FREE 都一样。符号“|”表示 PRIMARY KEY 和 UNIQUE 两个关键字是只能单选的,有前者表示该字段是普通索引,UNIQUE 则是唯一索引。索引是为便于查询中排序使用的,数据表中作为唯一索引的字段,其各记录

12、的内容必须是不同的,普通索引则没有这种要求。没有这两个关键字则表示该字段不是索引项。3)打开数据库命令:OPEN DATABASE 数据库名 | ?EXCLUSIVE | SHARED 。这里如果选择“?”则显示一个打开文件的对话框。EXCLUSIVE | SHARED 表示独占或共享,无该选项时由 SET EXCLUSIVE 设定的系统状态决定。4)工作区选择命令:SELECT n | cTableAlias。该命令中有一个单选项:n 表示某个工作区的编号。工作区是内存中存放数据表的区域,内存中可以有许多工作区, ,每个工作区中只能打开一个数据表,被选中的当前工作区也只能有一个,选中了某个工

13、作区,其它工作区就变成非当前工作区了。除特别说明外,数据表操作命令都只对当前工作区有效。单选项 cTableAlias 是数据表的别名,也可以是数据表名。由于工作区中的表是唯一的,表名、别名都代表着唯一的表,所以工作区编号、数据表别名、数据表名三者实际上是一样的。当要打开许多表时,由于工作区编号是难于记忆的,故一般直接用数据表名,当有重名表时可以用别名。5)打开数据表命令:USE DatabaseName. Table | ? IN nWorkArea ORDER TagName ASCENDING | DESCENDING ALIAS cTableAlias EXCLUSIVE SHARED

14、 NOUPDATE 。该命令的最简单形式是只有关键字 USE,它关闭当前工作区中的数据表。当有选项DatabaseName. Table 时表示要把该数据表在当前工作区中打开,打开的同时就关闭了该工作区中原来的表。?表示以对话框方式由用户选择要打开的表。选项 IN nWorkArea 表示要在哪个工作区中打开。有一种特别常用的用法是:“USE Table IN 0”,他形式上是把表在工作区 0 打开,实际上是要在编号最小的空工作区中把表打开。ORDER TagNameASCENDING | DESCENDING表示打开表时以索引标识名 TagName 所指索引排序,可升序也可降序,默认为升序。

15、NOUPDATE 选项表示只读打开,无该选项表示该表是可读、可写的。6)添加空记录命令:APPEND BLANK IN n 。在表的末尾添加一个新记录。BLANK 选项在当前表的末尾添加一个空记录。IN n 指定要添加新记录的表所在的工作区。如果省略则将添加到当前选定工作区的表中。当发出 APPEND 或 APPEND BLANK 命令,并且没有在当前选定工作区中打开表时,将显示一个打开对话框,您可以在对话框中选择需要添加记录的表。7) 字段替换命令:REPLACE FieldName1 WITH eExpression1 ADDITIVE , FieldName2 WITH eExpress

16、ion2 ADDITIVE . Scope FOR lExpression1 WHILE lExpression2 IN n 。参数“FieldName1 WITH eExpression1 , FieldName2 WITH eExpression2 . ”指定用表达式 eExpression1 的值来代替 FieldName1 字段中的数据;用表达式 eExpression2 的值来代替字段 FieldName2 中的数据,依此类推。ADDITIVE 把对备注字段的替代内容追加到备注字段的后面。ADDITIVE 只对替换备注字段有用。如果省略 ADDITIVE,则用表达式的值改写备注字段原有内容。Scope 指定要替换内容的记录范围,只替换指定范围内记录字段的内容。范围子句有:ALL(全部)、NEXT n(后面 n 个记录) 、RECORD n(第 n

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号