O ADO (ActiveX Data Objects) é um mecanismo Component Object Model criado pela Microsoft onde os programas o utilizam para a troca de informações com as bases de dados.
Microsoft's ActiveX Data Objects (ADO) é um conjunto de Component Object Model (COM) objects para acessar base de dados. Parte de MDAC, fornece uma camada intermediária (middleware) entre a linguagem de programação e OLE DB (um meio de acessar dados, sejam eles databases ou uniforme).
O ADO permite que um desenvolvedor escreva programas que acessem dados sem saber como o banco de dados é implementado. Ele deve estar ciente do banco de dados apenas para conexão. Não é necessário conhecimento de SQL para acessar um banco de dados ao usar o ADO, embora se possa usar o ADO para executar comandos SQL diretamente. A desvantagem do último é que ele introduz uma dependência sobre o tipo de banco de dados utilizado.
O ADO está posicionado como um sucessor das camadas de objetos anteriores da Microsoft para acessar fontes de dados, incluindo RDO (Remote Data Objects) e DAO (Data Access Objects). O ADO foi introduzido pela Microsoft em outubro de 1996.
O ADO é composto por quatro coleções e doze objetos.
São necessárias algumas etapas básicas para poder acessar e manipular dados usando o ADO:
Aqui está um exemplo ASP usando ADO para selecionar o campo "Nome", a partir de uma tabela chamada "Agenda", onde um "Número de Telefone" era igual a "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
This is equivalent to the following ASP code, which uses plain SQL instead of the functionality of the Recordset object:
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)
ADO is supported in ASP, Delphi, PowerBuilder, and in Visual Basic for Applications (VBA).