Шаг 60.
Работа с локальными БД в Delphi.
Поиск записей в НД. Метод Lookup

    На этом шаге мы рассмотрим использование метода Lookup.

    Метод Lookup находит запись, удовлетворяющую условию, но не делает ее текущей, а возвращает значения некоторых полей этой записи. В отличие от Locate, Lookup осуществляет поиск только на точное соответствие критерия поиска и значения полей записи.

    Опишем параметры этого метода.

   function Lookup (const KeyFields: String; const KeyValues: Variant; 
        const ResultFields: String): Variant;

    В KeyFields указывается список полей, по которым необходимо осуществить поиск. При наличии в этом списке более чем одного поля, соседние поля разделяются точкой с запятой.

    Если в результате поиска запись не найдена, метод Lookup возвращает значение "пусто", в противном случае Lookup возвращает из этой записи значения полей, список которых содержит ResultFields.

    Рассмотрим пример:

  ShowMessage(DataModule2.TablePupils.Lookup ('FIO','Петров П.П.','God'));

    В данном примере ведется поиск по полю FIO НД TablePupils. Если в НД есть запись, у которой значение поля FIO - "Петров П.П.", то появится сообщение со значением поля God этой записи. Данный код не вполне корректен, т.к. такой записи может и не быть, тогда метод Lookup вернет "пусто". Для избежания ошибок рекомендуется делать такую поверку:

  if VarType(DataModule2.TablePupils.Lookup('FIO','Петров П.П.','God'))<>varNull then
   ShowMessage(DataModule2.TablePupils.Lookup('FIO','Петров П.П.','God'));

    На следующем шаге мы начнем рассматривать работу с индексами.




Предыдущий шаг Содержание Следующий шаг