Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции 2005 / Лекции по ИТС для МП-IV / P4 / Технология автоматизации.doc
Скачиваний:
33
Добавлен:
16.04.2013
Размер:
191.49 Кб
Скачать

Особенности компонентов ado.

Компоненты ADO - являются надстройкой над базовыми объектами ADO, предоставляя (показывая) разработчику большинство свойств, методов и событий, имеющихся у объекта, в привычном для системы виде.

Базовые объекты ADO созданы фирмой Microsoft и встраиваются в систему Delphi в процессе начальной установки этой системе (т.е. при инсталляции).

Базовых объектов ADO – 7 штук:

Основные:

Вспомогательные:

Connection

Parameters

RecordSet

Field

Command

Error

Property

Обычно базовые элементы сопровождаются коллекциями, связанных с ними объектов (например, с Connectionсвязано несколькоError’ов).

Connectionпредназначен для установления соединения с данными. Обеспечивает механизм транзакций (последовательность операторов SQL), рассмотриваемый как единое целое и переводящее БД изoдного целостного состояния в другое. Транзакция может быть выполнена полностью или не выполнена вообще.

Например, с Дебета на Кредит переводятся деньги, но если произошла ошибка при снятии со счета Дебет, то на Кредитовый счет деньги не пришли, следовательно, пропала сумма денег, поэтому необходимо использовать транзакцию для обеспечения целостности БД (в случае ошибки деньги возвращают обратно).

С объектом Connectionсвязана коллекция объектовError, в которой фиксируются все ошибки, происходящие при работе с объектомConnection. Кроме того, на объектConnectionмогут ссылаться различные объекты команд RecordSet, следовательно, объектConnectionуправляет транзакциями этого объекта.

Объект RecordSetпредставляет собой текущий набор данных. Он может быть получен после выполнения методаExecute. С объектом RecordSet автоматически связывается набор объектовField, в которых описываются все поля набора данных. Объект RecordSet способен хранить нужные записи, перемещаться по ним, добавлять, уничтожать и редактировать записи.

Объект Commandможет выполнить над данными любой SQL-запрос. С объектомCommandможет быть связан набор объектовParameter, в котором описываются соответствующие параметры, необходимые для выполнения запроса. Характерной особенностью объекта является возможность асинхронного выполнения связанной с ним команды (т.е. вызываетсяExecuteи, не дожидаясь результатов, продолжает работу).Синхронное выполнение- если вызывается напримерExecute, то дальше программа не будет выполняться, если нет сообщения об успешном выполнении команды (результата). При обнаружении ошибки с объектомCommandсвязывается коллекция объектовError.

Parameter- определяет один из параметров, который будет использоваться при выполнении методаExecuteобъектаCommand. Для параметра указывается тип, размер и использование (т.е. каким является параметр: входным, выходным, входной и выходной, параметр только для чтения). При необходимости с объектомCommandможет быть связано несколько объектовParameterдля того, чтобы указать множество параметров (указывается путем связывания нескольких объектов).

Field- содержит всю необходимую информацию об одном поле набора данных (таблицы). Поскольку обычно набор данных содержит несколько полей, то с объектом RecordSet связана коллекция объектов Field. С любым объектомFieldможно связать произвольную коллекцию объектовProperty, которые определяют индивидуальные характеристики полей.

Error- хранит все ошибки, связанные с работой остальных объектов и, прежде всегоConnection,Command,Recordset.

Property- может быть связан с любым другим объектом ADO, кроме объектовConnectionиError. Может хранить как статические, так и динамические свойства.

Четыре статических свойства:

Name

Type

Value

Attributes

Остальные свойства являются динамическими и создаются при выполнении программы. В объекте Propertyзадаются некоторые индивидуальные характеристики объектов ADO, связанные с коллекцией объектовProperty.

Использование технологии ADO допускает применение вложенных транзакций.







До завершения одной транзакции может начаться другая - т.о. транзакции оказываются вложенными друг в друга.