Кент Рейсдорф. BORLAND C++BUILDER. Раздел 4
Кент Рейсдорф. BORLAND C++BUILDER. Страница 462
Locate использует наискорейший способ поиска. Если существующий индекс подходит для реализации поиска по заданному критерию, Locate использует его. Если такого индекса не существует, создается фильтр BDE. В любом случае, будет выбран самый быстрый путь для получения нужных данных.
Locate возвращает true, если запрашиваемые данные найдены, и false в противном случае.
Lookup
Похожая на функцию Locate, функция Lookup имеет три параметра: строку, содержащую список столбцов, в которых должен производиться поиск, вариантную переменную или массив со значениями для поиска, и строку со списком имен столбцов, возвращаемых в качестве результата. Lookup имеет следующий синтаксис:
System::Boolean fastcall Lookup(const System::AnsiString KeyFields,
const System: :Variant SKeyValues, const Systera: :AnsiString ResultCo- lurnns);
Кроме выполнения поиска в TDataSet, Lookup возвращает значения. Если соответствующая строка не может быть найдена, возвращается NULL. Сначала Lookup просматривает поля KeyFields; затем возвращаются значения полей, перечисленных в ResultColumns. Если список ResultColumns содержит несколько полей, результатом будет вариантный массив; в противном случае возвращается простая вариантная переменная.
Кэшируемые изменения
Механизм кэширования изменений С+-i-Builder обеспечивает задержку записи измененной величины в базу данных. Вы можете сами решить, когда произвести обновление данных в базе, и записать все измененные данные за одно обращение. Обычно сделанные изменения записываются сразу. Однако в случае приложений клиент/сервер это увеличивает загрузку сети, поскольку ваше приложение должно каждый раз обращаться к серверу. Кэширование позволяет вам контролировать моменты и частоту этих обращений. Поскольку кэширование осуществляется локально, оно существенно увеличивает производительность, особенно при работе с очень медленными глобальными сетями (WAN — Wide Area Network).