Purpose
Finds a record in a record set.
This method begins at the first record and moves forward through the record set until Condition evaluates to TRUE or the end of the record set is reached. Each time the record pointer is moved, Condition is re-evaluated.
If the condition does not evaluate to TRUE and the end of the record set is reached, the NoMatch flag is set to TRUE.
Note
In order to prevent deadlock in asynchronous systems, Find requires server re-entrance for each move and evaluation of Condition. Re-entrance has a substantial amount of overhead and it is often faster and more effective to use the Filter method instead of a Find method.
Syntax
DBStatement.FindFirst (Condition)
Condition |
Any valid conditional expression. It is best to include comparisons to columns in the cursor or it is not likely that Condition will evaluate to TRUE. |
Compliance:
Level 2
Example
Sub Main()
Dim cnct As DBConnection
Dim stmt As DBStatement
cnct.OpenConnection("MyDSN") 'Open the data source "MyDSN"
stmt.OpenStatement(cnct, dbKeyset, dbRowver)
stmt.ExecuteSQL ("SELECT * FROM MyTable")
'Starting from the first record in the recordset, find the first record which
'makes the condition CustNum = 12345 evaluate to TRUE.
stmt.FindFirst(stmt.Column("CustNum") = 12345)
If (stmt.NoMatch) Then 'Record was not found
Print "The customer does not exist in the database!"
Else
Print "Customer Information:"
Print "Customer Name: ";stmt.Column("CustName")
Print "Customer Phone: ";stmt.Column("CustAddr")
Print "Customer Last Contacted: ";stmt.Column("CustLastContact")
End If
stmt.CloseStatement
cnct.CloseConnection 'Close the connection
End Sub
|