|
Методы класса TCustomADODataSet
ADO в Delphi AJAX Android C++ CakePHP CMS COM CSS Delphi Flash Flex HTML Internet Java JavaScript MySQL PHP RIA SCORM Silverlight SQL UML XML Бази даних Веб-розробка Генетичні алгоритми ГІС Гітара Дизайн Економіка Інтелектуальні СДН Колір Масаж Математика Медицина Музика Нечітка логіка ООП Патерни Подання знань Розкрутка сайту, SEO САПР Сесії в PHP Системне програмування Системний аналіз Тестологія Тестування ПЗ Фреймворки Штучний інтелект
|
Знання
→
Технология ADO в Delphi
→
Компоненты Delphi для поддержки ADO
→
Общие свойства компонентов-наборов
Методы класса TCustomADODataSetЛюбопытной особенностью ADO-наборов являются инкапсулированные в них методы SaveToFile и LoadFromFile. В ADO эти методы используются как один из возможных механизмов обмена данными между разными компьютерами, а также для отложенной обработки данных. Перед вызовами методов ADO-набор должен быть закрыт. После успешного вызова LoadFromFile набор автоматически открывается в том состоянии, в котором он был сохранен методом SaveToFile. ADO наборы можно сортировать по закладкам (метод FilterOnBookmarks). Например:
procedure TForml.ButtonlClick(Sender: TObject);
var BM1, BM2: TbookmarkStr;
begin
with ADODataSetl do
begin
BM1 := Bookmark;
MoveBy(3) ;
BM2 := Bookmark;
FilterOnBookmarks([BM1, BM2]);
end;
end;
Для работы в многопользовательском режиме может оказаться полезным метод Clone, с помощью которого уже созданный НД дублируется в вызывающий. Например: AdoTablel.Open; //Создан исходный НД AdoTable2.Clone(AdoTablel, ItReadOnly); //Создан дубликат в НД AdoTable2 Для ADO наборов определен метод Requery, с помощью которого программист может обновить НД. Его действие фактически эквивалентно последовательному использованию Close - Open. Особенностью является то обстоятельство, что влияющие на НД свойства, такие как CursorLocation, CursotType, LockTable и т.п. остаются неизменными, в то время как в промежутке между использованием Close-Open эти свойства можно изменить и тем самым повлиять на результирующий НД. Весьма необычным является метод Seek, осуществляющий поиск записи по заданному значению (значениям) ключевого поля (полей). В принципе, он реализует те же действия, что и метод Locate, но отличается от него несколькими важными особенностями. Во-первых, для Locate не имеет значения, индексировано ли поле (поля) по которому (которым) ищутся записи. В то же время Seek ищет только по индексированным полям, которые, к тому же, должны быть указаны в свойствах IndexNames или IndexFields. Далее, для Locate курсор не перемещается, если поиск неудачен, для Seek -перемешается всегда, в зависимости от указанного параметра SeekOption (если запись не найдена, курсор перемещается в начало НД, его конец, непосредственно перед искомой записью или сразу за ней). И, наконец, Seek не может вести поиска с игнорированием возможной разницы в высоте букв или по частичному совпадению поисковых значений. К сожалению, многие провайдеры OLE DB не допускают установки значений свойств IndexNames или IndexFields и, таким образом, не поддерживают Seek. С помощью метода Supports можно проверить различные характеристики набора и, в частности, может ли он поддерживать Seek:
AdoTablel.Open;
if Supports ([coSeek]) then
AdoTablel.Seek(90001,soAfterEQ)
else
if Supports ([coLocate]) then
AdoTablel.Locate('Number’,90001, [ ] ) ;
Зверніть увагу на додаткові посиланняЯкщо вас цікавить...Головний розділСторінки, близькі за змістомзагрузка...
|
Сторінки, близькі за змістом
|
|
Copyright © 2008—2026 Портал Знань.
При використанні матеріалів посилання, для інтернет-ресурсів — гіперпосилання, на Znannya.org обов'язкове.
Зв'язок
|
НТУУ "КПІ" Інженерія програмного забезпечення КПІ Лабораторія СЕТ |
|