Locates the record with the rowid you specify,
then moves the record into the buffer.
Return type: LOGICAL
Applies
to:
Buffer object handle
Syntax
FIND-BY-ROWID ( rowid
[ ,
{ SHARE-LOCK | EXCLUSIVE-LOCK | NO-LOCK }
[ , NO-WAIT ]
] )
|
-
rowid
- An expression of type ROWID that represents the rowid of the desired
record.
- SHARE-LOCK | EXCLUSIVE-LOCK | NO-LOCK
-
The type of lock that the AVM places on the record, if found. The
default is SHARE-LOCK.
Note: For more information
on record locks, see OpenEdge Getting Started: ABL Essentials.
- NO-WAIT
-
Causes FIND-BY-ROWID to return FALSE immediately if another
user has a lock on the desired record and FIND-BY-ROWID specifies
a locking option other than NO-LOCK.
Note: To
determine whether another user has a lock on the desired record,
use the LOCKED attribute of the buffer object.
The
FIND-BY-ROWID method returns TRUE if it finds the record, and FALSE
if it does not.
The following is an example:
DEFINE VARIABLE bh AS HANDLE NO-UNDO.
DEFINE VARIABLE r AS ROWID NO-UNDO.
r = ... /* ROWID from some parameter */
bh = BUFFER CUSTOMER:HANDLE.
bh:FIND-BY-ROWID(r).
|
Note: The FIND-BY-ROWID method corresponds
to a FIND statement of the form FIND buffer WHERE
ROWID ( buffer ) = rowid ..., etc. That is, triggers
are honored, and the default lock mode is SHARE-LOCK. One difference,
however, is that the FIND-BY-ROWID method does not raise an error if
it cannot find the record.