Из Википедии, свободной энциклопедии
  (Перенаправлено из объекта данных ActiveX )
Перейти к навигации Перейти к поиску

В вычислении , Microsoft «ы ActiveX Data Objects ( ADO ) включает в себя набор модели компонентных объектов (COM) объекты для доступа к источникам данных. Являясь частью MDAC (компонентов доступа к данным Microsoft), он обеспечивает промежуточный уровень между языками программирования и OLE DB (средство доступа к хранилищам данных, будь то базы данных или нет, единообразным образом). ADO позволяет разработчику писать программы, которые обращаются к данным, не зная, как реализована база данных; разработчики должны знать о базе данных только для подключения. Нет знания оSQL требуется для доступа к базе данных при использовании ADO, хотя можно использовать ADO для непосредственного выполнения команд SQL (недостатком является введение зависимости от типа используемой базы данных).

Microsoft представила ADO в октябре 1996 года, позиционируя программное обеспечение как преемника более ранних объектных слоев Microsoft для доступа к источникам данных, включая RDO (удаленные объекты данных) и DAO (объекты доступа к данным).

ADO состоит из четырех коллекций и двенадцати объектов.

Коллекции ADO [ править ]

Поля
Эта коллекция содержит набор объектов Field. Коллекция может использоваться либо в объекте Recordset, либо в объекте Record. В объекте набора записей каждый из объектов поля, составляющих коллекцию полей, соответствует столбцу в этом объекте набора записей. В объекте записи поле может быть абсолютным или относительным URL-адресом, который указывает на пространство имен с древовидной структурой (используется для полуструктурированных поставщиков данных , таких как поставщик Microsoft OLE DB для публикации в Интернете) или как ссылка на связанный объект Stream по умолчанию. с этим объектом записи.
Характеристики
У объекта может быть несколько объектов Property, которые содержатся в коллекции Properties объекта.
Параметры
У объекта Command может быть несколько команд Parameter для изменения предопределенного поведения, и каждый из объектов Parameter содержится в коллекции Parameters объекта Command.
Ошибки
Все ошибки, созданные поставщиком, передаются в коллекцию объектов Error, а сама коллекция Errors содержится в объекте Connection. Когда операция ADO создает ошибку, коллекция очищается и в коллекции создается новая группа объектов Error.

Объекты ADO [ править ]

Связь
Объект подключения - это подключение ADO к хранилищу данных через OLE DB. Объект подключения хранит информацию о сеансе и предоставляет методы подключения к хранилищу данных. Поскольку в некоторых хранилищах данных используются разные методы установления соединения, некоторые методы могут не поддерживаться в объекте подключения для конкретного поставщика OLE DB. Объект подключения подключается к хранилищу данных с помощью своего метода «Open» со строкой подключения, которая определяет подключение в виде списка пар значений ключа (например: «Provider = 'SQLOLEDB'; Data Source = 'TheSqlServer'; Initial Catalog = 'Northwind'; интегрированная безопасность = 'SSPI'; "). Начало этой строки подключения должно указывать на тип подключения к хранилищу данных, который требуется объекту подключения:
  • поставщик OLE DB (например, SQLOLEDB) с использованием синтаксиса "provider =";
  • имя файла с использованием синтаксиса «имя файла =»;
  • удаленный провайдер и сервер (см. RDS), используя синтаксис «Удаленный провайдер =» и «Удаленный сервер =»; или же
  • абсолютный URL с использованием синтаксиса "URL ="
Командование
После того, как объект подключения устанавливает сеанс с источником данных, инструкции отправляются поставщику данных через объект команды. Командный объект может отправлять SQL-запросы непосредственно поставщику с помощью свойства CommandText, отправлять параметризованный запрос или хранимую процедуру с помощью объекта Parameter или коллекции Parameters или запускать запрос и возвращать результаты объекту набора данных через Выполнить метод. Есть несколько других методов, которые можно использовать в объекте Command, относящемся к другим объектам, таким как объекты Stream, RecordSet или Connection.
Набор записей
Набор записей - это группа записей, которая может быть получена либо из базовой таблицы, либо в результате запроса к таблице. Объект RecordSet содержит коллекцию Fields и коллекцию Properties. Коллекция Fields - это набор объектов Field, которые являются соответствующими столбцами в таблице. Коллекция Properties - это набор объектов Property, который определяет конкретную функциональность поставщика OLE DB. RecordSet имеет множество методов и свойств для изучения имеющихся в нем данных. Записи можно обновить в наборе записей, изменив значения в записи и затем вызвав метод Update или UpdateBatch.
Немедленный
Набор записей блокируется с помощью блокировки adLockOptimistic или adLockPessimistic. Данные обновляются в источнике данных после изменения записи и вызова метода Update.
Партия
Набор записей блокируется с помощью adLockBatchOptimistic, и каждый раз, когда вызывается Update, данные обновляются во временном буфере. Наконец, когда вызывается UpdateBatch, данные полностью обновляются обратно в источнике данных. Преимущество этого заключается в том, что все это делается в памяти, и если возникает проблема, вызывается UpdateCancel, и обновления не отправляются в источник данных.
Сделка
Если провайдер OLE DB позволяет это, можно использовать транзакции. Чтобы начать транзакцию, программист вызывает метод BeginTrans и выполняет необходимые обновления. Когда все они будут выполнены, программист вызывает метод CommitTrans. RollbackTrans может быть вызван для отмены любых изменений, сделанных внутри транзакции, и отката базы данных до состояния до начала транзакции.
Записывать
Этот объект представляет одну запись в базе данных и содержит коллекцию полей. RecordSet состоит из коллекции объектов Record.
Транслировать
Поток, в основном используемый в объекте RecordSet, является средством чтения и записи потока байтов. В основном он используется для сохранения набора записей в формате XML, для отправки команд поставщику OLE DB в качестве альтернативы объекту CommandText и для хранения содержимого двоичного или текстового файла.
Параметр
Параметр - это средство изменения поведения общей части функциональности, например, хранимая процедура может иметь разные параметры, передаваемые ей в зависимости от того, что необходимо сделать; они называются параметризованными командами.
Поле
Каждый объект Record содержит множество полей, а объект RecordSet также имеет соответствующий объект Field. Объект Field объекта RecordSet соответствует столбцу в таблице базы данных, на которую он ссылается.
Имущество
Этот объект специфичен для поставщика OLE DB и определяет возможность, реализованную поставщиком. Объект свойства может быть либо встроенным свойством - это четко определенное свойство, уже реализованное ADO и, следовательно, не может быть изменено, - либо может быть динамическим свойством, определенным базовым поставщиком данных и может быть изменено.
Ошибка
Когда во время использования ADO возникает ошибка поставщика OLE DB, в коллекции ошибок создается объект Error. Однако другие ошибки не попадают в объект Error. Например, любые ошибки, возникающие при манипулировании данными в объекте RecordSet или Field, сохраняются в свойстве Status.

Основное использование [ править ]

Чтобы получить доступ к данным и управлять ими с помощью ADO, необходимо выполнить несколько основных шагов:

  1. Создайте объект подключения для подключения к базе данных.
  2. Создайте объект набора записей, чтобы получать данные в формате.
  3. Откройте соединение
  4. Заполните набор записей, открыв его и передав желаемое имя таблицы или инструкцию SQL в качестве параметра для функции открытия .
  5. Выполните весь необходимый поиск / обработку полученных данных.
  6. Зафиксируйте изменения, внесенные вами в данные (если таковые имеются), с помощью методов Update или UpdateBatch .
  7. Закройте набор записей
  8. Закройте соединение

Пример ASP [ править ]

Вот пример ASP с использованием ADO для выбора поля «Имя» из таблицы с именем «Телефонная книга», где «PhoneNumber» был равен «555-5555».

тусклый  MyConnection ,  myrecordset ,  имя набора  MyConnection  =  сервер . createobject ( "ADODB.Connection" ) установить  myrecordset  =  server . createobject ( "ADODB.Recordset" )myconnection . откройте  mydatasource myrecordset . откройте  «Телефонную книгу » ,  myconnection  myrecordset . найдите  "PhoneNumber = '555-5555'" name  =  myrecordset . поля . item ( "Имя" ) myrecordset . Закрытьустановить  myrecordset  =  ничего не установить  myconnection  =  ничего

Это эквивалентно следующему коду ASP, который использует простой SQL вместо функциональности объекта Recordset:

тусклый  MyConnection ,  myrecordset ,  имя набора  MyConnection  =  сервер . createobject ( "ADODB.connection" ) myconnection . открыть  mydatasource set  myrecordset  =  myconnection . execute ( "ВЫБРАТЬ ИМЯ ИЗ телефонной книги WHERE PhoneNumber = '555-5555'" ) name  =  myrecordset ( 0 )

Поддержка программного обеспечения [ править ]

ADO поддерживается на любом языке разработки, который поддерживает привязку к двоичным COM-интерфейсам. Эти языки включают ASP, Delphi , PowerBuilder и Visual Basic для приложений (VBA). В dBase Plus 8 добавлена ​​поддержка ADO (с ADO).

Наследие [ править ]

ADO.NET заменил ADO так же, как C # /. NET заменил C / Win32 в качестве основного режима для разработки приложений Windows. ADO.NET следует тому же шаблону проектирования, что и ADO, что позволяет разработчику ADO легко продвигаться вперед при переходе на платформу .NET.

См. Также [ править ]

Ссылки [ править ]

Внешние ссылки [ править ]

  • Страница Microsoft ADO
  • Строки подключения к базе данных. Архивировано 26 января 2021 г. на Wayback Machine.
  • Краткий справочник DevGuru ADO