数据表的基本操作1.ppt_第1页
数据表的基本操作1.ppt_第2页
数据表的基本操作1.ppt_第3页
数据表的基本操作1.ppt_第4页
数据表的基本操作1.ppt_第5页
已阅读5页,还剩158页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章 数据表的基本操作,数据表的操作是VFP的基本操作之一。本章主要介绍自由表的基本操作,包括表结构的创建、修改,记录的追加、插入、修改和删除。对于这些基本的操作,本章除了介绍可视化界面操作方式外,还将介绍命令操作方式。界面操作方式简捷、直观,熟练掌握界面操作方式是学习VFP的必由之路。而掌握命令方式则是学习程序设计的基础。,目 录,3.1 数据表的建立 3.2 表的维护与使用 3.3 项目管理器 3.4 表的排序与索引 3.5 查询与统计,3.1 数据表的建立,3.1 数据表的建立,3.1.1 表结构的设计 3.1.2 表结构的建立 3.1.3 记录数据的输入,3.1.1表结构的设计,1. 字段名 字段名用来标识字段。字段名必须以字母或汉字开头,后面是字母、汉字、数字和下划线序列,自由表中字段名长度不能超过10个字符,数据库表中字段名不能超过128个字符。 2. 字段的类型和宽度 字段的类型决定存储在字段中的值的数据类型,字段宽度表明该字段允许存放数据的最大长度,以字节数或位数表示。对于字符型、数值型、浮点型等类型字段的宽度由用户在定义表结构时,根据存储数据的具体情况设置;其他类型字段的宽度 VFP统一规定如下:,货币型:8字节 日期型、日期时间型:8字节 双精度型字段:8字节 逻辑型:l字节 备注型、通用型宇段:4个字节 整型字段:4字节 小数位数 数值型和浮动型字段需要设置小数位数,小数位数至少应比字段的宽度值小2。对于整型字段,应将小数位数设置为0;双精度型字段允许输入小数,但不需事先定义小数位数,小数点将在输入数据时输入。,3.1.1表结构的设计(续1),返回,3.1.2表结构的建立,1.设置工作目录 例. 将E:VFPUSER文件夹设置为工作目录。 步骤1: 建立E:VFPUSER 目录。 步骤2: 选择“工具”菜单的“选项”命令,打开“选项”对话框。 步骤3: 在“选项”对话框中左击“文件位置”选项卡,选择“文件类型”列表框中的“默认目录”。,步骤4: 单击“修改”按钮,打开“更改文件位置”对话框,在该对话框中选中“使用(U)默认目录”,在“定位(L)默认目录”文字框中输入E:VFPUSER,单击“确定”按钮。返回到“文件位置”选项卡。 步骤5: 单击“设置为默认值”按钮,再单击“确定”按钮。,3.1.2表结构的建立 (续1), 定义表结构 例. 建立自由表学生信息.dbf。 步骤1: 选择“文件”菜单中的“新建”命令,打开新建对话框。 步骤2: 选定对话框中的“表”,单击“新建文件”按钮,打开创建对话框。 步骤3: 在创建对话框中输入表名:“学生信息”,单击“保存”按钮,打开表设计器对话框。,3.1.2表结构的建立 (续2),步骤4:在表设计器窗口设定各字段的属性值。 “字段名”列的文本框供输入字段名。“学生信息”表的第一个字段名为学号,在字段名列输入“学号”,出现“类型”列的下拉列表框。 “类型”列的下拉列表框供选取字段类型。只要单击下拉列表框右端的箭头按钮,即出现类型列表,可选定其中某一类型,也可按键盘上的向下方向箭头键选择类型。学号字段选字符型。,3.1.2表结构的建立 (续3),3.1.2表结构的建立 (续4), “宽度”列有一双箭头的微调器。微调器的文本区可直接输入数字。其右端的两个箭头,单击上箭头按钮数字增大,单击下箭头按钮数字减小。前已提到,仅字符型、数值型或浮点型字段需要用户设定宽度,其它类型字段的宽度由VFP规定,操作时光标将跳过该列。 “小数位数”列的微调器用于输入或微调小数位数。重复步骤到步骤,依次建立姓名、性别、出生日期、入学成绩、四级通过否、计算机等级、备注、照片共9个字段。,3.1.2表结构的建立 (续5), 关于“索引”列将在表的排序与索引中介绍。 “NULL”列中的NULL值表示无明确的值,不同于零、空串或空格。选定NULL按钮,其面板上会显示“”号,表示该字段可接受NULL值,便于VFP与可能包含NULL值的 Microsoft Access或SQL数据通用。 字段名列左方有一列按钮,称为移动按钮。其中仅有一个按钮标有上下双箭头,将它向上或向下拖动能改变字段的次序。单击某空白按钮,它会变成双箭头按钮。, 要删除一个字段,可先选定该字段后,再单击删除按钮。 要插入一个字段,先选定某字段作为当前字段,然后再单击插入按钮。新字段插入在所选的当前字段之前,且以一个空白字段出现,等待用户输入字段名等属性。 当所有表结构的信息输入完毕后,用鼠标左键单击表设计器中的确定按钮,即出现如图所示的对话框,询问“现在输入数据记录吗?”。若在询问时选“是”按钮,将出现“学生信息”的记录编辑窗口 ,若选择“否”按钮,则关闭表设计器窗口,并将表结构保存在工作目录中。,3.1.2表结构的建立 (续6),返回,3.1.2表结构的建立 (续7),上面介绍了利用菜单创建表结构的操作方法,在VFP中还可以利用命令创建表结构: 【语法格式】CREATE 在命令窗口键入CREATE命令后,屏幕上弹出表设计器窗口,以后的操作方法与菜单操作相同。,返回,3.1.3 记录数据的输入,下面以学生信息表中记录数据的录入为例,介绍记录数据的录入方法。 记录数据的录入 步骤1:单击上图中的“是”按钮,打开记录编辑窗口。 步骤2:在学号字段输入04001001。光标自动切换到姓名字段。 步骤3:在姓名字段输入尚杰,按Tab键(或回车键),光标切换到性别字段。 步骤4:在性别字段输入男,光标自动切换到入学成绩字段。,步骤5:在入学成绩字段输入520.5,光标自动切换到四级通过否字段。 步骤6:在四级通过否字段输入t,光标自动切换到计算机等级字段。 步骤7:在计算机等级字段输入二级,光标自动切换到出生日期字段。 步骤8:由于日期默认格式为MDY,在出生日期字段输入11/20/86。不必输入分隔符/。,3.1.3 记录数据的输入 (续1),2 .备注型字段数据的录入 步骤1:将光标移动到备注字段。 步骤2:按下Ctrl+Pug或Ctrl+Home或双击memo区,打开编辑窗口,输入如下内容: 尚杰,1992年起在武汉市第一人民小学上学,1998年起在武汉市曙光中学上初中,2001年起在武汉市三十八中学上高中,2004年成为江夏大学的学生。 步骤3:编辑完成后,按Ctrl+W将数据存入相应的备注文件之中返回记录录入窗口;按Ctrl+Q或Esc则放弃本次编辑,返回记录录入窗口。输入完毕后,该字段显示的“memo”变为“Memo”。,3.1.3 记录数据的输入 (续2),3通用型字段数据的录入 VFP的通用型字段可以存储图形、图象、声音等多媒体数据,通用型字段的内容存储在 .fat文件中。通用型字段的录入可使用编辑菜单的插入对象命令,或通过剪贴板粘贴。 通用型字段的数据的输入,可在打开表的通用型字段编辑窗口时通过剪贴板粘贴,或通过选择“编辑”菜单中的“插入对象”插入图形。下面用两种方法将保存在“我的文档”文件夹下的文件SA.bmp插入“学生信息”表中第一条记录的通用型字段“照片”中。,3.1.3 记录数据的输入 (续3),【方法一】 步骤1:用WINDOWS的画图程序打开文件SA.bmp。 步骤2:选用画图窗口工具箱的“选定”按钮,选定该图形。 步骤3:选择“编辑”菜单的“复制”选项将图形送入剪贴板。 步骤4:将鼠标指向”学生信息”表第一条记录的“照片”字段,双击该区,打开“学生信息.照片”编辑窗口。 步骤5:选择“编辑”菜单中的“粘贴”选项, 剪贴板中图形就送入了该窗口。,3.1.3 记录数据的输入 (续4),【方法二】 步骤1:鼠标指向“学生信息”表第一条记录的“照片”字段。 步骤2:双击该区,打开“学生信息.照片”编辑窗口。 步骤3:选择“编辑”菜单中的“插入对象”,打开“插入对象”对话框。 步骤4:左击该对话框中的“由文件创建”单选按钮。 步骤5:左击“浏览”按钮,在我的文档窗口中找到SA.bmp左击“确定”按钮。,3.1.3 记录数据的输入 (续5),返回,返回目录,3.2 表的维护与使用,3.2 表的维护与使用,3.2.1 表的打开和关闭 3.2.2 显示表的结构和表的数据 3.2.3 修改表结构 3.2.4 修改记录数据 3.2.5 记录的插入与追加 3.2.6 记录的删除与恢复 3.2.7 记录指针的移动 3.2.8 表结构和数据记录的复制命令 3.2.9 使用多个表的操作,3.2.1 表的打开和关闭,在对表进行各种操作之前,必须首先打开数据表。 数据表的打开 (1)命令方式打开数据表 【语法格式】 USE 【功能】在当前工作区中打开或关闭表。表打开时,若该表有备注型或通用型字段,则自动打开同名的 .fpt备注文件。 【说明】初始打开数据表,记录指针指向该表的第一条记录。,(2) 菜单方式打开数据表 步骤1:选择“文件”菜单中的“打开”。显示“打开“对话框。 步骤2:在“文件类型”下拉列表框中选定“表(*.dbf)”类型。 步骤3:在列表框中选定“学生信息”表。 步骤4:单击“确定”按钮。,3.2.1 表的打开和关闭(续1),2关闭数据表 表的操作结束后为防止丢失数据应及时关闭,以保证更新后的内容能写入相应的表中。下面的命令可以关闭数据表。 (1) USE命令 本命令关闭当前表。 (2) CLEAR ALL命令 本命令关闭各个工作区上打开的表,并选择1号工作区为当前工作区;从内存释放所有内存变量及用户定义的菜单和窗口,但不释放系统变量。 (3) CLOSE ALL命令 本命令关闭所有打开的数据库与表,并选择1号工作区为当前工作区。本命令还将关闭表单设计器,查询设计器,报表设计器,项目管理器。,3.2.1 表的打开和关闭(续2),(4) CLOSE DATABASE ALL命令 本命令关闭当前数据库及其中表;若无打开的数据库,则关闭所有自由表,并选择1号工作区为当前工作区。若命令中带有ALL选项则关闭所有打开的数据库及其中的表和所有打开的自由表。 (5) CLOSE TABLES ALL命令 本命令关闭当前数据库中所有的表,但不关闭数据库。若无打开的数据库,则关闭所有自由表。若命令中带有ALL选项则关闭所有数据库中所有的表和所有自由表,但不关闭数据库。,3.2.1 表的打开和关闭 (续3),返回,3.2.2 显示表的结构和表的数据,1显示表的结构 【语法格式】 DISPLAY|LIST STRUCTURE TO PRINTER PROMPT |TO FILE NOCONSOLE 【功能】显示当前打开的表结构。 【说明】LIST|DISPLAY STRUCTURE: 命令用于显示当前打开的表中所有字段的字段名、类型、宽度、小数位数及其他信息。其中,命令动词 DISPLAY STRUCTURE与LIST STRUCTURE的功能完全相同,唯一的区别是,当显示内容较多,一屏显示不下时,前者会在显示满一屏后暂停,等待用户按任一键继续显示,而后者则连续滚动显示所有信息;,TO PRINTER PROMPT| TO FILE: 用于指定显示内容的输出方向。若不指定,则默认输出到主窗口。TO PRINTEPROMPT表示输出到打印机,若选PROMPT选项,打印前显示对话框 ; TO FILE表示将显示内容输出到指定的文件,该文件为文本文件; NOCONSOLE: 表示禁止在屏幕上显示。 例显示“学生信息”表的结构 在命令窗口输入以下两条命令: USE 学生信息 & 打开学生表命令 LIST STRUCTURE & 显示学生表的结构,3.2.2 显示表的结构和表的数据 (续1),2. 显示表的记录数据 (1) 使用命令方式显示记录数据 【语法格式】 LIST | DISPLAY FIELDS 范围OFF FOR WHILE NOCONSOLE NOOPTIMIZE TO PRINTER |FILE 【功能】 显示当前打开的数据表的全部、部分记录的所有或部分字段的内容。,3.2.2 显示表的结构和表的数据 (续2),【说明】 DISPLAY与LIST: 二者的区别是,在和FOR 、WHILE 选项同时缺省时,DISPLAY命令只显示当前记录,而LIST命令显示全部记录;当显示内容超过一屏时,DISPLAY分屏显示,LIST自动翻页显示。 FIELDS : 用来指定需要显示的字段;此项缺省,显示当前表中除备注和通用字段外的所有字段。显示备注型字段的内容,必须在中明确指出该字段。本命令不能显示“通用型”字段的值。,3.2.2 显示表的结构和表的数据 (续3),FOR 和WHILE : 用于筛选中指定的记录。若两者同时使用,WHILE 选项优先;如两项都不选用,中指定的记录全部显示。 OFF:不显示记录号;此项缺省,在各记录前显示记录号。,3.2.2 显示表的结构和表的数据 (续4),按指定条件显示学生信息表中的记录。 (1) 显示所有记录 (2) 显示入学成绩高于580分的记录,且不显示记录号 (3) 显示备注字段内容 (4) 显示1986年以前出生的学生的英语四级通过情况 USE 学生信息 LIST DISPLAY ALL FOR 入学成绩580 OFF GO 1 DISP 备注 LIST 姓名,四级通过否 FOR 出生日期CTOD(“01/01/86“),3.2.2 显示表的结构和表的数据(续5),(2) 利用浏览窗口显示记录数据 打开浏览窗口 步骤1:打开“学生信息”表 步骤2:选择“显示“菜单中的“浏览”命令 查看记录数据 在浏览窗口查看数据时,可利用滚动条,使表数据在窗口中滚动。若使用键盘操作,可用PgUP与PgDn上下翻页查看,或者使用上下方向键()来上下逐行移动查看;查看备注型和通用型字段内容,双击Gen和Memo即可。,3.2.2 显示表的结构和表的数据(续6),设置记录数据的显示方 浏览窗口中的数据有浏览和编辑两种显示方式。上述两种显示格式可通过“显示”菜单中的“浏览”和“编辑”来切换。,3.2.2 显示表的结构和表的数据(续7),编辑方式,浏览方式,3.2.2 显示表的结构和表的数据(续8), 浏览窗口的分区 在浏览窗口左下角有一个黑色小方块,称为窗口分割器。将鼠标指向窗口分割器,当窗口分割器变成两根竖线外加水平双向箭头时,按住鼠标左键向右拖动,可将窗口分为两个分区。在两个分区中显示的是同一个表的数据,显示格式可以相同,也可以不同。光标所在的分区称为活动分区,活动分区的数据修改后,另一分区的数据会随之改变。,浏览窗口的两个分区,3.2.2 显示表的结构和表的数据(续9),把浏览窗口设置为两个分区后,可选择“表”菜单中的“链接分区”,使两个分区链接或解除链接,“链接分区”前面显示对号()时,表示两个分区处于链接状态。分区链接后,在一个分区选定某记录,另一分区也会显示该记录。若将一个分区设置为浏览格式,另一个分区设置为编辑格式,则当在一个分区选择某记录时,另一分区中可看到该记录的全貌。解除链接后,在某个分区中记录的选定与另一分区的显示状况无关,两个分区能显示不同的记录,这种情况可用于对比不同记录的数据。,3.2.2 显示表的结构和表的数据(续10),返回,3.2.3 修改表结构,当用户需要修改当前表的字段名、类型、宽度和小数位数,或者增加、删除、移动字段或者修改索引标记时,可以修改表结构。 在修改数据表的结构时需要注意的是,当将字段宽度改小时,原来的字段值会丢失后面一部分;当改变字段类型时,如果新的字段类型与原来的数据类型不一致,则原来的数据丢失。如字符型字段改变为数值类型时,原来的非数值数据丢失;日期型字段改变为数值型时,原来的数据丢失;逻辑型字段改变为数值型时,原来的逻辑数据丢失。,在VFP环境下通常利用“表设计器”修改表结构。在表处于打开状态时,可用菜单和命令两种方法打开表设计器。打开表设计器的命令是:MODIFY STRUCTURE 修改数据表结构的操作方法与创建数据表结构的操作方法相同。,3.2.3 修改表结构(续1),3.2.3 修改表结构(续2),表结构修改完成后,在表设计器窗口单击“确定”按扭,出现询问“结构更改为永久性更改?”确认对话框,选择“是”保存对表结构所作的修改,否则放弃修改;单击“取消”按扭,出现询问“放弃结构更改?”确认对话框,选择“是”表示修改无效并关闭表设计器窗口,否则可继续修改。 例. 修改学生信息表的结构,增加一个字段:民族,C,4,如下图所示。,返回,3.2.4 修改记录数据,修改记录数据的方法主要有两种:用REPLACE命令自动替换,或者在浏览窗口用交互方式修改记录数据。 1用命令方式修改记录数据 【语法格式】 REPLACE WITH ADDITIVE , WITH ADDITIVE FOR WHILE NOOPTIMIZE 【功能】替换当前表的字段值,【说明】 :指定待修改的字段。 :表达式的内容替换字段名指的字段,表达式的数据类型要与前面的字段类型相同。如果要替换多个字段,需用逗号隔开。 范围:缺省此项时仅对当前记录进行替换。 ADDITIVE:选项仅在替换备注型字段时才使用,表示将表达式的值添加到该字段原有内容的后面,缺省此项时是覆盖或取代原有内容。 例. 将少数民族学生的入学成绩增加10分。 REPLACE 入学成绩 WITH 入学成绩+10 FOR NOT 民族=“汉“,3.2.4 修改记录数据(续1),2在浏览窗口中用交互方式修改数据记录 在浏览窗口修改记录数据的基本方法是使用鼠标或光标移动键将插入点定位到需要进行修改的位置,进行修改。修改完成后按下Ctrl+W键,保存修改内容并关闭窗口;按下Ctrl+Q键或ESC键放弃修改,并关闭窗口。BROWSE命令的语法格式如下: 【语法格式】BROWSE FIELDS FREEZE LOCK NOAPPEND NOEDIT FOR WHILE 【功能】显示当前打开表的数据记录以供查看或修改。,3.2.4 修改记录数据(续2),【说明】 NOAPPEND:不允许追加记录; NOEDIT:不允许修改所有字段的记录数据; FREEZE :只允许修改由字段名指定字段的记录数据; LOCK : 表示当记录的字段较多时,BROWSE窗口可能不能显示所有的字段,用户可以用Ctrl+ 光标向左、右移动键使窗口向左、右滚动显示内容,从而浏览所有的字段。若带上LOCK选项,则锁住最左边的个字段,使它们不随窗口的滚动而移出屏幕显示。,3.2.4 修改记录数据(续3),返回,3.2.5 记录的插入与追加,1. 插入记录命令 【语法格式】INSERT BLANKBEFORE 【功能】在表中指定位置插入空记录或进入交互方式输入新记录。 【说明】 BEFORE:选择本选项,在当前记录之前插入新记录,缺省则在当前记录之后插入新记录; BLANK:选择本选项,插入一条空白记录。缺省时进入交互方式,插入记录。,例. 在“学生信息”表的第4条记录的前后各插入一条空白记录。 USE 学生信息 GO 4 &记录指针指向第4条记录 INSERT BEFORE BLANK *在第4条记录之前插入一条空白记录,空记录为第4条记*录,原来的第4条记录变为第5条记录 GO 5 *插入一条空白记录后,原第4条记录变为第5条记录 INSERT BLANK & 在第5条记录之后插入一条空白记录,3.2.5 记录的插入与追加 (续1),2追加记录命令 (1)APPEND命令 【语法格式】 APPENDBLANK 【功能】在表文件尾追加新的空白记录或以交互方式输入新记录数据。 【说明】 BLANK:选择本选项在表尾追加一条空白记录。否则打开编辑窗口,通过交互方式输入记录数据。,3.2.5 记录的插入与追加 (续2),例. 在学生信息.DBF的末尾添加一条新记录。 USE 学生信息 WITH .t.,计算机等级 WITH “二级” *用REPLACE命令填写字段数据,3.2.5 记录的插入与追加 (续3),(2) APPEND FROM命令 【语法格式】APPEND FROM FIELDS FOR 【功能】从其它数据表向当前表末尾添加一批记录。 【说明】该命令要求源数据表与当前打开的数据表有相同的字段,即两个数据表的字段名和字段的数据类型以及宽度要一致。如果源数据表的字段宽度大于当前数据表同名字段的宽度,字符型字段将被截去尾部;数值型字段将被填满“*”表示溢出。执行该命令时源数据表文件不需要打开。,3.2.5 记录的插入与追加 (续4),例. 设数据表STUD.DBF与“学生信息”结构相同,将STUD.DBF中所有记录的学号和姓名的值添加到学生信息.DBF的末尾。 USE 学生信息 APPEND FROM STUD FIELDS 学号,姓名,3.2.5 记录的插入与追加 (续5),(3) 在浏览窗口追加记录 在浏览窗口追加记录的方法有三种:追加一条记录、追加多条记录、将其他表中的数据成批追加到当前表。 追加多条记录:选择“显示”菜单中的“追加方式”选项;追加一条记录:选择“表”菜单中的“追加新记录”选项; 将其他表中的数据成批追加到当前表:选择“表”菜单中的“追加记录”选项。,3.2.5 记录的插入与追加 (续6),返回,3.2.6 记录的删除与恢复,删除记录分为打上删除标记和从磁盘上彻底删除两种。前者称为逻辑删除,后者称为物理删除。对于逻辑删除的记录可以恢复,而物理删除的记录则不能再恢复。 1逻辑删除记录 (1) 命令方式逻辑删除记录 【语法格式】 DELETE 范围 FORWHILE 【功能】对当前数据表将指定范围内满足条件的记录加上逻辑删除标记。若省略范围和条件则只对当前记录进 行逻辑删除。,例逻辑删除学生信息表中入学成绩520的记录。 USE 学生信息 DELE FOR 入学成绩520 *对入学成绩520的记录加逻辑删除标记 LIST &加了逻辑删除标记的记录前面显示*,3.2.6 记录的删除与恢复 (续1),3.2.6 记录的删除与恢复 (续2),(2) 在浏览窗口逻辑删除记录 【方法一】 步骤1:打开数据表后,再打开浏览窗口。 步骤2:单击待逻辑删除记录左侧的空白小矩形域,该矩形域变黑,表明该记录已作了逻辑删除。重复此步操作,将所有要删除的记录都加上删除标记。,【方法二】 步骤1:打开数据表后,再打开浏览窗口,将指针定位到要删除的记录上。 步骤2:选择“表”菜单中的“删除记录”选项,显示“删除”对话框。 步骤3:在“删除”对话框中有作用范围、For、While条件。若选择“作用范围”为NEXT 1,不选择For、While,单击“确定”按钮后将当前记录作逻辑删除。,3.2.6 记录的删除与恢复 (续3),3.2.6 记录的删除与恢复 (续4),2. 恢复逻辑删除的记录 (1)命令方式恢复逻辑删除标记 【语法格式】RECALL 范围 FOR WHILE 【功能】对当前数据表将指定范围内满足条件的记录去掉逻辑删除标记。若省略范围和条件则只恢复当前记录。 USE 学生信息 DELETE FOR 四级通过否=.t. LIST &四级通过否为假的记录前面显示* RECALL ALL LIST,3.2.6 记录的删除与恢复 (续5),(2) 在浏览窗口恢复逻辑删除的记录 【方法一】 步骤1:打开数据表后再打开浏览窗口。 步骤2:单击已作了逻辑删除标记记录左边的黑色矩形区,矩形区变白色,表示逻辑删除标记已取消。,【方法二】 步骤1:打开数据表后,再打开浏览窗口。 步骤2:将要取消逻辑删除标记的记录置为当前记录。 步骤3:选择“表”菜单中的“恢复记录”选项,显示“恢复记录”对话框。如果选择“作用范围”为NEXT 1,不选择For、While,只取消当前记录的逻辑删除标记。,3.2.6 记录的删除与恢复 (续6),3.2.6 记录的删除与恢复 (续7),3物理删除记录 (1)命令方式物理删除记录 【语法格式】 PACK 【功能】 物理删除所有带逻辑删除标记的记录,并重新调整记录号。 例. 删除STUD.DBF中带逻辑删除标记的记录 USE STUD PACK,(2) 在浏览窗口物理删除记录 打开浏览器窗口后,选择“表”菜单中的“彻底删除”选项显示“移去已删除记录”信息,单击“是”按钮,将数据表所有已作了逻辑删除的记录彻底删除。 4. 表的快速删空命令 【语法格式】 ZAP 【功能】 物理删除数据表中的所有记录,仅保留数据表结构。,3.2.6 记录的删除与恢复 (续8),返回,3.2.7 记录指针的移动,3.2.7 记录指针的移动 (续1),数据表建立后,记录按照它们输入到表中的顺序,拥有一个记录号。输入时第一个输入的记录,其记录号为1,称为表的首记录,最后一条记录称为表的末记录。数据表建立后,系统为数据表建立一个指针,称为记录指针。记录指针所指向的记录称为当前记录。用函数RECNO( )可以获得当前记录的记录号。打开非空的数据表时,记录指针指向数据表的第一条记录。打开空数据表时,指针指向数据表文件开始位置,且BOF()、EOF()都为真。 在VFP中,很多数据操作命令都会改变记录指针的位置,此外,VFP还提供了两种专门用于定位指针的命令,即绝对定位和相对定位命令。,1.记录指针定位命令 【语法格式】GO | GOTO RECORD| TOP| BOTTOM 【功能】 把当前数据表文件的记录指针定位到一个指定的记录。 【说明】 本命令与指针当前位置无关,所以称为绝对定位。 RECORD:表示将记录指针定位到记录号等于值的记录上 TOP: 表示将记录指针定位到首记录 BOTTOM: 表示记录指针定位到末记录,3.2.7 记录指针的移动 (续2),2.记录指针移位命令 【语法格式】SKIP 【功能】 以当前记录为基准,依据数值表达式的值,将记录指针向前或向后移动。 【说明】 :相对当前记录的移动个数,值为正时表示向表尾移动;为负时表示向上移动;缺省时,表示记录指针向下移动一个记录。 当前记录指向第一条记录时,执行命令“SKIP -1”后,指针指向文件开始位置,函数BOF()的返回值为真,表明已到文件头;当记录指针指向最后一个记录时执行命令“SKIP”后,函数EOF()的值为真,表明指针指向文件尾。,3.2.7 记录指针的移动 (续3),返回,3.2.8 表结构和数据记录的复制命令,1. 表结构的复制命令 【语法格式】 COPY STRUCTURE TO FIELDS WITH CDX | WITH PRODUCTION 【功能】 仅复制当前数据表的结构,不复制其中的记录。,【说明】FIELDS:新表的结构只包含中指明的字段,中字段的顺序决定它们在新表中的排列次序。 WITH CDX与WITH PRODUCTION选项:两个选项的作用相同,当原表文件中含有结构索引文件时,选择二者之一可为新表建立一个结构索引文件,该文件与原表的结构索引文件具有相同的标识和索引表达式。,3.2.8 表结构和数据记录的复制命令(续1),例. 将“学生信息”表结构的学号、姓名、出生日期、入学成绩和备注字段复制生成新表XS.DBF的结构。 在命令窗口中执行如下命令: USE 学生信息 COPY STRUCTURE TO XS FIELDS 学号,姓名,出生日期,入学成绩,简历,3.2.8 表结构和数据记录的复制命令 (续2),2. 将表复制得到新表或其他类型文件的命令 【语法格式】COPY TO FOR WHILE FIELDS |FIELDS LIKE |FIELDS EXCEPT TYPESDF|XLS|DELIMITEDWITH |WITHBLANK|WITH TAB 【功能】将当前表的全部或选定的部分记录或字段复制成一个新表或其它类型的文件。,3.2.8 表结构和数据记录的复制命令 (续3),【说明】 : 指出在列字段名清单时可使用通配符(*号和?号),FIELDS LIKE 表示选取所指出的字段,FIELDS EXCEPT 表示选取除之外的字段。,3.2.8 表结构和数据记录的复制命令 (续4),该命令用于从已有的表文件复制得到新的表文件或其它类型的文件。使用时,要求被复制的原表必须打开。对于含有备往型和通用型字段的表,系统在复制扩展名为.DBF的文件的同时自动复制扩展名为.FPT的备注文件。 要对复制完成后得到的新表进行操作,必须打开它,且被选中作为当前表。,3.2.8 表结构和数据记录的复制命令 (续5),3.2.8 表结构和数据记录的复制命令 (续6),新文件的类型除了表之外,还可以是系统数据格式、定界格式等文本文件,或Microsoft Excel文件。文本文件是ASCII字符文件,可以用字符编辑程序进行编辑。文本文件与表不同,它没有结构只有数据,系统默认的扩展名为TXT。Excel文件只能在Excel中打开。在命令格式中,若不含TYPE短语,默认新文件的类型是表;若要得到Excel文件,TYPE短语中必须取XLS;若要得到文本文件,则TYPE短语中必须取SDF或者DELIMITED。对于文本文件又分以下几种具体情况。,3.2.8 表结构和数据记录的复制命令 (续7), SDF表示数据无定界符,数据间也无分隔符。文件中数据的排列占用其在原来表中所定义字段的宽度; 不带WITH的DELIMITED表示用逗号作为分隔符,定界符为双引号; DELIMITED WITH 表示用指定的字符作为定界符,分隔符为逗号; DELIMITED WITH BLANK表示用空格作为分隔符,没有定界符; DELIMITED WITH TAB表示用制表符作为分隔符,定界符为双引号。,3.2.8 表结构和数据记录的复制命令 (续8),这个命令中的定界符是指字符型字段的定界符,其它类型的字段没有定界符;而分隔符是用来分隔各个字段的字符。 例.利用“学生信息”表复制文件TT.TXT,要求以#号为定界符, 包含原表后四个记录前三个字段的数据。 USE 学生信息 & 打开学生信息.DBF COPY TO TT DELIMITED WITH # FOR RECNO( ) 4 FIELDS 学号,姓名,性别,返回,3.2.9 使用多个表的操作,1.工作区的概念 表打开后才能对它进行操作,打开一个表就是把它从磁盘上调入内存的一个区域,这个区域称为工作区。 多区操作的主要特点: 在同一时刻,一个工作区只能打开一个表; 在不同工作区上打开的表,有各自的记录指针,用以指示当前记录,它们彼此独立。,VFP提供了32767个工作区,编号从132767。前10个工作区的默认别名是AJ,1132767号工作区的默认别名是W11W32767。 用户正在进行操作的表称为当前表。当前表所在的工作区称为当前工作区,又称主工作区。系统启动后,自动选择1号工作区作为当前工作区。,3.2.9 使用多个表的操作 (续1),2. 多工作区中表文件的打开与关闭 【语法格式】 USE IN AGAIN ALIAS INDEX | ?ORDER | | TAG OF ASCENDING | DESCENDING EXCLUSIVESHAREDNOUPDATE,3.2.9 使用多个表的操作 (续2),【功能】 打开或关闭一个表文件。 【说明】 IN :指定打开表文件的工作区,缺省时在当前工作区打开表文件。命令“USE IN ”能在指定的工作区打开表,但不改变当前工作区。,3.2.9 使用多个表的操作 (续3),AGAIN :表示打开已在其他工作区中打开的表文件。新工作区打开的表文件具有原工作区中表文件的属性。若此选择项缺省,又试图打开已在其它工作区中打开表文件,系统会显示出错信息,“文件正在使用”。 ALIAS :表示可为表指定用户别名,用户别名的命名方法同文件名。缺省此选项时,系统自动将表的主名指定为表的别名。例如,命令“USE 学生信息 ALIAS STUDENT”,指定 STUDENT为学生信息.DBF的用户别名。若使用命令“USE 学生信息”,而缺省ALIAS选项,系统默认学生信息.DBF的别名也是“学生信息”。,3.2.9 使用多个表的操作 (续4),EXCLUSIVE:表示表用独占方式打开,不允许其他用户使用;选择项SHARED表示在网络环境下表为共享使用打开,允许其他用户使用。 NOUPDATE :表示不允许修改打开的表文件结构。 若USE命令不带任何参数,表示关闭当前工作区中已打开的表文件。,3.2.9 使用多个表的操作 (续5),3. 工作区的选择 【语法格式】SELECT | 【功能】选定某个工作区作为当前工作区。 【说明】 该命令对任何工作区中的表及记录指针均不发生影响,仅实现工作区之间的转换。别名既可以是系统规定的工作区别名,也可以是用户在该区打开表时指定的别名,还可用已打开表的主名作为别名。,3.2.9 使用多个表的操作 (续6),命令SELECT 0表示选定当前尚未使用的编号最小的工作区。例如,若第1、2号工作区中已经有打开的表,则SELECT 0所选择的是第3号工作区。注意,只有已打开的表方可在SELECT命令中使用其别名。 函数SELECT()可以返回当前工作区的区号。,3.2.9 使用多个表的操作 (续7),例. 假设已建立了第一章中所给的学生信息、课程信息和成绩信息三个表文件,要求在第1工作区打开学生表.DBF,在第3工作区打开成绩表.DBF,在第2工作区打开课程表.DBF,并显示它们的内容。 在命令窗口执行如下命令: CLEAR ALL USE 学生信息 ALIAS STUDENT LIST SELECT 3 USE 成绩信息 DISP ALL SELECT 0 & 系统会自动选择2号工作区 USE 课程信息 LIST SELECT STUDENT & 选择1号工作区为当前工作区,3.2.9 使用多个表的操作 (续8),4.多工作区中记录指针的移动 (1) 完整的GO | GOTO命令 【语法格式】 GO | GOTO RECORD | TOP | BOTTOM IN | IN 【功能】在多工作区中对记录指针进行绝对移动。 【说明】IN | IN :表示在指定的工作区移动记录指针。缺省此项时表示在当前工作区移动记录指针。,3.2.9 使用多个表的操作 (续9),(2) 完整的SKIP命令 【语法格式】 SKIP IN | IN 【功能】 在多工作区中对记录指针进行相对移动。,3.2.9 使用多个表的操作 (续10),5. 在当前工作区对其他工作区中数据的访问 用户除可对当前工作区中的表进行各种操作外,也可对其他工作区中已打开表的当前记录的数据进行访问。 【语法格式】 | - 【功能】通过用来指定欲访问的工作区,按取指定工作区打开的表中当前记录的字段值。 【说明】引用非当前工作区中表的数据,在非当前工作区的字段名前必须加上别名。,3.2.9 使用多个表的操作 (续11),例. 利用学生信息、课程信息和成绩信息显示尚杰同学的成绩信息。 CLOSE DATABASE USE 学生信息 SELECT 0 USE 课程信息 SELE 0 USE 成绩信息 SELE 1 LOCA FOR 姓名=“尚杰“ SELE 3 LOCA FOR 学号=a.学号 SELE 2 LOCA FOR 课程号=c.课程号 DISP a.姓名,c.学号,c.成绩,课程名,3.2.9 使用多个表的操作 (续12 ),返回,3.3 项目管理器,项目是数据、程序、文档和其他VFP对象的集合。“项目管理器”将一个应用程序的所有文件集合成一个有机的整体,形成一个扩展名为.pjx的项目文件。项目管理器为系统开发人员提供了极为便利的工作平台,它以可视化的方法简便、直观地组织和处理应用程序项目中所包含的各类文件。通过项目管理器不仅可以启动相应的设计器、向导创建数据表、数据库、查询、视图、报表、表单等各类文件,并可以修改、运行、添加和移去这些文件。另外,利用项目管理器还可以将与一个项目相关的所有文件编译成一个扩展名为.app的应用程序文件或扩展名为.exe的可执行文件。,3.3 项目管理器,3.3.1 启动项目管理器 3.3.2 项目管理器的操作界面 3.3.3 使用项目管理器,3.3.1 启动项目管理器,启动项目管理器主要有三种方法: 在命令窗口键入命令:CREATE PROJECT ,或键入:MODIFY PROJECT ,打开项目管理器窗口; 选择“文件”菜单下的“新建”命令,在“新建”对话框中选择“项目”文件类型并单击“新建文件”按钮,打开项目管理器窗口; 选择“文件”菜单下的“打开”命令,打开一个已经存在的项目文件。,返回,3.3.1 启动项目管理器(续), 选择“文件”菜单下的“打开”命令,打开一个已经存在的项目文件。,返回,项目管理器窗口,3.3.2 项目管理器的操作界面,“项目管理器”窗口采用树型目录结构显示和管理本项目中的所有数据和对象。项目管理器包含六个选项卡和右侧的一组功能按钮。 各类文件选项卡 项目管理器的选项卡用来分类显示各种文件,包括“全部”、“数据”、“文档”、“类”、“代码”和“其他”等六个选项卡:,(1) “数据”选项卡:包含一个项目中的所有数据,如数据库、自由表、查询和视图; (2) “文档”选项卡:包含处理数据时所涉及的三类文件,如表单、报表和标签; (3) “类”选项卡:显示和管理类库文件; (4) “代码”选项卡:显示和管理用户的所有程序代码; (5)“其他”选项卡:包括菜单文件、文本文件和其他一些文件,如图标文件、位图文件等; (6) “全部”选项卡:显示与管理上述所有类型的文件。,3.3.2 项目管理器的操作界面(续1),2.命令按钮 项目管理器的右侧设置了六个功能按钮,分别用来对项目中的文件进行“创建”、“添加”、“修改”、“预览”、“移去”等操作。上述按钮是动态的,选择不同的对象时将会出现不同的选项。常用命令按钮的说明如下:, 创建文件:创建一个新文件或对象 添加文件:将已有的文件添加到项目中 修改文件:修改本项目中任何一个指定的文件 移去文件:从本项目中移去任何一个指定的文件 浏览文件:在“浏览”窗口打开一个选定的表 预览文件:在打印预览方式下显示选定的报表或标签 运行文件:运行本项目中指定的查询、表单或程序,3.3.2 项目管理器的操作界面(续2),返回,3.3.3 使用项目管理器, 创建和修改文件 利用项目管理器在项目中创建或修改文件的方法是: (1) 选定需要创建或修改的文件类型; (2) 单击“新建”或“修改”按钮,即可激活VFP中相应的设计器或向导。例如,要修改一个表,只需选定该表的名称,通过鼠标单击“修改”按钮,即可进入“表设计器”显示该表结构。,注意:利用“项目”菜单的“新建文件”或“项目管理器”上的“新建”按钮创建的文件会自动包含在项目中,而从“文件”菜单中创建的文件则不会自动包含在项目中。,3.3.3 使用项目管理器 (续1),2.添加或移去文件 在 VFP中既可以将已经存在的文件添加到项目管理器中,也可以从项目管理器中移去与本项目无关的文件。 在项目中添加文件,可以执行以下操作: (1)选择需要添加文件的类型; (2)单击“添加”按钮; (3)在“打开”对话框中选择要添加的文件名,并单“确定”按钮。此时,在项目管理器中可看到新添加的文件。,3.3.3 使用项目管理器 (续2),从项目中移去文件或对象,可以执行以下操作: (1)从项目中选定要移去的文件或对象; (2) 单击“移去”按钮; (3)在下面的对话框中,单击“移动”按钮,则从项目中移去选定的文件或对象,这时被移去的文件仍在原来的目录中;如果单击“删除”按钮,则从硬盘上物理删除该文件或对象。,3.3.3 使用项目管理器 (续3),返回目录,返回,3.4 表的排序与索引,3.4 表的排序与索引,3.4.1 基本概念 3.4.2 数据表的排序 3.4.3 数据表的索引,3.4.1 基本概念,创建数据表的结构后输入记录时,按输入的先后顺序排列记录。这种顺序称为物理顺序。但在查看或操作其中的记录时,物理顺序经常不能满足需要,往往必须根据某种条件重新排列记录的顺序。VFP为此提供了物理排序与逻辑排序两种方法。物理排序保持原表不变,另外生成一个各记录已按要求排好序的新数据表文件,新表可脱离原表单独使用。逻辑排序也保持原表不变,但只生成一个简单的索引列表,在索引列表中仅记载各记录对应于条件的值和记录在原表中的记录号,索引列表必须与原表一起使用,才能按索引列表中的顺序对原表操作,即原表的记录从逻辑上重新排列了顺序。 在VFP中物理排序称为排序,逻辑排序称为索引。排序后打开新表,记录指针按物理顺序移动。建立并打开索引后,表的记录指针按索引列表中的逻辑顺序移动。,3.4.1 基本概念 (续1),设有一个学生基本信息表,要求分别用排序和索引的方法,按成绩由低到高重新排列记录的顺序。,排列的结果如下张幻灯片所示,图中,(b)为排序的结果,(d)是索引的结果。,图3-23 排序与索引的区别示意图,(a)排序前,(b)排序后,(c)索引前,(d)索引后,3.4.1 基本概念 (续2),3.4.1 基本概念 (续3),排序与索引的区别: (1) 排序后,新表中记录号发生了改变,而索引后的记录号没有改变。 (2) 虽然排序和索引都以增加一个文件为代价,但是索引文件只包含两个字段(索引关键字值与记录在原表中的记录号),比排序后的表要小许多。在后续章节中还可看到,索引起作用时,修改表中的记录数据后,索引文件会自动更新,排序文件无此功能。,返回,3.4.2 数据表的排序,【语法格式】SORT TO FOR WHILE ON /A|/D /C ,/A|/D /C FIELDS ASCENDING|DESCENDING 【功能】对指定范围内满足条件的记录按ON后给定字段值的大小重新排列,生成一个由指定名称的新数据表文件,其扩展名默认为.DBF,原数据表保持不变。,【说明】 :指定排序的记录范围。 FOR WHILE :指定排序的条件,若、FOR 和WHILE 短语都缺省时,将对所有记录排序。 FIELDS :规定新表的结构,缺省该短语时,默认新表中包含原表中所有字段。,3.4.2 数据表的排序 (续1),3.4.2 数据表的排序 (续2),ON /A|/D /C ,/A|/D /C: ,是排序的关键字段。本命令可按多个字段排序,系统首先按的值的大小进行排序,如果有可选项,则在字段名1的值相同的情况下,再按字段名2的值的大小对记录进行排序,依次类推。指

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论