Progress
Language Reference


FIND-BY-ROWID( ) Method

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 Progress places on the record, if found. The default is SHARE-LOCK.

NOTE: For more information on record locks, see the Progress Programming Handbook .

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.
DEFINE VARIABLE r AS ROWID.
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.


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095