ADO

Microsoft ADO (ActiveX Data Objects) is a Component object model object for accessing data sources. It provides a layer between programming languages and databases, which allows a developer to write programs which access data, without knowing how the database is implemented. No knowledge of SQL is required to access a database when using ADO, although one can use ADO to execute arbitrary SQL commands. The disadvantage of this is that this introduces a dependency upon the database.

It is positioned as a successor to Microsoft's earlier object layers for accessing data sources, including RDO (Remote Data Objects) and DAO (Data Access Objects). ADO was introduced by Microsoft in the winter of 1996.

ADO consists of several top-level objects:

ADO component is used in conjunction with a high-level language, such as VBScript in an Active Server Pages (ASP) environment,or Visual Basic. Even developing tool Delphi from Microsoft rival Borland Coporation now allow the use of ADO to access various database.

In the newer programming framework of .NET, Microsoft also present an upgraded version of ADO called ADO.NET, its object structure is quite different from that of traditional ADO. But ADO.NET is still not quite popular and mature till now.

Here is an ASP example using ADO to select the "Name" field, from a table called "Phonebook", where a "PhoneNumber" was equal to "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) 
 myrecordset.close
 
 set myrecordset = nothing
 set myconnection = nothing
 

External links

See also: ADO, ADO.NET, Active Server Pages, Borland, Component object model, Data Access Objects, Database, Delphi, Microsoft, Programming language