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

# TDataSet.Lookup

Search for a record and return matching values.

## Declaration

Source position: db.pas line 1709

`public function TDataSet.Lookup(`
`const KeyFields: string;`
`const KeyValues: Variant;`
`const ResultFields: string`
`):Variant; virtual;`

## Arguments

`KeyFields` |  | Semicolon-separated list of fieldnames to locate record.
`KeyValues` |  | Values for keyfields to locate record with.
`ResultFields` |  | Semicolon-separated list of fieldnames whose values must be returned.

## Function result

Value(s) of ResultFields.

## Description

Lookup always returns Null in TDataset. Descendents of TDataset can override this method to call TDataset.Locate to locate the record with fields KeyFields matching KeyValues and then to return the values of the fields in ResultFields. If ResultFields contains more than one fieldname (separated by semicolons), then the function returns an array. If there is only 1 fieldname, the value is returned directly.

## Errors

If the dataset is unidirectional, then a EDatabaseError exception will be raised.

## See also

TDataset.Locate |  | Locate a record based on some key values

Documentation generated on: May 14 2021