ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Компоненты доступа к даннымПеречень и назначение компонентов работы по технологии ADO мы приводили в начале главы. Большинство из них имеет аналоги компонентов в технологиях BDE и dbExpress (табл. 18.1). В этой таблице компоненты, используемые в технологии dbExpress, аналогами можно назвать достаточно условно, т. к. большинство из них поддерживают однонаправленные наборы данных. Таблица 18.1. Соответствие компонентов в технологиях ADO, dbExpress и BDE
Стандартные компоненты доступа к данным в ADO наследуют механизм доступа от родительского класса TCustomADODataSet. Поэтому важнейшие свойства и методы этого класса во многом определяют поведение компонентов доступа к данным в ADO. Коротко охарактеризуем их. К числу основных свойств названного класса можно отнести свойства, устанавливающие параметры обмена с хранилищем данных. Значения их нужно задать до открытия набора данных. Тип блокировки записей в наборе данных определяет свойство LockType типа TADOLockType, который описан так: type TADOLockType = (ltUnspecified, ltReadOnly, ltPessimistic, ltOptimistic, Здесь, например: r ltUnspecified — блокировка задается источником данных; r ltReadOnly — набор данных открывается в режиме только для чтения; r ltPessimistic — блокировка на время редактирования до момента подтверждения. Как отмечалось, местоположение курсора задает свойство CursorLocation (см. предыдущий подраздел). При работе с клиентским курсором важную роль играет следующее свойство. Передаваемые серверу данные определяет свойство MarshalOptions типа TMarshalOption, который описан так: type TMarshalOption = (moMarshalAll, moMarshalModifiedOnly); Здесь: r moMarshalAll — возврат всех записей локального набора данных серверу; r moMarshalModifiedOnly — возврат только измененных записей. Тип курсора определяет свойство CursorType типа TCursorType, который описан так: type TCursorType = (ctUnspecified, ctOpenForwardOnly, Здесь, например: r ctUnspecified — тип курсора не задан и определяется возможностями источника данных; r сtOpenForwardOnly — однонаправленный курсор, используемый для одиночного прохода по всем записям; r ctKeyset — двунаправленный курсор, не отображающий добавленные или удаленные другими пользователями записи; r ctStatic — двунаправленный курсор, не учитывающий изменения записей другими пользователями. Набор данных может быть открыт с помощью свойства Active или метода Open. На стороне клиента записи из набора данных хранятся в буфере, размер которого может быть получен с помощью свойства CacheSize типа Integer. При необходимости с помощью свойства BlockReadSize типа Integer можно организовать передачу записей в виде блоков. Кроме того, с помощью свойства MaxRecords типа Integer можно ограничить размер набора данных. По умолчанию блочная пересылка не используется, а число записей в наборе данных не ограничено. Текущее состояние записи набора данных определяет свойство RecordStatus типа TrecordStatusSet, который описан так: type TRecordStatus = (rsOK, rsNew, rsModified, rsDeleted, rsUnmodified, Здесь, например: r rsOK — запись успешно изменена; r rsNew — новая запись вставлена; r rsModified — запись изменена; r rsDeleted — запись удалена; r rsUnmodified — запись осталась без изменений. Дадим сравнительно развернутую характеристику компонентам, используемым в технологии ADO для доступа к данным. Доступ к таблицам Для обеспечения доступа к таблицам хранилищ данных по технологии ADO служит компонент ADOTable. Для установления соединения с хранилищем данных этого компонента через провайдеры ADO служит свойство ConnectionString или Connection, как описано ранее. Для управления набором данных таблицы в приложение включают компонент источника данных DataSource. При этом свойству DataSet этого компонента в качестве значения задается имя компонента ADOTable. Для отображения данных таблицы к источнику данных подключаются различные компоненты отображения, к примеру, DBGrid. После установления связи компонента ADOTable с хранилищем данных с помощью свойства TableName типа WideString задается имя таблицы. Не все провайдеры ADO допускают непосредственный доступ к таблицам, поэтому может потребоваться доступ с помощью SQL-запроса. Вариант доступа к данным таблицы определяет свойство TableDirect типа Boolean. Если оно имеет значение False (по умолчанию), то компонент ADOTable автоматически генерирует SQL-запрос для доступа к таблице, в противном случае выполняется непосредственный доступ к данным таблицы. Рассматриваемый нами компонент по своим возможностям и технике работы с ним во многом схож с компонентом Table. Здесь также с помощью редактора полей можно задавать свойства отдельных полей. При этом имеется ограничение, состоящее в том, что в компонентах ADO нельзя работать со словарями. Поэтому свойства полей требуется задавать вручную. Кроме того, у драйверов ADO имеются ограничения по работе с отдельными типами полей, в частности, с графическими. Программирование действий по работе с хранилищем данных с помощью рассматриваемого компонента используются аналогичные средства, как и в случае компонента Table. В частности, для навигации по табличному набору данных используются методы First, Last, Next и Prior. Для поиска записей используются методы Find, Seek и Locate. Не нашли, что искали? Воспользуйтесь поиском:
|