<<Up     Contents

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 consists of several top-level objects:

Connection (represents the connection to the database)
Recordset (represents a set of database records)
Command (represents a SQL command)
Record (represents a set of data, typically from a source other than a database)
Stream (represents a stream of data, as from a text file or web page)
Error (stores errors)
Field (represents a database field)
Parameter (represents a SQL parameter)
Property (stores information about objects)

ADO is used in conjunction with a high-level language, such as VBScript in an ASP environment. 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

wikipedia.org dumped 2003-03-17 with terodump