您好,欢迎访问三七文档
数据库基础及应用-VisualFoxPro操作基础及应用任课教师:蒋小平数据库记录定位城口县职业教育中心数据库基础及应用-VisualFoxPro操作基础及应用复习用命令方式打开表(USE表名.dbf)用命令方式关闭表UseClosedatabase[all]Closeall修改表的结构ModifyStructure浏览表的内容BrowseEdit上节课,我们学习了如下内容:数据库基础及应用-VisualFoxPro操作基础及应用问题:在浏览表时,如果数据记录较多,利用键盘、滚动条将记录指针定位到要查看的记录会比较麻烦。这时我们该怎么完成对需要记录的定位操作呢?数据库基础及应用-VisualFoxPro操作基础及应用本节课内容导航:记录定位及测试记录定位记录号测试浏览窗口实现定位命令方式实现定位GoSkipRecno()Reccount()Bof()Eof()数据库基础及应用-VisualFoxPro操作基础及应用当打开数据表时,记录指针默认指向第1条记录,指针指向的记录为当前记录,对数据进行操作时,首先需要定位记录,然后才能实现相关操作。VisualFoxPro提供了两种定位方式:浏览窗口中定位记录命令方式定位记录一、记录的定位在任意时刻指针只能指向唯一的一条记录,即当前记录。特别提醒:数据库基础及应用-VisualFoxPro操作基础及应用打开xsqkb.dbf的浏览窗口,从记录选择器列中可以观察到当前的记录,直接单击某条记录即可实现记录定位1、在浏览窗口串定位记录首记录:数据表中的第一条记录,简记Top尾记录:数据表中的最后一条记录,简记Bottom文件头:首记录之前,测试记录号为:首记录的记录号文件尾:尾记录之后,测试记录号为:总记录数+1数据库基础及应用-VisualFoxPro操作基础及应用(1)绝对定位Go命令格式:格式1:GO数值表达式格式2:GOTOPGOBOTTOM功能:将记录指针定位到指定的位置说明:数值表达式的值为所要指向的记录号,其取值为正整数。Top:表示定位到首记录Buttom:表示定位到尾记录2、使用命令定位记录加油站数据库基础及应用-VisualFoxPro操作基础及应用例1:绝对定位记录Usexsqkb.dbfGOBottomGo3GotopGo5&&打开学生情况表&&定位到尾记录&&定位到记录号为3的记录&&定位到首记录&&定位到记录号为5的记录思考:上面操作的每一步骤的记录号是多少呢?记录号为:1记录号为:6记录号为:3记录号为:1记录号为:5Xsqkb.dbf表中共有6条记录数据库基础及应用-VisualFoxPro操作基础及应用命令格式:SKIP[数值表达式]功能:将记录指针从当前位置往上或往下移动。说明:以当前记录为基点,将记录指针向前或向后移动指定条记录。若数值表达式为正,则向记录号大的方向移动;若为负,则向记录号小的方向移动;若为1,可简写为Skip。Skip1Skip加油站注意:如果记录指针指向表的首记录时,并执行SKIP-1命令,指针指向文件头如果记录指针指向表尾记录时,并且执行Skip1(或Skip)命令,指针指向文件尾(2)相对定位数据库基础及应用-VisualFoxPro操作基础及应用例1:相对定位记录Usexsqkb.dbfSkip3SkipSkip-1Skip-2&&打开学生情况表&&从当前记录向下移动3条&&从当前记录向下移动1条&&从当前记录向上移动1条&&从当前记录向上移动2条思考:上面操作的每一步骤的记录号是多少呢?当前记录号为:1当前记录号为:4当前记录号为:5当前记录号为:4当前记录号为:2数据库基础及应用-VisualFoxPro操作基础及应用例2:执行下列操作,并写出相应的记录号Usexsqkb.dbfGO3SkipGo2Skip3GoTopSkip-1Gobottomskip打开表,并指向首记录1342511(指向文件头)67(指向文件尾)Xsqkb.dbf表中共有6条记录数据库基础及应用-VisualFoxPro操作基础及应用二、记录定位相关测试函数RECNO()功能:测试当前记录的记录号Reccount()功能:测试当前数据表的记录总数Bof()功能:测试记录指针是否到了文件头。若指针指向文件头时,Bof()的值为.T,否则其它位置为.F.Eof()功能:测试记录指针是否到了文件尾。若指针指向文件头时,Eof()的值为.T.,否则其它位置为.F.加油站数据库基础及应用-VisualFoxPro操作基础及应用Usexsqkb.dbf?reccount(),Recno(),Bof(),EOf()Go2?reccount(),Recno(),Bof(),Eof()Skip3?reccount(),Recno(),Bof(),Eof()GoBottom?reccount(),Recno(),Bof(),Eof()Skip?reccount(),Recno(),Bof(),Eof()GoTop?reccount(),Recno(),Bof(),Eof()Skip-1?reccount(),Recno(),Bof(),Eof()61.F..F.62.F..F.65.F..F.66.F..F.67.F..T.66.F..F.67.T..F.例3:xsqkb.dbf数据表中,共有6条记录,请执行下列操作后,写出相应的结果数据库基础及应用-VisualFoxPro操作基础及应用Usexscjb.dbf?Reccount()?Recno()?Eof(),Bof()例4:已知xscjb.dbf表共有0条记录,执行并写出结果01.T..T.1、当数据表为空时,返回的总记录数为:0。2、当数据表为空时,返回的当前记录号为:13、当数据表为空时,Eof()、Bof()测试均为:.T.数据库基础及应用-VisualFoxPro操作基础及应用记录范围与记录指针的移动关系如下图所示Skip-1GoTopGoiGoBottomSkipBof()=.T.Bof()=.F.Eof()=.F.Eof()=.T.记录范围Eof()=.F.Bof()=.F.文件头首记录(Top)...第i条记录...尾记录(Bottom)文件末小结数据库基础及应用-VisualFoxPro操作基础及应用作业完成课本P48-49页的所有内容
本文标题:记录指针的定位
链接地址:https://www.777doc.com/doc-5046009 .html