数据库和表创建和使用第3节.ppt
记录的定位(4)指针的相对定位是指把指针从当前位置开始,相对于当前记录向前或向后移动若干个记录位置。指针的相对定位与定位前指针的位置相关。条件定位是指按照一定的条件自动地在整个表或表的某个指定范围中查找符合该条件的记录,如果找到符合条件的记录,则把指针定位到该记录上,否则,指针将定位到整个表或表的指定范围的末尾。????3.记录定位的实现(1)通过界面操作方式定位在“表”菜单中的“转到记录”子菜单项中可以实现不同方式的定位:??“记录号(R)…”:实现绝对定位。??“定位(L)…”:实现条件定位。需要在“定位记录”对话框中输入查找范围、定位条件。按“定位”按钮实现定位。记录的定位(5)在“作用范围”下拉列表中选择范围。其中有四个选项:“All”:表中的全部记录;“Next”:从当前记录开始的n个记录,个数在其右边的文本框中输入;“Record”:指定的记录,记录号在其右边的文本框中输入;“Rest”:当前记录后的所有记录。在“For”文本框中输入条件表达式。例如,在“作用范围”下拉列表中选择“All”,在“For”文本框中输入条件表达式:XM=高山,单击“定位”按钮,将在所有记录中查找姓名为“高山”的记录。如果找到,则把指针定位在第一个符合条件的记录上,否则,指针定位在记录结束标志上。(2)使用命令定位?记录指针的绝对定位命令GO或GOTO,见下表:记录的定位(6)?记录指针的相对定位命令SKIP语法:SKIP[nRecords]参数:[nRecords]:指定记录指针需要移动的记录数。如果nRecords0,记录指针将向文件尾移动nRecords个记录;如果nRecords0,记录指针将向文件头移动nRecords个记录;如果NRecords省略,则命令等价于SKIP1。0102?如果从第一个记录向上移动一个记录,指针将指向记录起始标志,BOF()函数将返回.T.,RECNO()函数返回值为1。如果再执行SKIP–1命令,系统将显示出错信息:已到文件头。此时,记录指针仍然指向记录起始标志。?如果从最后一个记录向下移动一个记录,指针将指向记录结束标志,EOF()函数将返回.T.,RECNO()函数返回值为记录总数+1,如果再执行SKIP命令,系统将显示出错信息:已到文件尾。此时,记录指针仍然指向记录结束标志。?如果表有一个主控索引或索引文件,SKIP命令将使记录指针移动到索引顺序决定的记录上。说明:记录的定位(7)记录的定位(8)4.例题分析(1)在当前已打开的XS表中有10条记录,执行以下命令:GOTOPSKIP3?RECNO()则输出结果是C。A.1B.3C.4D.2(2)在JS表中有15条记录,现执行以下命令:USEJSLIST?RECNO()则输出结果是B。A.1B.16C.15D.出错“转到记录”子菜单“定位记录”对话框逻辑删除如果要删除个别记录,只要在表的浏览窗口中单击每个要删除记录左边的小方框,小方框变为黑色,表明该记录已做上删除标记。如XS表中,“高山”和“柳宝”两名学生的记录已打上了删除标记。从表中删除记录应非常谨慎,以免造成不可挽回的数据丢失。为此VFP系统将删除记录分为两步并由不同的命令来执行:第一步只作删除标记,也称为逻辑删除;第二步才将作了删除标记的记录彻底从表中删除,也称为物理删除。逻辑删除可以用恢复删除命令恢复,而物理删除不能恢复。界面方式如果要在某一范围内删除一组符合指定条件的记录,可从“表”菜单中选择“删除记录”,在出现的“删除”对话框中,选择范围,建立删除条件的表达式,点击“删除”按钮即可删除XS表中所有“信息管理系”的学生。记录的删除与恢复(1)索引的类型(1)从VFP索引的内容来划分,索引有4种类型:主索引、候选索引、唯一索引和普通索引。这些索引控制着在表字段和记录中是否允许或禁止重复值。
主索引(PrimaryIndexes)
在数据库表中,每张表只能创建一个主索引。组成主索引关键字的字段或表达式,在表的所有记录中不能有重复的值。例如,学生表中的学号可以创建主索引,因