vfp中数据库表怎么查找记录

 我来答
uhmf
2012-03-29 · TA获得超过1457个赞
知道大有可为答主
回答量:1891
采纳率:50%
帮助的人:1299万
展开全部
如果在编程代码中,LOCATE用的较多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a299049
2012-03-30 · TA获得超过667个赞
知道小有建树答主
回答量:807
采纳率:100%
帮助的人:187万
展开全部
按顺序搜索表从而找到满足指定逻辑表达式的第一个记录。
LOCATE [FOR lExpression1] [Scope] [WHILE lExpression2] [NOOPTIMIZE]
参数
FOR lExpression1
LOCATE 按顺序搜索当前表以找到满足逻辑表达式 lExpression1 的第一个记录。
若 lExpression1 是可优化表达式,则 Rushmore 优化由 LOCATE FOR 创建的查询。为了获得最佳执行效果,可在 FOR 子句中使用可优化表达式。
详细信息, 参见 SET OPTIMIZE 和 用 Rushmore 查询优化数据访问速度。
Scope
指定要定位的记录范围。只有范围内的记录才被定位。Scope 子句有 ALL、NEXT nRecords、RECORD nRecordNumber 和 REST。
LOCATE 的默认范围是所有 (ALL) 记录。
WHILE lExpression2
指定一个条件,只要逻辑表达式 lExpression2 计算值为“真”(.T.),就继续查找记录。
NOOPTIMIZE
关闭 LOCATE 的 Rushmore 优化。
详细信息, 参见 SET OPTIMIZE 和 用 Rushmore 查询优化数据访问速度。
备注
被索引的表不必已有索引。
如果使用不带 FOR 表达式的 LOCATE 命令, Visual FoxPro 定位记录指针到第一个逻辑记录上。这在使用了筛选或 DELETED 设置为 ON 时比 GO TOP 更快。
若 LOCATE 发现一个满足条件的记录,可使用 RECNO( ) 返回该记录号。若发现满足条件的记录,则 FOUND( ) 返回“真”(.T.),EOF( ) 返回“假”(.F.)。若 SET TALK 是 ON,则显示满足条件的记录号。
LOCATE 发现一个满足条件的记录之后,可执行 CONTINUE,从而在表的剩余部分寻找其他满足条件的记录。当执行 CONTINUE 时,搜索操作从满足条件的记录的下一条记录开始继续执行。可重复执行 CONTINUE,直到到达范围边界或表尾。

若找不到满足条件的记录,则 RECNO( ) 返回表中的记录数加 1,FOUND( ) 返回“假”(.F.),EOF( ) 返回“真”(.T.)。
LOCATE 和 CONTINUE 只能用于当前工作区。若选择了另一工作区,则当重选原来的工作区时可继续原来的搜索过程。
示例
在下列示例中,定位德国顾客的记录,然后显示总数。
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer && 打开 customer 表
SET TALK OFF

STORE 0 TO gnCount
LOCATE FOR ALLTRIM(UPPER(customer.country)) = 'GERMANY'
DO WHILE FOUND()
gnCount = gnCount + 1
? company
CONTINUE
ENDDO

? '总的德国客户数: '+ LTRIM(STR(gnCount))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东歪vs西倒
2012-03-29
知道答主
回答量:23
采纳率:0%
帮助的人:18.5万
展开全部
select * from 表 where 关键字段=?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式