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

Особенности компонентов 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 допускает применение вложенных транзакций.



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

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

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