VFP教程/第四章:Visual FoxPro 数据库及其操作

来自站长百科
跳转至: 导航、​ 搜索

VFP教程

数据库和表的建立、修改与有效性检验[ ]

  1. 表结构的建立与修改。
  2. 表记录的浏览(查看)、增加、删除与修改。
  3. 创建数据库,向数据库添加或从数据库删除表。
  4. 设定字段级规则和记录规则。
  5. 表的索引:(建立索引的目的是加快查询目的,但不是索引建立越多越好)主索引、候选索引、普通索引、唯一索引。

多表操作[ ]

  1. 选择工作区。
  2. 建立表之间的关联:一对一的关联;一对多的关联。
  3. 设置参照完整性。
  4. 建立表间临时关联。


表结构的建立在数据库设计器中新建表的方法有两种[ ]

  1. 在数据库设计器的空白位置单击鼠标右键,选择快捷菜单中的“新建表” 命令,打开“新建表”对话框,选择“新建表”或“表向导”命令。
  2. 单击“数据库”菜单中的“新建表”命令。另外,单击“工具”菜单中的“向导”子菜单中的“表”命令,可以通过向导创建表。

利用命令[ ]

CREATE <表名>例如:OPEN DATABASE 学生管理 CREATE 学籍表

修改表结构[ ]

  1. 在项目管理器中修改:在项目管理器中打开需要修改的表,单击“修改”按钮。
  2. 在数据库设计器中修改:在数据库设计器中的表上单击鼠标右键,打开快捷菜单,选择“修改”命令。

利用命令[ ]

MODIFY STRUCTURE <表名>

浏览表记录[ ]

  1. 在项目管理器中浏览:在项目管理器中打开要浏览的表,单击“浏览”按钮。
  2. 在数据库设计器中浏览:在数据库设计器中的表上单击鼠标右键,打开快捷菜单,选择“浏览”命令。
  3. 使用命令:使用USE 命令打开要浏览的表,然后输入BROWER 命令按回车键。

增加表记录[ ]

  1. APPEND 命令,包括两种格式:APPEND 和APPEND BLANK。APPEND命令需要立刻输入新记录;APPEND BLANK 命令是在表的尾部增加一条空白记录。
  2. INSERT 命令,格式为:INSERT[BEFORE][BLANK]。不指定BEFORE则在当前记录之后插入一条新记录。不指定BLANK 则直接输入新记录。

删除表记录[ ]

表记录的删除也是表维护的一项经常性的工作,因为删除意味着数据的消失,所以对记录的删除操作比较慎重,删除可分为逻辑删除和物理删除两种操作。逻辑删除还可以恢复,而物理删除则不可恢复。

逻辑删除[ ]

逻辑删除就是给指定的记录作删除标记“*”。


命令方式

【格式】DELETE [<范围>] [FOR <条件>] [WHILE <条件>]

【功能】对当前表中指定范围内满足条件的记录作删除标记“*”。

【说明】DELETE命令仅仅是在要删除的记录前加上一个删除标记“*”,并不是真正地从表文件中将该记录删除掉。可以用LIST或DISP命令显示带删除标记的记录。发现添加了删除标记的记录前面会显示竖黑条。恢复逻辑删除的记录的命令是RECALL。

【例】删除STUD.DBF中所有男同学的记录。

   USE STUD
   DELETE FOR 性别="男"
   LIST FIELDS 学号,姓名,性别,班级名,系别代号,地址,出生日期,是否团员

菜单方式

利用菜单方式逻辑删除记录的具体操作步骤如下:

① 首先打开表文件

② 选择【显示】|【浏览】命令,系统弹出记录浏览窗口,显示当前表中的记录。主菜单上增加【表】菜单项。

③ 选择【表】|【删除记录】命令,会弹出 “删除”对话框。

④ 单击删除对话框中的For…按钮或While…按钮,系统弹出表达式生成器,用户可以在表达式框中输入一个逻辑表达式,如性别=”男”,单击【确定】按钮完成条件表达式的输入。

⑤ 在“作用范围”下拉列表框中选择范围,如ALL。

⑥ 单击“删除”对话框中的“删除”按钮,系统将完成对指定范例内满足指定条件的记录的逻辑删除。

物理删除

是真正从表中删除记录,方法是:单击“表”菜单中的“彻底删除”命令。物理删除带删除标记的记录命令是PACK。物理删除表中全部记录的命令是ZAP。

显示记录

【格式】LIST | DISPLAY [FIELDS <字段名表>][<范围>] [FOR<条件表达式>] [WHILE <条件表达式>]

【功能】将当前表文件的记录按照指定的选项进行显示。

【说明】DISPLAY命令与LIST命令的功能相似,当表文件的数据记录较多时,用DISPLAY命令较为方便。

还有一点不同之处就是,如果同时缺省<范围>和 <条件>子句,DISPLAY命令只显示当前的一条记录,而LIST命令则是取默认值ALL而显示全部记录。

FIELDS <字段名表>:用来指定显示的字段。
<范围>:用来指定显示哪些记录。
“范围”有以下四种表示方法:
ALL:所有记录。
NEXT N:从当前记录开始,后面的N条记录(包括当前记录)
RECORD N:第N条记录。
REST:当前记录后的全部记录(包括当前记录)。
FOR<条件表达式>:指定对表文件中指定范围内满足条件的记录进行操作。
WHILE<条件表达式>:也是指定对表文件中指定范围内满足条件的记录进行操作,
但是,当第一次遇到不满足条件的记录时,停止继续往后搜索。
WHILE<条件表达式>若与FOR<条件表达式>同时使用,则WHILE项优先;
若两者都不选用,则显示<范围>中指定的全部记录。
OFF:表示不显示记录号;若不选此项,则在各记录前显示记录号。
【例】显示表STUD.DBF的全部记录。
USE STUD
LIST

修改表记录[ ]

(1).EDIT和CHANGE命令用于交互式地修改、编辑表记录。 【格式】EDIT / CHANGE [FIELDS <字段名表>] [<范围>] [FOR <逻辑表达式1>] [WHILE <逻辑表达式2>] (2). REPLACE命令用指定表达式的值替换当前表中满足条件记录的指定字段的值。 【格式】REPLACE <字段名1> WITH <表达式1> [, <字段名2> WITH <表达式2>] ... [<范围>][FOR <逻辑表达式1>] [WHILE <逻辑表达式2>] 【例】修改职工.DBF中的“工资”字段数据,每个职工工资均涨10%。 USE 职工 REPLACE 工资 WITH 工资*1.1 ALL

查询定位[ ]

  记录号用于标识数据记录在表文件中的物理顺序。记录指针是一个指示器,它始终指向当前表中正在操作处理的那条记录,此记录被称为当前记录。如果要对某条记录进行处理,必须移动记录指针, 使其指向该记录。在任意时刻指针只能指向唯一的一条记录。记录指针定位有绝对定位、相对定位和查询定位三种。在这里暂时只讲前二种,查询定位在讲到查询时再详细介绍。

VFP教程

VFP教程

第一章:Visual FoxPro基础|第二章:Visual FoxPro系统初步|第三章:数据与数据运算|第四章:Visual FoxPro 数据库及其操作|第五章:关系数据库标准语言SQL|第六章:查询和视图