点击或拖拽改变大小

DbServer.Seek 方法 (__Usual, __Usual, __Usual)

X#
移动到控制顺序中具有指定键值的记录。

命名空间:  XSharp.VO.SDK
程序集:  XSharp.VORDDClasses (在 XSharp.VORDDClasses.dll 中) 版本:2.22 GA
语法
 VIRTUAL METHOD Seek(
	uSearchExpr,
	lSoftSeek,
	lLast
) AS LOGIC CLIPPER
查看代码

参数

uSearchExpr (Optional)
类型:__Usual
指定与所需记录关联的键值。
lSoftSeek (Optional)
类型:__Usual
确定如果未找到指定的键值,数据服务将如何定位:TRUE 执行软查找;FALSE 不执行。 如果省略 lSoftSeek,则使用当前的 SetSoftSeek() 设置。
lLast (Optional)
类型:__Usual
TRUE 查找指定键值的最后一个出现。FALSE(默认)查找第一个出现。lLast 仅适用于 CDX 索引。

返回值

类型:Boolean
如果找到指定的键值,则返回 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 的值与数据库中的记录匹配的记录:
X#
1IF Employee:Seek( UPPER( SELF:oDCsleLastName:Value ) )
2Employee:ViewRecord()
3ELSE
4
5QOut("Not found")
6END
参见