2.9 索引查找1 m9 l2 ?) }( A; m/ r3 d k
建立索引的目的是进行快速查找,vfp使用下面两条命令进行快速查找:" j2 m! G6 ?8 l" z1 j1 X
一。find命令:
( Q/ n* V/ c5 r% Y3 X 格式:fine 字符串
" _$ h2 Y# K& j3 s: q$ u 说明:(1).该命令用于已建立索引且索引已打开的情况,执行该命令将使用索引文件查找与指定字符串相匹配的第一条记录,并把指针指向该记录。1 |5 ]5 ]! H6 J8 \2 `6 ]
(2).find仅是记录定位,找到后把记录指针指向该记录,并不显示该记录的内容;要显示该记录的内容,可使用display命令。" K* s% r7 }) E% U) [
(3).若指定字符串无前导空格,不必使用引号,否则应使用引号将包括前导空格在内的字符串括起来。若指定的字符串是变量,还需要使用宏替换函数。8 l! w; [5 Q: Z" X3 t, y
(4).可通过found()和eof()两个函数来测试查找情况。如查找成功,则两个函数分别返回。t.和。f.;否则,found()返回。f.,eof()返回。t
) D: `2 u& w/ N3 t, ` y 例:use 工资情况 tag xm# t# i- N$ I) r7 k. o9 Z5 N
find 李四/ |' T: @0 {! r& I0 `
?found(),eof() &&能定位到"李四",结果为。t.,.f.
. K6 n3 _6 M4 _ display &&显示李四的记录( p3 s2 i# e3 f6 T) H$ B1 R1 z
二。seek命令:
5 C7 a1 T, g8 I0 c+ v/ s# w9 o. ?# d 格式:seek 表达式' A, P% @) v1 N8 n9 _
说明:(1).seek比find的功能更强,可使用表达式给出关键值,查找与其匹配的第一条记录。. t; t6 y0 H8 \$ I$ Y+ g0 a b
(2).表达式的类型可为字符型、数值型、日期型和逻辑型;
' b1 s2 o% u/ ?, f" S9 S: h+ W+ c (3).若表达式为字符常量必须用引号括起来,变量可直接引用而不需使用宏替换函数。! P5 U* e# T+ W- j% f% d
例:use 工资情况 tag xm* c6 g0 P( O4 \* Y9 h- f2 S, U
seek "王二" &&此处的表达式为常量,所以使用双引号括起来
/ v& h' o. T6 M5 | display &&显示王二的记录
* w, u6 K; |5 e& ~# M% j! v a="小刚" &&将常量值"小刚"赋给变量a
& A4 R. w1 ^" Y7 L5 ]" v) n seek a &&表达式为变量时,不必使用双引号
' o* K! T8 c( _6 Z( g3 L display
5 s5 T) a: w/ {# q- j" [9 E use |