Progress
Version 9
Product Update Bulletin


FIND-FIRST Method

Gets a single record. This method lets a user get the first record that satisfies the predicate expression.

Return Type: LOGICAL

Applies To: Buffer Object handle

The FIND-FIRST method has the following syntax:

SYNTAX

FIND-FIRST (predicate-expression [ , lockmode [ , wait-mode ] ] ) 

predicate-expression

A character expression that evaluates to the following syntax:

[ WHERE [  logical-expression   ] ]  [ USE-INDEX index-name  ] 

Once evaluated, predicate-expression can contain only constants and unabbreviated references to fields from the buffer.

The predicate-expression itself can be built using a concatenation of character expressions.

lockmode

An integer expression evaluating to one of the following constants: SHARE-LOCK, EXCLUSIVE-LOCK, or NO-LOCK. You can assign any of these constants to an integer variable. For example, mylock = NO-LOCK.

The default is SHARE-LOCK.

wait-mode

An integer expression evaluating to one of the following: NO-WAIT, 0, or ?. You can assign NO-WAIT to an integer variable. For example, mywait = NO-WAIT.

The default is to wait.

The following shows some examples of FIND-FIRST method:

DEFINE VARIABLE bh AS HANDLE. 
DEFINE VARIABLE myname AS char. 
bh = BUFFER customer:HANDLE. 
bh:FIND-FIRST("where cust-num > 2", NO-LOCK). 
do transaction ; 
  bh:FIND-FIRST("", EXCLUSIVE-LOCK). 
end. 
bh:FIND-FIRST("where name = " + QUOTER(myname) , NO-LOCK).  

NOTES

SEE ALSO

FIND-UNIQUE Method, FIND-LAST Method, FIND-CURRENT( ) Method, FIND LAST statement, FIND FIRST statement, and FIND-BY-ROWID method in the Progress Language Reference .


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