API-интерфейсы модели компонентных объектов для доступа к источникам данных
В вычислениях, Microsoft <71 Объект ActiveX Data Objects(ADO) содержит набор объектов Component Object Model (COM) для доступа к источникам данных. Являясь частью MDAC (компоненты доступа к данным Microsoft), он предоставляет уровень промежуточного программного обеспечения между языками программирования и OLE DB (средство доступ к хранилищам данных, будь то баз данных или нет, единообразным образом). ADO позволяет разработчику писать программы, которые обращаются к данным, не зная, как реализована база данных; разработчики должны знать о базе данных только для подключения. Для доступа к базе данных при использовании ADO не требуется знание SQL, хотя можно использовать ADO для непосредственного выполнения команд SQL (с недостатком введения зависимости от типа используемой базы данных).
Microsoft представила ADO в октябре 1996 года, позиционируя программное обеспечение как преемник более ранних объектных слоев Microsoft для доступа к источникам данных, включая RDO (удаленные объекты данных) и DAO (Объекты доступа к данным).
ADO состоит из четырех коллекций и двенадцати объектов.
Содержание
- 1 Коллекции ADO
- 2 Объекты ADO
- 3 Базовое использование
- 4 Поддержка программного обеспечения
- 5 Устаревшие
- 6 См. Также
- 7 Ссылки
- 8 Внешние ссылки
Коллекции ADO
- Поля
- Эта коллекция содержит набор объектов Поля. Коллекция может использоваться либо в объекте Recordset, либо в объекте Record. В объекте набора записей каждый из объектов поля, составляющих коллекцию полей, соответствует столбцу в этом объекте набора записей. В объекте записи поле может быть абсолютным или относительным URL-адресом, который указывает на древовидное пространство имен (используется для поставщиков полуструктурированных данных, таких как поставщик Microsoft OLE DB для Интернета. Publishing) или как ссылку на объект Stream по умолчанию, связанный с этим объектом Record.
- Properties
- Объект может иметь более одного объекта 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
- Набор записей - это группа записей, и может поступать из базовой таблицы или в результате запроса к таблице. Объект RecordSet содержит коллекцию Fields и коллекцию Properties. Коллекция Fields - это набор объектов Field, которые являются соответствующими столбцами в таблице. Коллекция Properties - это набор объектов Property, который определяет конкретную функциональность поставщика OLE DB. RecordSet имеет множество методов и свойств для изучения имеющихся в нем данных. Записи можно обновить в наборе записей, изменив значения в записи и затем вызвав метод Update или UpdateBatch.
- Немедленно
- Набор записей заблокирован с помощью блокировки adLockOptimistic или adLockPessimistic. Данные обновляются в источнике данных после изменения записи и вызова метода Update.
- Batch
- Набор записей блокируется с помощью adLockBatchOptimistic, и каждый раз, когда вызывается Update, данные обновляются в временный буфер. Наконец, когда вызывается UpdateBatch, данные полностью обновляются обратно в источнике данных. Преимущество этого заключается в том, что все это делается в памяти, и в случае возникновения проблемы вызывается UpdateCancel, и обновления не отправляются в источник данных.
- Транзакция
- Если поставщик OLE DB позволяет, транзакции могут быть использованы. Чтобы начать транзакцию, программист вызывает метод BeginTrans и выполняет необходимые обновления. Когда все они будут выполнены, программист вызывает метод CommitTrans. RollbackTrans может быть вызван для отмены любых изменений, сделанных внутри транзакции, и отката базы данных до состояния до начала транзакции.
- Record
- Этот объект представляет одну запись в базе данных и содержит поля коллекция. RecordSet состоит из коллекции объектов Record.
- Stream
- Поток, в основном используемый в объекте RecordSet, является средством чтения и записи потока байтов. В основном он используется для сохранения набора записей в формате XML, для отправки команд поставщику OLE DB в качестве альтернативы объекту CommandText и для хранения содержимого двоичного или текстового файла.
- Параметр
- Параметр - это средство изменения поведения общей части функциональности, например, хранимая процедура может иметь разные параметры, передаваемые ей, в зависимости от того, что нужно сделать; они называются параметризованными командами.
- Поле
- Каждый объект Record содержит множество полей, а объект RecordSet также имеет соответствующий объект Field. Объект Field объекта RecordSet соответствует столбцу в таблице базы данных, на которую он ссылается.
- Свойство
- Этот объект специфичен для поставщика OLE DB и определяет возможность, реализованную поставщиком. Объект свойства может быть либо встроенным свойством - это четко определенное свойство, уже реализованное ADO и, следовательно, не может быть изменено, - либо может быть динамическим свойством - определенным базовым поставщиком данных и может быть изменено
- Ошибка
- Когда во время использования ADO возникает ошибка поставщика OLE DB, в коллекции ошибок создается объект Error. Однако другие ошибки не попадают в объект Error. Например, любые ошибки, возникающие при манипулировании данными в объекте RecordSet или Field, сохраняются в свойстве Status.
Базовое использование
Для получения доступа к данным и управления ими с помощью ADO:
- Создайте объект соединения для подключения к базе данных.
- Создайте объект набора записей для получения данных.
- Откройте соединение
- Заполните набор записей открыв его и передав желаемое имя таблицы или оператор SQL в качестве параметра для открытия функции.
- Выполните все необходимые операции поиска / обработки выбранных данных.
- Зафиксируйте изменения, которые вы внесли в данные (если есть) с помощью методов Update или UpdateBatch.
- Закройте набор записей
- Закройте соединение
Пример ASP
Вот ASP Пример использования ADO для выбора поля «Имя» из таблицы с именем «Телефонная книга», где «Номер телефона» был равен «555-5555».
dim myconnection, myrecordset, name set myconnection = server.createobject ("ADODB.Connection") set myrecordset = server.createobject ("ADODB.Recordset") myconnection.open mydatasource myrecordset.open "Phonebook", myconnection myrecordset.find "PhoneNumber = '555-5555'" name = myrecordset.fields.item ("Name") myrecordset.close set myrecordset = ничего не установлено myconnection = ничего
Это эквивалентно следующему коду ASP, который использует простой SQL вместо функциональные возможности объекта Recordset:
dim myconnection, myrecordset, name set myconnection = server.createobject ("ADODB.connection") myconnection.open mydatasource set myrecordset = myconnection.execute ("ВЫБРАТЬ имя ИЗ телефонной книги WHERE PhoneNumber = '555 -5555 '") name = myrecordset (0)
Поддержка программного обеспечения
ADO поддерживается на любом языке разработки, который поддерживает привязку к двоичным COM-интерфейсам. Эти языки включают ASP, Delphi, PowerBuilder и Visual Basic для приложений (VBA). Поддержка ADO теперь добавлена в dBase Plus 8 (с ADO)
Legacy
ADO.NET заменил ADO таким же образом, как C # /. NET заменил C / Win32 в качестве основного режима для разработки приложений Windows. ADO.NET следует тому же шаблону проектирования, что и ADO, что позволяет разработчику ADO легко продвигаться вперед при переходе на платформу.NET.
См. Также
Ссылки
Внешние ссылки