第 11章 Visual FoxPro数据表第 11章 Visual FoxPro数据表
11.1 数据表的概念
11.2 建立数据表
11.3 浏览数据表
11.4 编辑表中数据
11.5 修改数据表结构
11.6 定制表第 11章 Visual FoxPro数据表
11.1 数据表的概念
1,数据表数据表是一些有组织数据的集合,是一组相关联的数据按行和列排列的二维表格,简称为表( Table),通常用来描述一个实体。每个数据表均有一个表名,一个数据库由一个或多个数据表组成,各个数据表之间可以存在某种关系。例如,表 11-1所示的“学生情况表”。
第 11章 Visual FoxPro数据表表 11-1 学生情况表学号 姓名 性别 出生时间 入学成绩 所在系 系负责人
2001001 张小红 女 1983年 7月 20日 400 计算机 程家 吉
2001002 李才 男 1982年 12月 5日 380 中文 朱荣
2001010 杜莉莉 女 1983年 11月 18日 420 计算机 程家 吉
2001004 王刚 男 1982年 3月 12日 410 数学 戴风 韵
2001011 丁大勇 男 1982年 5月 7日 405 数学 戴风 韵第 11章 Visual FoxPro数据表
2,数据表中的字段数据库表通常由两部分组成:字段和记录 。 数据表每列称为一个字段 ( Field),它对应表格中的数据项,每个数据项的名称称为字段名,如,所在班级,,
,学号,,,姓名,,,性别,,,出生时间,,
,总成绩,,,备注,等都是字段名 。
表中的每一个字段都有特定的数据类型。
第 11章 Visual FoxPro数据表
3,数据表中的记录表格的项目名称下面的每一行称为一个记录
( Record),每条记录由许多字段组成,多条记录组成一数据表。例如,姓名为“李才”对应的行中所有数据即是一条记录。记录中的每个字段的取值,称为字段值或分量。记录中的数据随着每一行记录的不同而变化。
第 11章 Visual FoxPro数据表
11.2 建立数据表可以在 Visual FoxPro中创建两种表:数据库表和自由表。数据库表是数据库的一部分,而自由表则独立存在于任何数据库之外。
第 11章 Visual FoxPro数据表
11.2.1 用“表设计器”创建新表利用,表设计器,创建新表的操作步骤为:
1) 单击常用工具栏中的,新建,按钮,在,新建,
对话框中选中,表,,然后单击,新建文件,。
2) 在“创建”对话框中,输入表的名称(如 st),
然后单击“保存”按钮,打开“表设计器”。
第 11章 Visual FoxPro数据表
3) 在,表设计器,中,选择,字段,选项卡,在
,字段名,区域键入字段的名称 。
在,类型,字段中,选择列表中的某一字段类型 。
在,宽度,列中,设置以字符为单位的列宽 。
如果,字段类型,是,数值型,或,浮点型,,设置,小数位,框中的小数点位数 。
4) 利用“插入”按钮,可以在已选定字段前插入一个新字段。
第 11章 Visual FoxPro数据表
5) 利用,删除,按钮,可以从表中删除选定字段 。
6) 当鼠标指针指向字段名左端的方块时,将变为上下双向箭头,拖动上下箭头可以改变字段的顺序 。
7) 在输入过程中,不能按 〈 Enter〉 键,回车表示整个“创建”的结束。定义好各个字段后单击“确定”
钮,就完成了表结构的定义工作。
第 11章 Visual FoxPro数据表
11.2.2 追加记录如果需要在表中追加记录,可以按照下面的步骤进行:
1) 单击常用工具栏上的,打开,按钮 。
2) 在,打开,对话框中,选择,文件类型,为,表
(*.dbf)”,选择表所在的文件夹,找到表文件后,双击要打开的表 。
3) 单击,显示,菜单中的,浏览,命令,将显示打开的表 。
4) 再次单击“显示”菜单中的“追加方式”,这时第 11章 Visual FoxPro数据表
11.2.3 使用命令
1,创建新表命令创建表的结构:
CREATE TABLE 〈 新表文件名 〉 (〈 字段名 1〉
〈 类型 〉 (〈 长度 〉 )
[,〈 字段名 2〉 〈 类型 〉 (〈 长度 〉 )… ]
例如,在命令窗口输入命令:
CREATE TABLE St (学号 c(7),姓名 c(6),性别 l(1),
出生时间 d(8),入学成绩 n(6,1),;
所在系 c(10),系负责人 c(8) )
第 11章 Visual FoxPro数据表
2,打开表命令使用 USE〈 表文件名 〉 命令可以打开一个已经存在的数据表 。
例如,在命令窗口输入命令:
USE St
第 11章 Visual FoxPro数据表
3,关闭表命令使用不带参数的 USE命令可以关闭已打开的数据表。
4,添加记录命令使用 APPEND命令可以向打开的数据表中添加记录。
使用 APPEND BLANK命令可以在打开的数据表中添加一个空白记录。
第 11章 Visual FoxPro数据表
11.3 浏览数据表
11.3.1 浏览窗口的显示模式如果需要浏览一个表,单击,文件,菜单中的
,打开,,选定想要查看的表名,然后从,显示,菜单中选择,浏览,。
浏览窗口有两种不同的显示模式:浏览模式和编辑模式。
第 11章 Visual FoxPro数据表
1,浏览模式选中,显示,菜单中的,浏览,命令,这时数据表为浏览模式 。
浏览模式以一个记录为一横行,一个字段为一列,
来显示数据表中的记录,因此同时可以浏览各个记录数据 。
在命令方式下,首先用 USE命令打开要操作的数据表,然后键入 BROWSE命令,也可以进入浏览模式。
第 11章 Visual FoxPro数据表
2,编辑模式编辑模式是以一横行为一字段的格式显示数据表中的记录数据,每条记录按照顺序连接显示 。 可以利用
〈 PgUp〉 和 〈 PgDn〉 键换至上一条,下一条记录 。
如果要改为编辑模式,可以单击,显示,菜单中的
,编辑,命令 。
在命令方式下,首先用 USE命令打开要操作的数据表,然后键入 EDIT命令,也可以进入编辑模式。
第 11章 Visual FoxPro数据表
11.3.2 自定义浏览窗口
1,移动字段显示位置在,浏览,窗口中移动字段位置的方法为:直接将列标头拖到新的位置 。
也可以单击“表”菜单中的“移动字段”命令,
然后用上下箭头键移动列,最后按 〈 Enter〉 键。
第 11章 Visual FoxPro数据表
2,改变显示时的列宽在列标头中,将鼠标指针指向两个字段之间的结合点,拖动鼠标调整列的宽度 。
也可以先选定一个字段,然后单击,表,菜单中的
,调整字段大小,,并用左,右箭头键来调整列宽,最后按 〈 Enter〉 键 。
这种尺寸调整不会影响到字段的长度或表的结构。
如果想改变字段的实际长度,应使用“表设计器”修改表的结构。
第 11章 Visual FoxPro数据表
3,分割浏览窗口分割窗口可将浏览窗口切割成两半,以观看不同位置的记录数据,也可以同时在“浏览”和“编辑”
模式下查看同一记录。
第 11章 Visual FoxPro数据表
(1) 分割浏览窗口分割浏览窗口的方法是:将鼠标指针指向窗口左下角的拆分条,向右方拖动拆分条,将,浏览,窗口分成两个窗格 。
也可单击,表,菜单中的,调整分区大小,,用左右光标键移动拆分条,按 〈 Enter〉 键结束 。
将指针指向拆分条,向左或向右拖动拆分条,可以改变窗格的相对大小。
第 11章 Visual FoxPro数据表
(2) 不同显示模式在不同的窗格中,可以选取不同的显示模式,也就是两种模式共存 。 例如,用鼠标左键单击右边窗格中的任意位置,单击,显示,菜单中的,编辑,,可以将右边窗格改为,编辑,模式,而左边窗格仍为,浏览,模式 。
默认情况下,“浏览”窗口的两个窗格是相互链接的,即在一个窗格中选择了不同的记录,这种选择会反映到另一个窗格中。
第 11章 Visual FoxPro数据表
4,打开或关闭网格线单击“显示”菜单中的“网格线”命令,可以隐藏
“浏览”窗口中的网格线。
11.3.3 记录指针的移动在浏览窗口中,记录的最前端有一个三角形,即记录指针的位置,它表示当前的修改位置,因此如果要修改某一字段,必须移动指针到指定的位置才能修改。
第 11章 Visual FoxPro数据表
1,在“浏览”窗口中移动记录指针
(1) 用鼠标方式用鼠标单击不同的记录,可以移动表的记录指针,
显示表中不同的字段和记录 。
这时记录指针将随之移动,状态栏中的当前记录号也随之变化。
第 11章 Visual FoxPro数据表
(2) 用键盘方式可以用箭头键和 〈 Tab〉 键移动 。
(3) 用菜单方式单击“表”菜单中的“转到记录”。在子菜单中选择“第一个”、“最后一个”、“下一个”、“前一个”
或“记录号”。如果选择了“记录号”,在“转到记录”
对话框中输入待查看记录的编号,然后选择“确定”。
第 11章 Visual FoxPro数据表
2,使用移动指针命令移动记录指针的命令有两种:绝对移动 ( GO) 和相对移动 ( SKIP) 。
(1) 绝对移动绝对移动记录指针的命令格式为:
GO { BOTTOM | TOP |〈 记录号 〉 }
其中 BOTTOM表示末记录,TOP表示首记录,〈 记录号 〉 可以是数值表达式,按四舍五入取整数,但是必须保证其值为正数且位于有效的记录数范围之内。
第 11章 Visual FoxPro数据表
(2) 相对移动相对移动记录指针的命令格式为:
SKIP {n | –n }
若是正数,向记录号增加的方向移动;若是负数,
向记录号减少的方向移动。
第 11章 Visual FoxPro数据表
11.4 编辑表中数据
11.4.1 修改记录
1,在,浏览,模式下修改记录如果改变,字符型,字段,,数值型,字段,,逻辑型,字段,,日期型,字段或,日期时间型,字段中的信息,可以把光标设在字段中并编辑信息,或者选定整个字段并键入新的信息 。
如果修改“备注型”字段,可在“浏览”窗口中双击该字段或按下 〈 Ctrl〉 +〈 PgDn〉 。这时会打开一个“编辑”窗口,其中显示了“备注型”字段的内容。
第 11章 Visual FoxPro数据表
2,在,编辑,模式下修改记录直接在命令窗口使用 EDIT命令,可以打开“编辑”窗口,修改打开的数据表。
第 11章 Visual FoxPro数据表
3,使用批替换命令批替换命令 REPLACE可对字段内容成批自动地进行修改 ( 替换 ),而不必在编辑状态下逐条修改 。 批替换命令的语法格式为:
REPLACE [〈 范围 〉 ] 〈 字段名 1〉 WITH 〈 表达式 1〉
[,〈 字段名 2〉 WITH 〈 表达式 2〉 …] [FOR |
WHILE〈 条件 〉 ]
第 11章 Visual FoxPro数据表说明:
(1) 其中 〈 范围 〉 选项只能取 ALL,NEXT〈 n〉,
RECORD〈 n〉,REST四种,其各自的含义见表 11-2。若无 〈 范围 〉 项,则只对当前记录操作。
表 11-2 范围选项
〈 范围 〉 选项 含 义
ALL 对全部记录进行操作
NEXT〈 n〉 只对包括当前记录在内的以下连续的 n个记录进行操作
RECORD〈 n〉 只对第 n号记录进行操作
REST 只对当前记录起到文件尾的所有记录进行操作第 11章 Visual FoxPro数据表
(2) FOR〈 条件 〉 表示对 〈 范围 〉 内所有满足 〈 条件 〉 的记录执行该命令; WHILE〈 条件 〉 表示对 〈 范围 〉 内满足 〈 条件 〉 的记录逐条执行命令,一旦遇到不满足者,即停止执行 。
(3) 对指定范围内满足条件的各记录,以 〈 表达式 1〉
的值替换 〈 字段名 1〉 的内容,〈 表达式 2〉 的值替换
〈 字段名 2〉 的内容 … (备注型字段除外)。
第 11章 Visual FoxPro数据表
11.4.2 在表中添加新记录
1,在,浏览,或,编辑,窗口中设置为追加方式的方法为:从,显示,菜单中选择
,追加方式,。
在,追加方式,中,文件底部显示了一组空字段,可以在其中填入来建立新记录 。
在新记录中填充字段,用 〈 Tab〉 键可以在字段间进行切换。每完成一条记录,在文件的底端就会又出现一条新记录。
第 11章 Visual FoxPro数据表
2,使用命令直接在命令窗口使用命令 APPEND。 若要从其他表中追加记录,可以使用如下格式的命令:
APPEND FROM 〈 表文件名 〉 FOR 〈 逻辑表达式 〉
第 11章 Visual FoxPro数据表
11.4.3 删除记录
1,在,浏览,或,编辑,模式下删除记录单击记录左边的小方框,标记待删除的记录 。
标记记录并不等于删除记录,属于“逻辑删除”。
要想真正地删除记录(物理删除),应从“表”菜单中选择“彻底删除”。当出现提示“从 … 中移去已删除记录?”,选择“是”。
第 11章 Visual FoxPro数据表
2,删除满足条件的记录若要有选择地删除一组记录,可从“表”菜单中选择“删除记录”,则打开“删除”对话框,选择删除记录的范围,输入删除条件。
第 11章 Visual FoxPro数据表
3,使用命令
(1) 逻辑删除记录命令逻辑删除记录命令可以对数据表中指定范围内满足条件的记录加注标记,其格式为:
DELETE [〈 范围 〉 ] [FOR〈 条件 〉 ]
第 11章 Visual FoxPro数据表
(2) 恢复删除记录命令恢复删除记录命令可以恢复数据表中指定范围内满足条件的删除记录 。 撤消标记,其格式为:
RECALL [〈 范围 〉 ] [FOR〈 条件 〉 ]
第 11章 Visual FoxPro数据表
(3) 物理删除记录命令物理删除记录命令可以将数据表中所有具有删除标记的记录正式从表文件中删掉 。 其格式为:
PACK
第 11章 Visual FoxPro数据表
(4) 直接删除所有记录命令直接删除所有记录命令可以一次删除数据表中的全部记录,但保留表结构 。 其格式为:
ZAP
本命令等价于 DELETE ALL与 PACK连用,但速度更快。属于物理删除命令,一旦执行,无法恢复。
11.4.4 在表单中显示浏览窗口示例第 11章 Visual FoxPro数据表
11.5 修改数据表结构
1,修改表结构在“文件”菜单中选择“打开”命令,选定要打开的表。然后从“显示”菜单中选择“表设计器”
命令,则打开“表设计器”对话框。表的结构将显示在“表设计器”中,直接对其进行修改。
第 11章 Visual FoxPro数据表
2,增加字段在“表设计器”中选择“插入”。在“字段名”列中,键入新的字段名。在“类型”列中,选择字段的数据类型。在“宽度”列中,设置或输入字段宽度。如果使用的数据类型为“数值型”或“浮点型”,还需要设置“小数位”列的小数位数。如果想让表接受,null”值,
请选中,NULL”列。选择“确定”,选择“是”,改变表的结构。
第 11章 Visual FoxPro数据表
3,删除字段若要删除表中的字段,请选定该字段,再单击,删除,。
4,修改表结构的命令在命令窗口可以使用下面的命令打开表设计器:
MODIFY STRUCTURE
第 11章 Visual FoxPro数据表
11.6 定制表
11.6.1 筛选表
1,通过界面操作在表中建立过滤器的方法为:
(1) 打开表,浏览要筛选的表 。
(2) 单击“表”菜单中的“属性”命令。在“工作区属性”对话框中的“数据过滤器”框内输入筛选表达式,然后单击“确定”。
第 11章 Visual FoxPro数据表
2,使用命令可用 SET FILTER命令筛选数据 。 当要指定一个暂时的条件,使表中只有满足该条件的记录才能访问时,该命令特别有用 。
SET FILTER命令的语法格式为:
SET FILTER TO [〈 逻辑表达式 〉 ]
例如,只显示所有女同学记录的筛选命令为:
SET FILTER TO NOT St.性别如果要关闭当前表的筛选条件,可以执行不带表达式的 SET FILTER TO命令。
第 11章 Visual FoxPro数据表
11.6.2 限制对字段的访问
1,利用菜单限制对字段的访问建立字段筛选的方法为:
(1) 单击,表,菜单中的,属性,,在,工作区属性,
对话框的,允许访问,框内,选中,字段筛选指定的字段,,然后选择,字段筛选,,打开,字段选择器,对话框 。
(2) 在,字段选择器,对话框中,将所需字段移入
,选定字段,栏,然后单击,确定,。
浏览表时,只有在“字段筛选”中选定的字段被显示出来。
第 11章 Visual FoxPro数据表
2,使用命令限制对字段的访问可以使用如下格式的命令限制对字段的访问:
SET FIELDS TO { ALL |〈 字段名表 〉 }
其中 〈 字段名表 〉 是希望访问的字段名称列表,各字段之间用“,”分开。 ALL选项将取消所有的限制,
而显示所有的字段。