ADO

微软公司的ADO（ActiveX Data Objects）是一个用于访问数据源的COM组件，作为高层的编程界面层。ADO是在OLE DB之上，包含了很多层次化的COM对象与集合（Collections，也是一类对象，在其里面包含了其他层级对象）。允许开发人员编写访问数据的代码而不用关心数据源是如何实现与访问驱动的，而只用关心到数据库的连接。访问数据库的时候，关于SQL的知识不是必要的，但是特定数据库支持的SQL命令仍可以通过ADO中的命令对象（Command）来执行。

ASP示例

下列的ASP示例使用ADO于"Phonebook"表中选取"Name"字段，其中"PhoneNumber"等于"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
这相当于下列的ASP code，以plain SQL取代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)

C语言例子

AfxOleInit();//COM库的初始化#import   "c:\program files\common files\system\ado\msado15.dll "   no_namespace   rename( "EOF ", "adoEOF ") //系统生成msado15.tlh,ado15.tli两个头文件来定义ADO库
  _ConnectionPtr   m_pConnection; //指向Connection对象的指针
  HRESULT   hr; 
  hr   =   m_pConnection.CreateInstance( "ADODB.Connection ");///创建Connection对象 
  if(SUCCEEDED(hr))   
  {   //连接数据库：
      hr   =   m_pConnection-> Open( "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source=test.mdb ", " ", " ",adModeUnknown); //未设置第二个参数UserID、第三个参数Password         
  } 
      //上面一句中连接字串中的Provider是针对ACCESS2000环境的，对于ACCESS97,需要改为:Provider=Microsoft.Jet.OLEDB.3.51; 
       /*第四个参数Options可以取值为:        adModeUnknown:缺省。当前的许可权未设置        adModeRead:只读        adModeWrite:只写        adModeReadWrite:可以读写        adModeShareDenyRead:阻止其它Connection对象以读权限打开连接        adModeShareDenyWrite:阻止其它Connection对象以写权限打开连接        adModeShareExclusive:阻止其它Connection对象打开连接        adModeShareDenyNone:允许其它程序或对象以任何权限建立连接*/