的定位与查询

上传人:无*** 文档编号:244204437 上传时间:2024-10-03 格式:PPT 页数:18 大小:75.50KB
返回 下载 相关 举报
的定位与查询_第1页
第1页 / 共18页
的定位与查询_第2页
第2页 / 共18页
的定位与查询_第3页
第3页 / 共18页
点击查看更多>>
资源描述
*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,7,章 记录的定位与查询,7.1,记录的定位概念,无条件记录定位,:,goto,skip,有条件记录定位,:,直接(顺序)定位和索引(快速)定位,定位命令仅仅是对记录指针进行定位的一种操作,它并不能显示定位的记录内容。如要显示,则需要使用并且只能使用,Display,命令。,7.2,顺序,(,直接,),定位,所谓顺序定位是指在表中从第一条记录开始,按照顺序搜索表,把记录指针定位在满足条件的,第一条,记录上。,顺序定位适合于,复杂条件,或,小型表,的定位。,命令格式,:,1),找首条:,Locate For ,范围,2),找后续(继续查询):,Continue,&,按照,Locate,指定的条件继续定位下一条记录,参数说明:,Locate,是直接在表文件(不需要对表进行排序或索引)中,按照,范围,、,For,从表文件的头至尾顺序来定位符合条件的,第一条,记录。如果存在多条满足,For,的记录,可以使用,Continue,命令继续定位下一条记录。,Continue,命令的作用是从当前相匹配记录的,下一条,记录位置开始,继续执行由,Locate,命令指定的范围、满足条件的下一条记录的定位操作。,Continue,只能和,Locate,配套使用,,不能单独使用,。, 如果,Locate,命令定位成功,即在当前表中找到了一条与条件相匹配的记录,就将记录指针指向该条记录。这时,,Found(),函数返回逻辑真,.T.,,,Eof,(),函数返回逻辑假,.F.,。,Recno,(),函数返回相匹配记录的记录号。,如果,Locate,命令定位不成功,即在当前表中没有找到任何一条与条件相匹配的记录,则,Found(),函数返回逻辑假,.F.,,,Eof,(),函数返回逻辑真,.T,,,Recno,(),函数返回,Recc()+1,的值。,Locate,命令支持模糊查询,也就是说,只要知道查询数据的部分内容时(主要指,字符型数据,)就可以进行查询,实现模糊查询要用到包含函数,$,。,例,:,在学生挡案表,.Dbf,表中,定位显示班级为“,99212”,并,且籍贯为“浙江”的记录。,Use,学生挡案表,Locate For,班级,=”99212”.And.,籍贯,=”,浙江”,Display &,显示第一条满足条件的记录,? Found() &,返回逻辑真,.T.,?,Eof,() &,返回逻辑假,.F,Continue,Display &,无记录显示,? Found() &,返回逻辑假,.F.,?,Eof,() &,返回逻辑真,.T,Use,例,:,在学生挡案表,.Dbf,表中,定位计算机系,99,级或,98,级并且年龄小于,20,的学生。注:学号的第一、二位表示年级,第三位为,“,2,”,的表示计算机系。,Use,学生挡案表,Locate For (Subs(,学号,1,3)=,”,992,”,.Or. Subs(,学号,1,3)=,”,982,”,).And.,年龄,20,?Found() &,如,Found(),函数为,.T.,?,Eof,() &,Eof,(),的结果是什么?,Display &,是否有记录显示?,Continue,&,继续定位下一个记录,如果不用,Continue,而用,Locate For (Subs(,学号,1,3)=,”,992,”,.Or.Subs(,学号,1,3)=,”,982,”,).And.,年龄,23,,其结果会如何,?,?Found() & Found(),函数为,.F,说明什么?,?,Eof,() &,Eof,(),的结果是什么?,例,:,在学生挡案表,.Dbf,表中,查找姓,“,王,”,的学生。,Use,学生挡案表,Locate For Subs(,姓名,1,2)=,”,王,”,&,如果用,Locate For ,王,$,姓名可能会产生什么问题,?,Display &,显示查询结果,Continue &,继续定位查询下一个记录,?Found() & Found,(),函数为,.T.,Display &,显示第二条,”,王,”,姓记录,Continue,&,“,End Of Locate Scope,”,显示定位结束,?,Eof,() &,Eof,(),函数为,.T.,7.3,索引定位,索引定位是一种快速定位记录的方法,利用索引定位将明显提高查询效率,适用于大型表的查询。,它要求数据表文件的记录是有序的,,所以,事先必须对数据表文件进行索引,,而且要求查询内容所在的字段或表达式必须是索引文件的索引关键字段或表达式。,(,查什么按什么索引,),索引定位有两种命令格式:,格式一:,Seek ,格式二:,Find ,1.FIND,命令,(1),命令方式,命令格式,:,FIND,/,功能,:,在打开的以查询内容所在字段为索引关键字的索引文件中,快速查找关键字段,等于,或,的,第一个,记录。,说明:, 执行命令前,必须首先,建立以查询内容所在字段或表达式为索引关键字的索引文件,,若已存在则打开该索引文件,且将其设置为主索引。,FIND,命令通常适用于,字符数据类型及数值型,,字符串中的字符,可以不用定界符,。, 可以用内存变量代替字符串作为查找的数据,但,必须用宏代换函数(,&,),。, 如果查找成功,则把记录指针指向逻辑顺序中第一条符合条件的记录,且,FOUND,(),函数的值为,.T.,,,否则,记录指针指向文件未尾,,FOUND,(),函数的值为,.F.,。,例题:,例题,1:,在学生档案中,用,FIND,命令查找学号为,“,9832101,”,的学生。,USE,学生档案表,index on,学号,to,xh,FIND 9832101,DISPLAY,例题,2.,在学生档案表,.DBF,数据表文件中,以变量的形式,用,FIND,命令查找姓名为,“,刘丽红,”,的学生,(,以姓名为索引关键字的索引文件,XM.IDX,已建立,),。,2.SEEK,命令,FIND,命令不能对日期型和逻辑型的数据进行查找,在某些情况下使用起来不方便,为此,系统中又提供了功能更强的,SEEK,命令。,格式:,SEEK ,功能:在打开的以查询内容所在字段为索引关键字的索引文件中,快速查找关键字段,等于,值的第一个记录。,其中:,(,1,),SEEK,命令适用于一切数据类型,(,C,、,N,、,D,、,L,),,,表达式可以是常量、变量和函数所组成,但必须与索引表达式一致。,表达式为,C,、,D,、,L,(,.T.,,,.F.,),常量时,必须使用相应的定界符,,如:,“,”,、, ,。,(,2,)表达式为变量时,要直接使用,,不,需要用宏代换函数,。,(3),如果查找成功,则把记录指针指向逻辑顺序中第一条符合条件的记录,且,FOUND,(),函数的值为,.T.,,,否则,记录指针指向文件未尾,,FOUND,(),函数的值为,.F.,。,例题,3,:在学生档案,XSDA.DBF,数据表文件中,用,SEEK,命令查找学号为“,9921201”,的学生,(,以学号为索引关键字的索引文件,XH.IDX,已建立,),。,USE,xsda,INDEX,xh,&,打开以学号为索引关键字的索引文件,XH.IDX,SEEK “9921201” &,必须使用定界符,DISPLAY,例题,4.,在学生档案表,.DBF,数据表文件中,以变量的形式,用,SEEK,命令查找姓名为,“,刘丽红,”,的学生,(,以姓名为索引关键字的索引文件,XM.IDX,已建立,),。,USE,学生档案表,INDEX,xm,STORE,“,刘丽红,”,TO a1,SEEK a1 &,不需使用宏代换函数,DISPLAY,例题,5.,在学生档案,XSDA.DBF,数据表文件中,以常量的方式查找班级为,“,98321,”,、籍贯为,“,浙江,”,的学生。,小结,:,LOCATE,和,SEEK,、,FIND,都是用于在数据表文件中查询,定位记录指针,即把记录指针定位在满足条件的记录,上。特别强调:仅仅是定位记录指针。,如要显示定位的,记录内容,则需要用,DISPLAY,命令。,(2) LOCATE,和,SEEK,、,FIND,的不同之处:,LOCATE,是顺序查询定位,可以直接利用原数据表进行,定位操作,而,SEEK,、,FIND,命令是索引查询定位,必须,首先对原数据表按定位数据所在字段或表达式进行索,引,建立相应的索引文件或打开相应的索引文件、索引,标识的前提下才能进行定位操作。,LOCATE,和,CONTINUE,相配合可以连续查询定位多条记,录,而,SEEK,、,FIND,只能查询定位单条记录。,LOCATE,是用条件表达式的形式来定位,而,SEEK,、,FIND,是用常量、变量或变量组成的表达式的形式来定位。,(3) SEEK,和,FIND,的不同之处:,SEEK,命令适用于一切数据类型,(C,、,N,、,D,、,L),,,但若为,C,、,D,、,L,常量时,必须使用相应的定界符,如:,“,”,、, ,、,。表达式为变量时,要直接使用,不需要用宏代换函数。,FIND,命令通常适用于字符数据类型,不可用于日期型和逻辑型数据类型。表达式为字符常量时,不须使用相应的定界符。表达式为变量时,不可直接使用,必须使用宏代换函数。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!