Разработка баз данных в Delphi. 11 Уроков



         

 Использование SetKey для поиска в таблице - часть 2


Table1.GotoKey;

Запомните: поиск не будет выполняться, если Вы не назначите правильно индекс (св-во IndexName). Кроме того, Вы должны обратить внимание, что IndexName - это свойство TTable, и не присутствует в других прямых потомках TDataSet или TDBDataSet.

          Когда Вы ищете некоторое значение в БД,  всегда существует вероятность того, что поиск окажется неудачным. В таком случае Delphi будет автоматически вызывать exception, но если Вы хотите обработать  ошибку сами, то могли бы написать примерно такой код:

procedure TSearchDemo.SearchClick(Sender: TObject);

begin

  Cust.SetKey;

  Cust.FieldByName('CustNo').AsString:= CustNoEdit.Text; 

  if not Cust.GotoKey then

    raise Exception.CreateFmt('Cannot find CustNo %g',

[CustNo]);

end;

          В коде, показанном выше, либо неверное присвоение номера, либо неудача поиска автоматически приведут к сообщению об ошибке ‘Cannot find CustNo %g’.

          Иногда требуется найти не точно совпадающее значение, а близкое к нему, для этого следует вместо GotoKey пользоваться методом GotoNearest.




Содержание  Назад  Вперед