ВУЗ:
Составители:
Рубрика:
51
procedure TForm1.Button1Click(Sender:TObject);
begin
if not Table1.Locate('Species Name', Edit1.Text,
[loCaseInsensitive,loPartialKey])then
begin
MessageDlg('Запись не найдена!',mtInformation,[mbOK],0);
exit;
end;
end;
Иногда бывает удобно ввести переменные для подготовки параметров
функции
Locate. Ниже записан вариант реализации примера с использованием
переменных.
procedure TForm1.Button1Click(Sender: TObject);
var KeyFields,KeyValues:String;
Options:TLocateOptions;
begin
KeyFields:='Species Name';
KeyValues:=Edit1.Text;
Options:=[loCaseInsensitive, loPartialKey];
if not Table1.Locate(KeyFields, KeyValues, Options) then
begin
MessageDlg('Запись не найдена!',mtInformation, [mbOK], 0);
exit;
end;
end;
Если поле, по которому осуществляется поиск, входит в индекс, то этот
индекс используется для поиска. Если поле входит в несколько индексов, то
неизвестно, какой из них будет использован. При поиске по полям, не входя-
щим в индекс, применяются фильтры BDE.
Синтаксис функции
Lookup аналогичен синтаксису метода Locate.
Функция
Lookup находит запись, но не делает её текущей. Указатель текущей
записи не меняется. Функция
Lookup выполняет поиск только на точное совпа-
дение. Если запись найдена, то
Lookup возвращает значения некоторых полей.
Если запись не найдена, то возвращается
Null.
2.8.2. Поиск записи по индексированному полю
Поиск может выполняться по первичному ключу (главному индексу) или
по вторичному индексу. Перед выполнением поиска должен быть задан нуж-
ный индекс. Для выполнения поиска используются методы класса
TTable:
SetKey – перевод таблицы в режим поиска;
procedure TForm1.Button1Click(Sender:TObject); begin if not Table1.Locate('Species Name', Edit1.Text, [loCaseInsensitive,loPartialKey])then begin MessageDlg('Запись не найдена!',mtInformation,[mbOK],0); exit; end; end; Иногда бывает удобно ввести переменные для подготовки параметров функции Locate. Ниже записан вариант реализации примера с использованием переменных. procedure TForm1.Button1Click(Sender: TObject); var KeyFields,KeyValues:String; Options:TLocateOptions; begin KeyFields:='Species Name'; KeyValues:=Edit1.Text; Options:=[loCaseInsensitive, loPartialKey]; if not Table1.Locate(KeyFields, KeyValues, Options) then begin MessageDlg('Запись не найдена!',mtInformation, [mbOK], 0); exit; end; end; Если поле, по которому осуществляется поиск, входит в индекс, то этот индекс используется для поиска. Если поле входит в несколько индексов, то неизвестно, какой из них будет использован. При поиске по полям, не входя- щим в индекс, применяются фильтры BDE. Синтаксис функции Lookup аналогичен синтаксису метода Locate. Функция Lookup находит запись, но не делает её текущей. Указатель текущей записи не меняется. Функция Lookup выполняет поиск только на точное совпа- дение. Если запись найдена, то Lookup возвращает значения некоторых полей. Если запись не найдена, то возвращается Null. 2.8.2. Поиск записи по индексированному полю Поиск может выполняться по первичному ключу (главному индексу) или по вторичному индексу. Перед выполнением поиска должен быть задан нуж- ный индекс. Для выполнения поиска используются методы класса TTable: SetKey – перевод таблицы в режим поиска; 51
Страницы
- « первая
- ‹ предыдущая
- …
- 49
- 50
- 51
- 52
- 53
- …
- следующая ›
- последняя »