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)
dim myconnection, myrecordset, name set myconnection = server.createobject("ADODB.Connection") set myrecordset = server.createobject("ADODB.Recordset")This is equivalent to the following ASP code, which uses plain SQL, instead of the functionality of the Recordset object: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
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