DbServer.Seek 方法 (__Usual, __Usual, __Usual) | |
移动到控制顺序中具有指定键值的记录。
命名空间:
VO
程序集:
VORDDClasses (在 VORDDClasses.dll 中) 版本:2.22 GA
语法 VIRTUAL METHOD Seek(
uSearchExpr,
lSoftSeek,
lLast
) AS USUAL CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public virtual __Usual Seek(
__Usual uSearchExpr = default,
__Usual lSoftSeek = default,
__Usual lLast = default
)
查看代码参数
- uSearchExpr (Optional)
- 类型:__Usual
指定与所需记录关联的键值。 - lSoftSeek (Optional)
- 类型:__Usual
确定如果未找到指定的键值,数据服务将如何定位:TRUE 执行软查找;FALSE 不执行。
如果省略 lSoftSeek,则使用当前的 SetSoftSeek() 设置。
- lLast (Optional)
- 类型:__Usual
TRUE 查找指定键值的最后一个出现。FALSE(默认)查找第一个出现。lLast 仅适用于 CDX 索引。
返回值
类型:
__Usual
如果找到指定的键值,则返回 TRUE;否则返回 FALSE。
备注
在操作之前发送 NotifyIntentToMove 消息。
DBServer:Seek() 移动到键值等于
uKey 的第一个逻辑记录。
如果找到这样的记录,它将成为当前记录,DBServer:Seek() 返回 TRUE。否则,DBServer:Seek() 返回 FALSE,数据服务的定位如下:
对于正常(非软)查找,数据服务定位到 DBServer:LastRec + 1,
DBServer:EOF 返回 TRUE;对于软查找,数据服务定位到键值大于指定键值的第一个记录。
如果不存在这样的记录,数据服务定位到 DBServer:LastRec + 1,DBServer:EOF 返回 TRUE。
对于没有控制顺序的数据服务,DBServer:Seek() 无效。
提示: |
---|
逻辑记录:DBServer:Seek() 对逻辑记录进行操作。记录按控制顺序处理。如果设置了过滤器,则仅考虑满足过滤条件的记录。
共享模式:对于共享文件,移动到不同记录可能会导致对当前记录的更新对其他进程可见。有关更多信息,请参阅《程序员指南》中的“并发控制”。
|
示例
在此示例中,DBServer:Seek() 将指针移动到数据库 EMPLOYEE 中控制字段 sleLastName 的值与数据库中的记录匹配的记录:
1IF Employee:Seek( UPPER( SELF:oDCsleLastName:Value ) )
2Employee:ViewRecord()
3ELSE
4
5QOut("Not found")
6END
参见