fbpx
维基百科

ADO

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

版本 编辑

ADO被设计来替代微软早期的数据访问对象层(包括RDO(Remote Data Objects)和DAO(Data Access Objects))。ADO在1996年8月与OLE DB一起被发布。

ADO文件通常保存在C:\Program Files (x86)\Common Files\System\ado\目录下。

  • Microsoft Office 2000中发布了ActiveX Data Objects 2.1 Library(MSADO21.TLB)。
  • Microsoft Office 2002中发布了ActiveX Data Objects 2.5 Library(MSADO25.TLB)。引入了Record对象、Stream对象、 URL绑定;并支持识别URL模式的OLE DB provider
    • Microsoft ADO Extensions 2.5 for DDL and Security Library(MSADOX.DLL)包含了下述object与collection:Catalog、Column、Group、Index、Key、Procedure、Property、Table、User object and Users collection、View。
    • Microsoft Jet and Replication Objects 2.5 Library(MSJRO.DLL)包括了Filter object与collection,JetEngine object,Replica object。[1]
  • ActiveX Data Objects 2.6 Library(MSADO26.TLB)引入了CubDef.GetSchemaObject方法、Command流、Dialect属性、Command.Execute方法、Field statusvalues、NamedParameters属性、Resultsets in streams、Single row resultset。
  • ActiveX Data Objects 2.7 Library(MSADO27.TLB)支持64位CPU
  • ActiveX Data Objects 2.8 Library(MSADO28.TLB)于2003年8月随Windows Server 2003操作系统发布,作为Microsoft Data Access Components (MDAC) 2.8的组成部分。未引进任何新特性,但做了很多安全方面的补丁。
  • ADO 6.0(MSADO60.TLB) 包含在 Windows Vista中,作为Windows Data Access Components (Windows DAC) 6.0的组成部分。功能上ADO 6.0等价于ADO 2.8.
  • ADO 6.1(MSADO15.dll) :2011年10月发布。文件名使用了15这个老号。因为Windows 7 SP1的ADO GUID改变了,导致在此操作系统编译的使用了ADO的软件可以在Windows 7 SP1上运行,但却无法在Windows 7 Release版或Windows Vista或Windows XP上运行。[2]

2003年后在新的编程框架.NET Framework中,微软提供了一个面向Internet的版本的ADO,称为ADO.NET,其对象模型和ADO差别很大,基本上需要重新彻底学习。

版本 发布日期 包括 特性 安全问题
1.0 1996年8月
  • ODBC 3.0
  • OLE DB 1.1
  • ADO 1.0
  • ADC 1.0
  • ODBC drivers for Access/Jet, SQL Server ,Oracle databases

No bulletin发布

1.5 1997年9月
  • Microsoft Internet Explorer 4.0
  • Internet Client SDK 4.0
  • ODBC 3.5
  • OLE DB 1.5
  • ADO 1.5
  • RDS 1.5 (取代ADC 1.0)
Template:Mssb
2.0 1998年7月1日
  • Visual Studio 98
  • Data Access 2.0 SDK
  • ODBC 3.5 SDK
  • OLE DB 1.5 SDK
  • OLE DB for OLAP Specification
Template:Mssb
2.1 1998年7月11日
  • SQL Server 7.0
  • SQL Server 6.5 SP5
  • ADO 2.1
  • RDS 2.1
  • OLE DB 2.1
  • OLE DB Provider for ODBC, SQL Server and Oracle
  • JRO 2.1
  • ODBC driver
  • Jet driver
  • RDO
Template:Mssb
2.5 2000年2月17日
  • Windows 2000
  • ADO 2.5
  • ADO MD 2.5
  • ADOX 2.5
  • RDS 2.5
  • OLE DB 2.5
  • OLE DB Provider for the ODBC driver for:
    • SQL
    • Server
    • Site Server Search
    • Internet Publishing
    • Jet 4.0 (Access 2000)
    • Oracle
    • Indexing Services (Index Server)
    • Microsoft Data Shaping Services
    • OLAP Services
    • DTS Packages
    • Microsoft Directory Services
    • Server DTS Flat File
    • OLE DB Simple Provider
  • JRO 2.5
  • ODBC 3.51
  • an ODBC driver for
    • Microsoft Access
    • SQL Server
    • Microsoft Excel
    • Text
    • Visual FoxPro
    • FoxPro VFP
    • dBase
    • dBase VFP
    • Paradox
    • Oracle
  • Jet drivers for:
    • Excel
    • Microsoft Exchange
    • Access
    • text files
    • Lotus 1-2-3
    • Paradox
    • xBase
Template:Mssb
2.6 2000年9月
  • SQL Server 2000
Not included (manually installed):
  • Microsoft Jet
  • Microsoft Jet OLE DB Provider
  • ODBC Desktop Database Drivers
Template:Mssb
2.7 2001年10月
  • Windows XP
  • 支持64位系统
  • Template:Mssb
  • Template:Mssb
  • Template:Mssb
  • Template:Mssb
2.8 2003年8月
  • Windows Server 2003

bug修复

  • Template:Mssb
  • Template:Mssb
2.8 SP1 2005年5月
  • SQL Server 2000 SP4
  • Windows XP SP2

bug修复

2.8 SP2 2005年3月
  • Windows Server 2003 SP1
  • 兼容支持MSJRO
9.0 从未发布
  • Visual Studio 2005 Beta 1
  • SQL Server 2005 Beta 1 [3]
Windows DAC 6.0 2006年11月
  • 仅改变了版本号
  • 难以兼容MSJRO
ADO 6.1 2011年10月
  • Windows 7 SP1
  • 适用于此后版本操作系统

Microsoft.Jet.OLEDB.X.0和Microsoft.ACE.OLEDB.1Y.0的区别:

  • Jet引擎可以访问office 97-2003,但是无法访问office 2007。ACE引擎是与Office 2007一起发布的数据库连接组件,可以访问Office 2007或Office 97-2003。
  • ACE引擎可以访问正在打开的Excel文件,Jet引擎不能。

架構 编辑

ADO包含12个对象:

  • 连接(Connection),代表到数据存储的一个通过OLE DB的连接。该对象的open方法以一个连接字符串作为参数,建立一个数据连接。连接字符串例子:"Provider='SQLOLEDB';Data Source='TheSqlServerName'; Initial Catalog='Northwind';Integrated Security='SSPI';"
  • 命令(Command),一个SQL语句可以直接发给OLE DB provider,通过CommandText属性。发送参数化查询或者存储过程通过Parameter对象或者Parameters集合。执行一个查询并返回结果作为数据集对象通过Execute方法。
  • 记录集(Recordset),代表数据记录的结果。包含了Fields与Properties两个集合。修改了其中的数据后,调用Update或UpdateBatch方法把改变后的数据提交给数据源。通过AddNew与Update、UpdateBatch方法,可以向数据源增加一条新的记录。通过Delete与Update方法,可以删除数据源的一条记录。CancelUpdate方法用于在Update失败时(如数据库的约束不能满足)显式强制地取消Update操作。修改数据源时有三种方法:
    • Immediate立即:调用Update方法会把数据立即修改到数据源中。记录集需要采用乐观锁(adLockOptimistic)或者悲观锁(adLockPessimistic)预先锁定。前者是在修改数据源时对记录加锁并检查是否保持了数据完整性;后者是在打开记录集时即把这部分数据上锁。
    • Batch批方式:使用批量乐观锁adLockBatchOptimistic,每次调用Update方法时仅在临时缓冲区中修改数据。最终调用UpdateBatch把修改数据写入数据源。在此之前,可以用UpdateCancel放弃在临时缓冲区中的修改。
    • Transaction事务:如果OLE DB provider支持事务操作,可以通过BeginTrans与CommitTrans方法来开始与提交事务。RollbackTrans用于取消事务,把数据库卷回到事务开始状态。
  • 记录(Record),代表数据库的一条记录。包含了Field集合。
  • 流(Stream),代表数据的顺序集合。主要用于RecordSet对象,用于读写字节流。常用于把recordset保存为XML格式,向OLE DB provider发送命令文本(替代CommandText对象)或者包含二进制或文本内容。
  • 错误(Error),代表数据库访问中OLE DB提供的错误
  • 字段(Field),代表一个数据库字段
  • 参数(Parameter),代表一个参数,用于SQL或存储过程。
  • 属性(Property),保存对象的信息
  • ImmediateThe recordset is locked using the adLockOptimistic or adLockPessimistic lock.
  • Batch:recordset使用adLockBatchOptimistic上锁。每次Update操作在一个临时buffer中修改数据。当UpdateBatch调用时数据才真正修改回数据库。调用UpdateCancel放弃临时buffer中数据。
  • Transaction:如果OLE DB允许事务操作,则BeginTrans、CommitTrans、RollbackTrans可调用

ADO包含4个collection:

  • Fields:包含了Field对象。
  • Properties:包含了Property对象。
  • Parameters:包含了Parameter对象。
  • Errors:被包含在一个Connection对象中。当ADO操作产生一个错误,Errors被清空,然后provider产生的错误作为Error对象保存到这个Errors集合中。

使用 编辑

ADO组件的使用需要利用支持COM的高级语言,例如ASP中的VBScript或者Visual Basic,甚至微软的竞争对手Borland的产品Delphi,,现在也支持使用ADO来访问数据库。

使用ADO存取資料的一些基本步驟:

  1. 创建連接物件去連結資料庫(Create a connection object to connect to the database.)
  2. 创建记录集物件來取得資料(Create a recordset object in order to receive data in.)
  3. 打开連接(Open the connection)
  4. 在记录集中完成SQL語法的描述(Populate the recordset by opening it and passing the desired table name or SQL statement as a parameter to open function.)
  5. 对获取的数据进行搜索/处理操作。
  6. 確定改變資料(Commit the changes you made to the data (if any) by using Update or UpdateBatch methods.)
  7. 關閉记录集(Close the recordset)
  8. 關閉連接(Close the connection)

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:允许其它程序或对象以任何权限建立连接 */ 

ADOX 编辑

ADO包含的对象能够创建、维护、删除给定数据源的记录。但是,创建与管理数据库及其所包含的对象,ADO就力有不逮了。为此,ADOX,即Microsoft ADO Ext. for DDL and Security,提供了这方面的功能,主要包括Data Definition Language(DDL)对象及安全管理。此外,Jet数据库引擎的许多功能都是ADO与ADOX不具备的;JRO,即Microsoft Jet and Replication Objects 2.5 Library提供了这方面的补充功能。

功能 DAO ADO ADOX JRO(MDB's Only)
Create Recordsets
Edit Startup properties
Support ANSI92 SQL
Create Tables
Create New Database
Edit Existing Table properties
Create table relationships
Edit security settings
Support for Compression attribute for column data
Edit stored, basic SQL queries or views
Create permanent queries that are accessible only through code.
Create queries accessible through database container/UI and code.
Compact/Encode database
Refresh Cache
Make Database Replicable
Make Database Replicas
Synchronize Replicas
Edit Database properties
Create custom database properties
Edit table column properties

参考文献 编辑

  1. ^ MSDN KB283115: List of references that you must set when you work with Access 2002. [2015-09-18]. (原始内容于2015-09-30). 
  2. ^ Microsoft Knowledge Base 2640696: An ADO-based application that is compiled in Windows 7 SP1 or Windows Server 2008 R2 SP1 does not run in earlier versions of Windows
  3. ^ Chapter 11 Changes (页面存档备份,存于互联网档案馆), supplementary material to "A First Look at SQL Server 2005 for Developers" by Bob Beauchemin, Niels Berglund, and Dan Sullivan.[失效連結]

外部链接 编辑

    參見 编辑

    关于与, 標題相近或相同的条目页, 請見, 消歧義, 微软公司的, activex, data, objects, 是一个用于访问数据源的com组件, 作为高层的编程界面层, 是在ole, db之上, 包含了很多层次化的com对象与集合, collections, 也是一类对象, 在其里面包含了其他层级对象, 允许开发人员编写访问数据的代码而不用关心数据源是如何实现与访问驱动的, 而只用关心到数据库的连接, 访问数据库的时候, 关于sql的知识不是必要的, 但是特定数据库支持的sql命令仍可以通过中的命令对象, c. 关于与 ADO 標題相近或相同的条目页 請見 ADO 消歧義 微软公司的ADO ActiveX Data Objects 是一个用于访问数据源的COM组件 作为高层的编程界面层 ADO是在OLE DB之上 包含了很多层次化的COM对象与集合 Collections 也是一类对象 在其里面包含了其他层级对象 允许开发人员编写访问数据的代码而不用关心数据源是如何实现与访问驱动的 而只用关心到数据库的连接 访问数据库的时候 关于SQL的知识不是必要的 但是特定数据库支持的SQL命令仍可以通过ADO中的命令对象 Command 来执行 目录 1 版本 2 架構 3 使用 4 ASP範例 5 C语言例子 6 ADOX 7 参考文献 8 外部链接 9 參見版本 编辑ADO被设计来替代微软早期的数据访问对象层 包括RDO Remote Data Objects 和DAO Data Access Objects ADO在1996年8月与OLE DB一起被发布 ADO文件通常保存在C Program Files x86 Common Files System ado 目录下 Microsoft Office 2000中发布了ActiveX Data Objects 2 1 Library MSADO21 TLB Microsoft Office 2002中发布了ActiveX Data Objects 2 5 Library MSADO25 TLB 引入了Record对象 Stream对象 URL绑定 并支持识别URL模式的OLE DB provider Microsoft ADO Extensions 2 5 for DDL and Security Library MSADOX DLL 包含了下述object与collection Catalog Column Group Index Key Procedure Property Table User object and Users collection View Microsoft Jet and Replication Objects 2 5 Library MSJRO DLL 包括了Filter object与collection JetEngine object Replica object 1 ActiveX Data Objects 2 6 Library MSADO26 TLB 引入了CubDef GetSchemaObject方法 Command流 Dialect属性 Command Execute方法 Field statusvalues NamedParameters属性 Resultsets in streams Single row resultset ActiveX Data Objects 2 7 Library MSADO27 TLB 支持64位CPU ActiveX Data Objects 2 8 Library MSADO28 TLB 于2003年8月随Windows Server 2003操作系统发布 作为Microsoft Data Access Components MDAC 2 8的组成部分 未引进任何新特性 但做了很多安全方面的补丁 ADO 6 0 MSADO60 TLB 包含在 Windows Vista中 作为Windows Data Access Components Windows DAC 6 0的组成部分 功能上ADO 6 0等价于ADO 2 8 ADO 6 1 MSADO15 dll 2011年10月发布 文件名使用了15这个老号 因为Windows 7 SP1的ADO GUID改变了 导致在此操作系统编译的使用了ADO的软件可以在Windows 7 SP1上运行 但却无法在Windows 7 Release版或Windows Vista或Windows XP上运行 2 2003年后在新的编程框架 NET Framework中 微软提供了一个面向Internet的版本的ADO 称为ADO NET 其对象模型和ADO差别很大 基本上需要重新彻底学习 版本 发布日期 包括 特性 安全问题1 0 1996年8月 ADC IIS 3 0 OLE DB 1 1 SDK OLE DB 1 1 and ADO 1 0 Visual Studio Visual Interdev 1 0 and with Active Server Pages 随IIS 3 0发布 ODBC 3 0 OLE DB 1 1 ADO 1 0 ADC 1 0 ODBC drivers for Access Jet SQL Server Oracle databases No bulletin发布1 5 1997年9月 Microsoft Internet Explorer 4 0 Internet Client SDK 4 0 ODBC 3 5 OLE DB 1 5 ADO 1 5 RDS 1 5 取代ADC 1 0 Template Mssb2 0 1998年7月1日 Visual Studio 98 Data Access 2 0 SDK ODBC 3 5 SDK OLE DB 1 5 SDK OLE DB for OLAP Specification Template Mssb2 1 1998年7月11日 SQL Server 7 0 SQL Server 6 5 SP5 ADO 2 1 RDS 2 1 OLE DB 2 1 OLE DB Provider for ODBC SQL Server and Oracle JRO 2 1 ODBC driver Jet driver RDO Template Mssb2 5 2000年2月17日 Windows 2000 ADO 2 5 ADO MD 2 5 ADOX 2 5 RDS 2 5 OLE DB 2 5 OLE DB Provider for the ODBC driver for SQL Server Site Server Search Internet Publishing Jet 4 0 Access 2000 Oracle Indexing Services Index Server Microsoft Data Shaping Services OLAP Services DTS Packages Microsoft Directory Services Server DTS Flat File OLE DB Simple Provider JRO 2 5 ODBC 3 51 an ODBC driver for Microsoft Access SQL Server Microsoft Excel Text Visual FoxPro FoxPro VFP dBase dBase VFP Paradox Oracle Jet drivers for Excel Microsoft Exchange Access text files Lotus 1 2 3 Paradox xBase Template Mssb2 6 2000年9月 SQL Server 2000 Not included manually installed Microsoft Jet Microsoft Jet OLE DB Provider ODBC Desktop Database Drivers Template Mssb2 7 2001年10月 Windows XP 支持64位系统 Template Mssb Template Mssb Template Mssb Template Mssb2 8 2003年8月 Windows Server 2003 bug修复 Template Mssb Template Mssb2 8 SP1 2005年5月 SQL Server 2000 SP4 Windows XP SP2 bug修复2 8 SP2 2005年3月 Windows Server 2003 SP1 兼容支持MSJRO9 0 从未发布 Visual Studio 2005 Beta 1 SQL Server 2005 Beta 1 3 Windows DAC 6 0 2006年11月 Windows Vista 仅改变了版本号 难以兼容MSJROADO 6 1 2011年10月 Windows 7 SP1 适用于此后版本操作系统Microsoft Jet OLEDB X 0和Microsoft ACE OLEDB 1Y 0的区别 Jet引擎可以访问office 97 2003 但是无法访问office 2007 ACE引擎是与Office 2007一起发布的数据库连接组件 可以访问Office 2007或Office 97 2003 ACE引擎可以访问正在打开的Excel文件 Jet引擎不能 参见 Microsoft Jet Database Engine架構 编辑ADO包含12个对象 连接 Connection 代表到数据存储的一个通过OLE DB的连接 该对象的open方法以一个连接字符串作为参数 建立一个数据连接 连接字符串例子 Provider SQLOLEDB Data Source TheSqlServerName Initial Catalog Northwind Integrated Security SSPI 命令 Command 一个SQL语句可以直接发给OLE DB provider 通过CommandText属性 发送参数化查询或者存储过程通过Parameter对象或者Parameters集合 执行一个查询并返回结果作为数据集对象通过Execute方法 记录集 Recordset 代表数据记录的结果 包含了Fields与Properties两个集合 修改了其中的数据后 调用Update或UpdateBatch方法把改变后的数据提交给数据源 通过AddNew与Update UpdateBatch方法 可以向数据源增加一条新的记录 通过Delete与Update方法 可以删除数据源的一条记录 CancelUpdate方法用于在Update失败时 如数据库的约束不能满足 显式强制地取消Update操作 修改数据源时有三种方法 Immediate立即 调用Update方法会把数据立即修改到数据源中 记录集需要采用乐观锁 adLockOptimistic 或者悲观锁 adLockPessimistic 预先锁定 前者是在修改数据源时对记录加锁并检查是否保持了数据完整性 后者是在打开记录集时即把这部分数据上锁 Batch批方式 使用批量乐观锁adLockBatchOptimistic 每次调用Update方法时仅在临时缓冲区中修改数据 最终调用UpdateBatch把修改数据写入数据源 在此之前 可以用UpdateCancel放弃在临时缓冲区中的修改 Transaction事务 如果OLE DB provider支持事务操作 可以通过BeginTrans与CommitTrans方法来开始与提交事务 RollbackTrans用于取消事务 把数据库卷回到事务开始状态 记录 Record 代表数据库的一条记录 包含了Field集合 流 Stream 代表数据的顺序集合 主要用于RecordSet对象 用于读写字节流 常用于把recordset保存为XML格式 向OLE DB provider发送命令文本 替代CommandText对象 或者包含二进制或文本内容 错误 Error 代表数据库访问中OLE DB提供的错误 字段 Field 代表一个数据库字段 参数 Parameter 代表一个参数 用于SQL或存储过程 属性 Property 保存对象的信息 ImmediateThe recordset is locked using the adLockOptimistic or adLockPessimistic lock Batch recordset使用adLockBatchOptimistic上锁 每次Update操作在一个临时buffer中修改数据 当UpdateBatch调用时数据才真正修改回数据库 调用UpdateCancel放弃临时buffer中数据 Transaction 如果OLE DB允许事务操作 则BeginTrans CommitTrans RollbackTrans可调用ADO包含4个collection Fields 包含了Field对象 Properties 包含了Property对象 Parameters 包含了Parameter对象 Errors 被包含在一个Connection对象中 当ADO操作产生一个错误 Errors被清空 然后provider产生的错误作为Error对象保存到这个Errors集合中 使用 编辑ADO组件的使用需要利用支持COM的高级语言 例如ASP中的VBScript或者Visual Basic 甚至微软的竞争对手Borland的产品Delphi 现在也支持使用ADO来访问数据库 使用ADO存取資料的一些基本步驟 创建連接物件去連結資料庫 Create a connection object to connect to the database 创建记录集物件來取得資料 Create a recordset object in order to receive data in 打开連接 Open the connection 在记录集中完成SQL語法的描述 Populate the recordset by opening it and passing the desired table name or SQL statement as a parameter to open function 对获取的数据进行搜索 处理操作 確定改變資料 Commit the changes you made to the data if any by using Update or UpdateBatch methods 關閉记录集 Close the recordset 關閉連接 Close the connection 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 gt 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 允许其它程序或对象以任何权限建立连接 ADOX 编辑ADO包含的对象能够创建 维护 删除给定数据源的记录 但是 创建与管理数据库及其所包含的对象 ADO就力有不逮了 为此 ADOX 即Microsoft ADO Ext for DDL and Security 提供了这方面的功能 主要包括Data Definition Language DDL 对象及安全管理 此外 Jet数据库引擎的许多功能都是ADO与ADOX不具备的 JRO 即Microsoft Jet and Replication Objects 2 5 Library提供了这方面的补充功能 功能 DAO ADO ADOX JRO MDB s Only Create Recordsets Edit Startup properties Support ANSI92 SQL Create Tables Create New Database Edit Existing Table properties Create table relationships Edit security settings Support for Compression attribute for column data Edit stored basic SQL queries or views Create permanent queries that are accessible only through code Create queries accessible through database container UI and code Compact Encode database Refresh Cache Make Database Replicable Make Database Replicas Synchronize Replicas Edit Database properties Create custom database properties Edit table column properties 参考文献 编辑 MSDN KB283115 List of references that you must set when you work with Access 2002 2015 09 18 原始内容存档于2015 09 30 Microsoft Knowledge Base 2640696 An ADO based application that is compiled in Windows 7 SP1 or Windows Server 2008 R2 SP1 does not run in earlier versions of Windows Chapter 11 Changes 页面存档备份 存于互联网档案馆 supplementary material to A First Look at SQL Server 2005 for Developers by Bob Beauchemin Niels Berglund and Dan Sullivan 失效連結 外部链接 编辑維基教科書中的相關電子教程 en Active Server Pages Database Access Using ADO微软ADO开发信息首页參見 编辑ADO NET 取自 https zh wikipedia org w index php title ADO amp oldid 76776288, 维基百科,wiki,书籍,书籍,图书馆,

    文章

    ,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。