ActiveX Data Objects

ADO (від англ. ActiveX Data Objects — «об'єкти даних ActiveX») — прикладний програмний інтерфейс для доступу до даних, розроблений компанією Microsoft (MS Access, MS SQL Server) і заснований на технології компонентів ActiveX. ADO дозволяє представляти дані з різноманітних джерел: (реляційної СУБД, текстових файлів тощо) в об'єктно-орієнтованому програмуванні виді.

Опис[ред. | ред. код]

Об'єктна модель ADO складається з наступних об'єктів високого рівня і сімейств об'єктів:

  • Connection (представляє підключення до віддаленого джерела даних)
  • Recordset (представляє набір рядків, отриманий від джерела даних)
  • Command (використовується для виконання команд і SQL-запитів з параметрами)
  • Record (може представляти одну запис об'єкта Recordset або ж ієрархічну структуру, що складається з текстових даних)
  • Stream (використовується для читання і запису потокових даних, наприклад, документів XML або двійкових об'єктів)
  • Errors (представляє помилки)
  • Fields (представляє стовпці таблиці бази даних)
  • Parameters (представляє набір параметрів SQL-інструкції)
  • Properties (представляє набір властивостей об'єкта)

Компоненти ADO використовуються в мовах високого рівня, таких як VBScript в ASP, JScript в WSH, Visual Basic, Delphi. Останньою версією ADO є версія 2.8. У рамках платформи Microsoft. NET інтерфейс ADO замінений ADO.NET.

Основи використання[ред. | ред. код]

Деякі основні кроки необхідні для того, щоб мати можливість отримати доступ та керувати даними за допомогою ADO:

  1. Створення об'єкта з'єднання для підключення до бази даних.
  2. Створення об'єкта набору записів з метою отримання даних.
  3. Відкрите з'єднання
  4. Заповнити запис, відкривши його і передаючи потрібне ім'я таблиці або SQL заяву як параметр для відкритої функції.
  5. Зафіксуйте зміни, внесені в дані (якщо такі є) за допомогою оновлень або UpdateBatch методами.
  6. Закрити базу даних

ASP приклад[ред. | ред. код]

Ось ASP наприклад, за допомогою ADO, щоб вибрати поле "Name", з таблиці з ім'ям "Phone number", де "PhoneNumber" дорівнювала "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 = nothing set myconnection = nothing 

Це еквівалентно наступним ASP-код, який використовує звичайні SQL, а не функціональність Recordset об'єкту:

dim myconnection, myrecordset, name set myconnection = server.createobject("ADODB.connection") myconnection.open mydatasource set myrecordset = myconnection.execute("SELECT Name FROM Phonebook WHERE PhoneNumber = '555-5555'") name = myrecordset(0) 

Дивись також[ред. | ред. код]