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
Active Server Pages (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