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)

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