[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] Reference for unit 'DB' (#fcl)


Locate a record based on some key values


Source position: db.pas line 1708

public function TDataSet.Locate(

  const KeyFields: string;

  const KeyValues: Variant;

  Options: TLocateOptions

):Boolean; virtual;




List of fields, separated by semicolons



Single value or array of values.



Options to take into account when searching for the record.

Function result

True if a record matching KeyValues is found.


Locate attempts to locate a record in the dataset. There are 2 possible cases when using Locate.

  1. Keyvalues is a single value. In that case, KeyFields is the name of the field whose value must be matched to the value in KeyValues
  2. Keyvalues is a variant array. In that case, KeyFields must contain a list of names of fields (separated by semicolons) whose values must be matched to the values in the KeyValues array

The matching always happens according to the Options parameter. For a description of the possible values, see TLocateOption.

If a record is found that matches the criteria, then the locate operation positions the cursor on this record, and returns True. If no record is found to match the criteria, False is returned, and the position of the cursor is unchanged.

The implementation in TDataset always returns False. It is up to TDataset descendents to implement this method and return an appropriate value.

See also




Search for a record and return matching values.



Available options when locating a record in a dataset

Documentation generated on: May 14 2021