`
loln23loln
  • 浏览: 12970 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

ADO

 
阅读更多

ADO
2010年06月04日
  百科名片微软公司的ADO (ActiveX Data Objects) 是一个用于存取数据源的COM组件。它提供了编程语言和统一数据访问方式OLE DB的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。访问数据库的时候,关于SQL的知识不是必要的,但是特定数据库支持的SQL命令仍可以通过ADO中的命令对象来执行。ADO被设计来继承微软早期的数据访问对象层,包括RDO (Remote Data Objects) 和DAO(Data Access Objects)。ADO在1996年冬被发布。ADO也是一只活跃于1986-1996年的摇滚乐队。
  目录[隐藏]
  ADO 对象总结 ADO下载 ADO是如何组织起来的? ADO 2.0特点 ADO 对象编程模型 ADO使用方法 ADO编程应用 1.显式定义对象类型 2.绑定列到具体的字段对象 3.用SQL语句和存储过程进行数据更新 4.使用集合操作单条的SELECT语句 5.只查询所需要的数据 6.正确选择游标的位置、类型和锁方式 7.调整记录集对象的CacheSize属性 8.定义Command对象的参数 9.使用原始的OLE DB提供者 10.断开Connection连接 11.使用adExecuteNoRecords选项 12.使用session/connection缓冲池用MFC OLE创建ADO应用 用COM API创建ADO工程 利用ADO ACCESS数据库 ADO乐队ADO 对象总结ADO下载ADO是如何组织起来的?ADO 2.0特点ADO 对象编程模型ADO使用方法ADO编程应用 1.显式定义对象类型 2.绑定列到具体的字段对象 3.用SQL语句和存储过程进行数据更新 4.使用集合操作单条的SELECT语句 5.只查询所需要的数据 6.正确选择游标的位置、类型和锁方式 7.调整记录集对象的CacheSize属性 8.定义Command对象的参数 9.使用原始的OLE DB提供者 10.断开Connection连接 11.使用adExecuteNoRecords选项 12.使用session/connection缓冲池用MFC OLE创建ADO应用用COM API创建ADO工程利用ADO ACCESS数据库ADO乐队
    
  [编辑本段]
  ADO 对象总结  (1)ADO包含一些顶层的对象:
    连接,代表到数据库的连接
    记录集,代表数据库记录的一个集合
    命令,代表一个SQL命令
    记录,代表数据的一个集合
    流,代表数据的顺序集合
    错误,代表数据库访问中产生的意外
    字段,代表一个数据库字段
    参数,代表一个SQL参数
    属性,保存对象的信息
    ADO组件的使用需要利用支持COM的高级语言,例如ASP中的VBScript或者Visual Basic,甚至Delphi,微软的竞争对手Borland的一个产品,现在也支持使用ADO来访问数据库。
    在新的编程框架.NET Framework中, 微软也提供了一个面向Internet的版本的ADO,称为ADO.NET。其对象模型和传统ADO差别很大。 ADO是一种面向对象的编程接口,微软介绍说,与其同IBM和Oracle提倡的那样,创建一个统一数据库,不如提供一个能够访问不同数据库的统一接口,这样会更加实用一些。为实现这一目标,微软在数据库和微软的OLE DB中提供了一种“桥”程序,这种程序能够提供对数据库的连接。 开发人员在使用ADO时,其实就是在使用OLE DB,不过OLE DB更加接近底层。ADO的一项属性远程数据服务,支持“数据仓库”ActiveX 组件以及高效的客户端缓存。作为ActiveX的一部分,ADO也是COM组件的一部分。ADO是由早期的微软数据接口??远程数据对象RDO演化而来的。RDO同微软的ODBC一同连接关系数据库,不过不能连接非关系数据库。
    ADO向我们提供了一个熟悉的,高层的对OLE DB的Automation封装接口。对那些熟悉RDO的程序员来说,你可以把OLE DB比作是ODBC驱动程序。如同RDO对象是ODBC驱动程序接口一样,ADO对象是OLE DB的接口;如同不同的数据库系统需要它们自己的ODBC驱动程序一样,不同的数据源要求它们自己的OLE DB提供者(OLE DB provider)。目前,虽然OLE DB提供者比较少,但微软正积极推广该技术,并打算用OLE DB取代ODBC。
    ADO向VB程序员提供了很多好处。包括易于使用,熟悉的界面,高速度以及较低的内存占用(已实现ADO2.0的Msado15.dll需要占用342K内存,比RDO的Msrdo20.dll的368K略小,大约是DAO3.5的Dao350.dll所占内存的60%)。同传统的数据对象层次(DAO和RDO)不同,ADO可以独立创建。因此你可以只创建一个"Connection"对象,但是可以有多个,独立的"Recordset"对象来使用它。ADO针对客户/服务器以及WEB应用程序作了优化。
    ADO (ActiveX Data Objects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。例如,如果您希望编写应用程序从DB2或Oracle数据库中向网页提供数据,可以将ADO程序包括在作为活动服务器页(ASP)的HTML文件中。当用户从网站请求网页时,返回的网页也包括了数据中的相应数据,这些是由于使用了ADO代码的结果。
    象Microsoft的其它系统接口一样,ADO是面向对象的。它是Microsoft全局数据访问(UDA)的一部分,Microsoft认为与其自己创建一个数据,不如利用UDA访问已有的数据库。为达到这一目的,Microsoft和其它数据库公司在它们的数据库和Microsoft的OLE数据库之间提供了一个“桥”程序,OLE数据库已经在使用ADO技术。ADO的一个特征(称为远程数据服务)支持网页中的数据相关的ActiveX控件和有效的客户端缓冲。作为ActiveX的一部分,ADO也是Microsoft的组件对象模式(COM)的一部分,它的面向组件的框架用以将程序组装在一起。
    ADO从原来的Microsoft数据接口远程数据对象(RDO)而来。RDO与ODBC一起工作访问关系数据库,但不能访问如ISAM和VSAM的非关系数据库。
    ADO 是对当前微软所支持的数据库进行操作的最有效和最简单直接的方法,它是一种功能强大的数据访问编程模式,从而使得大部分数据源可编程的属性得以直接扩展到你的Active Server 页面上。可以使用ADO 去编写紧凑简明的脚本以便连接到 Open Database Connectivity (ODBC) 兼容的数据库和 OLE DB 兼容的数据源,这样 ASP 程序员就可以访问任何与 ODBC 兼容的数据库,包括 MS SQL SERVER、Access、 Oracle 等等。
    比如,如果网站开发人员需要让用户通过访问网页来获得存在于IBM DB2或者Oracle数据库中的数据,那么就可以在ASP页面中包含ADO程序,用来连接数据库。于是,当用户在网站上浏览网页时,返回的网页将会包含从数据库中获取的数据。而这些数据都是由ADO代码做到的。
    ADO是一种面向对象的编程接口,微软介绍说,与其同IBM和Oracle提倡的那样,创建一个统一数据库,不如提供一个能够访问不同数据库的统一接口,这样会更加实用一些。为实现这一目标,微软在数据库和微软的OLE DB中提供了一种“桥”程序,这种程序能够提供对数据库的连接。 开发人员在使用ADO时,其实就是在使用OLE DB,不过OLE DB更加接近底层。ADO的一项属性??远程数据服务,支持“数据仓库”ActiveX 组件以及高效的客户端缓存。作为ActiveX的一部分,ADO也是COM组件的一部分。ADO是由早期的微软数据接口??远程数据对象RDO演化而来的。RDO同微软的ODBC一同连接关系数据库,不过不能连接非关系数据库。
  [编辑本段]
  ADO下载  目前ADO1.5版已经可以从微软网站免费下载。到目前为止,微软网站仍是你获取有关ADO最新信息的最佳场所。ADO1.5是作为OLE DB SDK的一部分提供的。
    在下载之前请先确认OLE DB SDK提供的各项特性。下载文件大约有15M,如果完全安装的话要占用80M的硬盘空间。如果你只对ADO感兴趣,就选择最小安装,这样只会占用你15M的硬盘空间。
    在这里你可以找到许多关于ADO的示例代码和文章,尤其是在"Workshop"系列的文章中。你也可以从本站下载ADO2.5的帮助文件。
    尽管OLE DB SDK提供自己的ADO帮助文件,你会发现ADO1.0的帮助文件更易于使用。同时它还向你提供ADO对象模型的图示
  [编辑本段]
  ADO是如何组织起来的?  以前的对象模型,如DAO和RDO是层次型的。也就是说一个较低的数据对象如Recordset是几个较高层次的对象,如Environment和QueryDef,的子对象。在创建一个QueryDef对象的实例之前,你不能创建DAO Recordset对象的实例。但ADO却不同,它定义了一组平面型顶级对象.
    最重要的三个ADO对象是Connection, Recordset和Command. 本文将主要介绍Connection和Recordset这两个对象。每个Connection的属性定义了与数据源的连接。Recordset对象接收来自数据源的数据。Recordset可以与Connection一起起使用,先建立一个连接,然后获取数据。尽管如此,Recordset也可以被单独创建,其Connection参数可以在Open属性定义。
  [编辑本段]
  ADO 2.0特点  对于ADO1.5以前包括1.5的版本来说,从功能的角度来看RDO和ADO不是完全相等的.等同就意味着你可以通过这两种方法解决同样的问题;它不是指存在重命名的或者优化的功能相同的对象.因此,移植到ADO 不是一个简单的事情.从另一方面来说,一旦你熟练掌握了RDO或DAO技术的话,学习ADO是件相当容易的事情.
    ADO 2.0的新特性包括事件处理,记录集的延续,分层目录结构指针和数据成形,分布式事务处理,多维数据,远程数据服务(RDS),以及对C++和Java的支持的增强.在钻研一些Visual Basic代码的时候将会见到所有的这些特性.当使用Visual J++时,我将举例说明新的Windows Foundation Classes(WFC)是如何支持ADO的.ADO的最让人激动的是在Visual Studio 6.0中的任何开发工具中你都可以找到对它的充分的支持.
  [编辑本段]
  ADO 对象编程模型  连接数据源 (Connection),可选择开始事务。
    可选择创建表示 SQL 命令的对象 (Command)。
    可选择指定列、表以及 SQL 命令中的值作为变量参数 (Parameter)。
    执行命令(Command、Connection 或 Recordset)。
    如果命令以行返回,将行存储在存储对象中 (Recordset)。
    可选择创建存储对象的视图以便进行排序、筛选和定位数据 (Recordset)。
    编辑数据。可以添加、删除或更改行、列 (Recordset)。
    在适当情况下,可以使用存储对象中的变更对数据源进行更新 (Recordset)。
    在使用事务之后,可以接受或拒绝在事务中所做的更改。结束事务 (Connection)。
  [编辑本段]
  ADO使用方法  一旦安装了ADO,在VB的工程->引用对话框中你就可以看到象下图所示的东西了:
    选择 "ActiveX Data Objects 1.5 Library" (ADODB).在其下的 "ADO Recordset 1.5 Library"是一个客户端的版本(ADOR),它定义了有聚的数据访问对象。ADOR 对于客户端的数据访问来说是足够的了,因为你不需要Connection对象来建立与远程数据源的联系。
    如果你想要访问更多的外部数据源,你需要安装这些外部数据源自己的OLE DB Provider,就象你需要为新的数据库系统安装新的ODBC驱动程序一样。如果该外部数据源没有自己的OLE DB Provider,你就得使用OLE DB SDK来自己为这个外部数据源创建一个OLE DB Provider了。这已不是本文讨论的范围了。
    示例
    下面的示例代码以Northwinds数据库作为远程数据源,然后用ADO来访问它。首先在控制面板中打开“32位数据源”,单击“添加”按钮。在弹出的对话框中选择 "Microsoft Access Driver (*.mdb)" 作为数据源驱动程序。
    然后按下图所示,在对话框中填写下面的内容
    选择数据库Northwinds所在路径。单击完成,退出ODBC设备管理器。
    启动一个新的VB工程,在窗体的Load事件中输入下面的代码:
    Private Sub Form_Load()
    Dim cn As ADODB.Connection
    Set cn = New ADODB.Connection
    'Set Connection properties
    cn.ConnectionString = "DSN=RDC Nwind;UID=;PWD=;"
    cn.ConnectionTimeout = 30
    cn.Open
    If cn.State = adStateOpen Then _
    MsgBox "Connection to NorthWind Successful!"
    cn.Close
    End Sub
    按F5运行程序,看看,一个消息框弹出来告诉你连接成功了。请注意,这里我特别注明了是ADODB.Connection,而不是ADOR.Connection,这样做是为了将二者区分开(如果你引用了ADODB和ADOR的话,这样做很有必要)。连接字符串看上去同RDO的连接字符串差不多。事实上,二者确实差不多。
    如果我们要访问一个SQL server数据库,你的Connection代码看上去应象下面所示:
    '设置连接属性cn.Provider = "MSDASQL"
    cn.ConnectionString = "driver={SQL Server};" & "server=prod1;uid=bg;pwd=;database=main"
    cn.Open
    "Provider"属性指向SQL Server的OLE DB Provider.
    回到我们的示例程序,让我们创建一个Recordset对象来访问“Orders”表,并从该表的"ShipCountry"字段中产生头十个不重复的国家名。修改窗体Load事件中的代码,让它看上去象下面这样。
    Private Sub Form_Load()
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim sSQL As String
    Dim sOut As String
    Dim Count As Integer
    Set cn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    ' Set properties of the Connection.
    cn.ConnectionString = "DSN=RDC Nwind;UID=;PWD=;"
    cn.ConnectionTimeout = 30
    cn.Open
    If cn.State = adStateOpen Then _
    MsgBox "Connection to NorthWind Successful!"
    sSQL = "SELECT DISTINCT Orders.ShipCountry FROM Orders"
    Set rs = cn.Execute(sSQL)
    'Enumerate the recordset
    sOut = ""
    For Count = 1 To 10
    sOut = sOut & rs("ShipCountry") & vbCrLf
    rs.MoveNext
    Next Count
    MsgBox sOut, vbExclamation, "ADO Results"
    cn.Close
    End Sub
    运行程序后,你会看到如下图所示的消息框。
    不幸的是,目前这个Recrodset对象是只读的和forward cursor。如果你想要获取更多的功能,你需要创建一个独立的Recordset对象,该对象拥有自己的Connection属性,就象下面的代码所示:
    Private Sub Form_Load()
    Dim rs As ADODB.Recordset
    Dim sSQL As String
    Dim sOut As String
    Dim Count As Integer
    Set rs = New ADODB.Recordset
    sSQL = "SELECT DISTINCT Orders.ShipCountry FROM Orders"
    rs.Open sSQL, "DSN=RDC Nwind;UID=;PWD=;", adOpenDynamic
    'Report Recordset Connection information
    MsgBox rs.ActiveConnection, , "Connection Info"
    'Enumerate the recordset
    sOut = ""
    For Count = 1 To 10
    sOut = sOut & rs("ShipCountry") & vbCrLf
    rs.MoveNext
    Next Count
    MsgBox sOut, vbExclamation, "ADO Results"
    rs.Close
    End Sub
    上面代码返回的结果同前例一样,但是本代码中的Recordset是独立的。这一点是DAO和RDO做不到的。Recordset对象的Open方法打开一个代表从SQL查询返回的记录的游标。虽然你可以用Connection对象同远程数据源建立连接,但请记住,在这种情况下,Connection对象和Recordset对象是平行的关系。
    总结
    本文仅向你介绍了ADO强大的功能的冰山一角。微软承诺,在将来ADO将会取代DAO和RDO。所以现在你应该考虑如何将你的数据访问代码投向ADO的怀抱。这种转变不会很痛苦,因为ADO的语法同现有的语法差不多。也许微软或第三方会在将来开发出转换向导来简化这一转换过程。从现在起,你就应开发纯ADO代码的程序。你也可以继续使用DAO或RDO代码来开发你的程序,但落伍的感觉总是不好的。
  [编辑本段]
  ADO编程应用  ADO(ActiveX Data Objects)是基于组件的数据库编程接口,它是一个和编程语言无关的COM组件系统。本文主要介绍用ADO编程所需要注意的技巧和在VC下进行ADO 编程的模式,并对C++Extensions进行了简单的讨论,希望对ADO开发人员有一定的帮助作用。因为ADO是一个和编程语言无关的COM组件系统,所以这里讨论的要点适用于所有的编程语言和编程环境,比如:VB、VBScript、VC、Java等等。 1.显式定义对象类型  实际上,这条准则不仅适用于ADO编程,也适用于其他的与COM对象相关的编程。因为如果一开始就定义变量类型,则编译器在编译的时候就可以知道变量的类型,此时编译器实际上是采用vtable偏移的方式来得到具体的COM对象包含的方法的地址(这一点和 C++中虚函数的地址获取方式类似);但如果一开始不指定变量类型的话,比如简单地采用如下的语句:
    DIM myCon as Object
    或者是:
    DIM myCon
    这样,编译器在编译的时候就不能得到变量的类型,而只能在运行的时候动态地得到方法的信息(通过使用接口IDispatch的Invoke方法来实现),如此为了得到方法的地址和相关的变量情况就需要在内部进行两次调用,无疑会降低程序的运行速度。 2.绑定列到具体的字段对象  在程序开始时就建立对字段对象的引用,可以避免在每次得到记录后,再在Recordset::Fields中进行查找而增加系统的开销。
    例如,可以采用如下所示的代码:
    Private Sub TblBrowse_Click()
    Dim fld1 As ADODB.Field
    Dim fld2 As ADODB.Field
    Dim rs As ADODB.Recordset
    set rs=g_cn.execute(...)
    'g_cn为全局对象adodb.connection
    Set fld1 = rs.Fields(“id”) '数据表的字段
    Set fld2 = rs.Fields(“name”) ’数据表的字段
    If rs.BOF = False Then
    While rs.BOF = False
    Debug.Print fld1.Value
    Debug.Print fld2.Value
    rs.MoveNext
    Wend
    End If
    rs.Close
    End Sub 3.用SQL语句和存储过程进行数据更新  尽管采用Recordset对象来更新数据是非常方便的,但是它的开销也大,通过数据源对象返回的查询集不仅包含了数据,而且也包含了元数据(metadata), 在有些时候元数据可能比数据本身还要大,所以最好采用SQL语句来更新数据。还有要使用存储过程而不是单一的SQL语句来获取信息。因为存储过程是在服务器端执行的,只把结果返回到客户端,这样一方面可以降低网络进行数据交互的开销,另一方面使系统更加容易维护,并且能保持数据的一致性。 4.使用集合操作单条的SELECT语句  在使用游标时,最好使用集合的方法对单条的SELECT语句进行操作。Recordset:: get_Collect方法和Recordset::put_Collect方法是Recordset 对象的快捷方式,可以快速地得到一个字段的值而不需要获得关于一个字段的引用。例如,可以采用如下代码:
    Sub Collect()
    Dim rs As New Recordset
    rs.ActiveConnection = “...”
    rs.Source=“一条SQL查询语句”
    rs.Open
    Debug.Print rs.Collect(0),rs.Collect(1),rs.Collect(2)
    Debug.Print rs!au_id, rs!au_fname, rs!au_lname
    End Sub 5.只查询所需要的数据  尽管很多开发人员都习惯采用“SELECT * FROM TBL”的模式进行查询,但是为了提高系统的效率,如果只需要其中某几个字段的值,最好把这几个字段直接写出来,同时需要限定返回记录集的范围(通过WHERE子句进行限定)。 6.正确选择游标的位置、类型和锁方式  如果只需要按顺序读取记录并且不需要滚动和更新记录,最好使用服务器端游标(adUseServer)、仅向前游标(adOpenForwardOnly)和读加锁(adLockReadOnly),这样可以获得最好的性能。如果需要滚动记录,采用客户端游标(adUseServer)会比采用服务器端游标所得到的性能要好,因为ADO系统默认是采用服务器端游标类型。当然如果数据集合相当大,采用服务器端游标的性能会好一些。同时需要注意:如果采用客户端游标,最好只采用读加锁(adLockReadOnly)的锁类型,因为如果需要更新数据,客户端游标引擎需要得到额外的信息(元数据),而获取这个信息的代价是非常昂贵的。 7.调整记录集对象的CacheSize属性  ADO使用记录集对象的CacheSize属性来决定提取和缓存的记录的数目,当在缓存的范围内浏览数据时,ADO就只从缓存中提取数据。当要浏览的数据超出缓存范围的时候,ADO就释放当前缓存,提取下一些记录(提取的数目为CacheSize所指定的大小),所以必须根据具体的应用程序的情况,来设定CacheSize的大小,保证得到最佳的性能。 8.定义Command对象的参数  在许多数据源中,得到参数信息和执行命令的代价几乎是一样的,所以最好自己在程序中定义好Command参数(也就是说要定义好参数的名称、类型和方向信息),避免一些从数据提供者(Provider)那里获取信息的操作。 9.使用原始的OLE DB提供者  MDAC对许多数据源提供了原始的数据提供者,比如SQL Server、Oracle和Access数据库,这样就不需要再通过ODBC来获取数据(也就是说不需要再通过ODBC驱动这一层),这样的好处是能更快地得到数据,并且能降低磁盘和内存的开销。 10.断开Connection连接  如果使用客户端游标,就要断开Connection连接。ADO有一个特征是当使用客户端游标操作 Recordset记录集的时候,不需要和服务器保持联系。所以可以充分利用这个特性降低服务器端的开销(服务器就不需要维护这些连接了)。当操作完记录集需要更新时,可以重新和数据库进行连接来更新数据。为了创建一个可以断开连接的记录集,同时需要使用静态游标(adOpenStatic)和批处理的加锁模式(adLockBatchOptimistic)。下面是有关处理的VC代码:
    pRs.CreateInstance(__uuid(Recordset));
    pRs->CursorLoction=adUseClient;
    pRs->Open(strCmdText,strConnection,adOpenStatic,adLockBatchOptimistic,adCmdText);
    pRs->PutRefActiveConnection(NULL);
    //对记录集对象pRs进行操作
    //重新和数据库建立连接
    pRs->PutRefActiveConnectio(pCon);
    //批量更新数据
    pRs->UpdateBatch(adAffectAll);
    需要注意的是:当执行批量更新时,必须自己处理数据冲突问题,因为更新数据时,其他用户也可能同时正在对该数据进行操作。 11.使用adExecuteNoRecords选项  如果不需要返回记录,要使用adExecuteNoRecords选项。ADO 2.0包括一个新的执行选项称为adExecuteNoRecords。当使用该选项的时候,ADO就不会创建记录集对象,不设置任何游标属性。数据提供者因为不需要认证集合的属性而使性能得到优化。具体的例子如下:
    con.Execute “insert into tbl values(fv1, fv2) ”, , adExecuteNoRecords
    对仅有一条的执行语句采用Connection::Execute方法比使用Recordset::Open方法或者是Command::Execute方法的效果要好,因为ADO不保留任何命令状态的信息,因此执行性能就有所改进。 12.使用session/connection缓冲池  因为数据库的打开和关闭非常消耗系统资源,因此,使用连接池对基于多层的应用的性能会有很大的提高。当使用MDAC的时候,开发人员本身并不需要考虑对数据库连接的缓存,MDAC会自动处理它。连接池在两个层次上提供支持:OLE DB sessions和ODBC连接。如果使用ADO,数据库连接会自动被OLE DB session缓冲池所缓存;如果使用ODBC,可以利用在ODBC数据源管理中新的连接缓冲池选项对ODBC缓冲进行设置。
    实现方法
    我们知道,在VB下进行基于ADO的编程相对比较简单,只要通过reference加载了适当的类型库后,就可以正常地调用ADO对象。但是对于VC下的基于ADO的数据库开发就稍微复杂一些。VC中实现对ADO操作通常有三种方法:
    
分享到:
评论

相关推荐

    ADO帮助文档--ADO帮助文档

    ADO帮助文档ADO帮助文档ADO帮助文档ADO帮助文档ADO帮助文档ADO帮助文档ADO帮助文档ADO帮助文档ADO帮助文档ADO帮助文档ADO帮助文档ADO帮助文档ADO帮助文档ADO帮助文档ADO帮助文档ADO帮助文档ADO帮助文档ADO帮助文档...

    [ADO]ADO 程序员参考.rar

    \[ADO]ADO 程序员参考.rar\[ADO]ADO 程序员参考.rar

    msado15.dll 32位和64位各版本的ADO都有,最新整理至Win10系统

    msado15.dll 32位和64位各版本的ADO都有,整理更新至Win10操作系统。 msado15.dll版本号说明: 版本号以5.0开头的或含有 nt 一般是windows2000的文件。 版本号以5.1开头的或含有 xp、xpsp1、xpsp2、xpsp3 信息的...

    VC下利用CADO Class(ado2.cpp和ado2.h)和DataGrid分页显示数据库access内容

    包括两个文件ado2.h和ado2.cpp,而网上关于使用这个类进行ADO数据库操作的文章不多。 3、VC6.0下的datagrid貌似没有.net的那么强大,也没有VB6那么好用。连分页都显得麻烦,ADO自带的虚拟分页功能好像在datagrid上...

    ADO与ADO_NET编程指南

    近几年来,ADO已经成为在基于Windows 的应用程序中执行数据访问的领先、优选的方法。今天,已经有大量的ADO应用程序付诸应用,许多开发人员已经对ADO开发非常熟练。随着Microsoft .NET Framework的引入,ADO.NET——...

    ADO助手V1.20---一个获取ADO连接字符串,测试SQL命令的辅助软件

    ADO助手---一个获取ADO连接字符串,测试SQL命令的辅助软件 2010-09-06 +初始版本发布 ADO助手---一个获取ADO连接字符串,测试SQL命令的辅助软件 2010-09-06 +初始版本发布 2011-11-09 -修复有时候用DataGrid...

    ADO 超强大数据库操作类(附例程)

    转来的 Carlos Antollini 编写的功能强大、简单易用的ADO操作数据库的类。从繁重的SQL代码中解放,一个函数搞定读取写入。 在工程中添加ado2.h、ado2.cpp两个文件 如果项目之前在XP在编译,在换到WINDOWS7编译时...

    VC++6.0使用ADO开发ACCESS数据库静态库脱机2.0.rar

    本文通过实例演示如何在VC++中使用ADO进行ACCESS数据库编程,并对涉及到的几个概念进行详细解释。 本文不对ADO和ACCESS的基本概念进行详细解释,主要包括以下内容: 第一部分 ADO和ADOX到底是什么,二者的作用和区别...

    msado15.dll 32位和64位各版本的ADO都有

    找了好久终于找到了所有的ADO控件,再也不用为ADO版本不同而发愁了。msado15.dll,32位和64位各版本的ADO都有,从2。0版一直到WIN7的6。XX版

    ado2.h和ado2.cpp文件

    VC++封转的ado文件,帮助实现ado数据库连接等等功能

    ADO全解,ADO全解

    ADO全解,ADO全解ADO全解,ADO全解ADO全解,ADO全解

    Excel_VBA+ADO+SQL入门教程_-_汇总.pdf

    后提及的 ADO 并不是非学不可的,非学不可的是基础操作、函数、透视表、图表…… 然而大数据时代,对于另外相当一部分表族而言,Excel 用久了,慢慢的,会意 识到一个大问题;曾经在你心中无比强大的 Excel 函数,...

    Delphi用ADO操作数据库完整示例

    Delphi用ADO操作数据库完整示例.docDelphi用ADO操作数据库完整示例.docDelphi用ADO操作数据库完整示例.docDelphi用ADO操作数据库完整示例.docDelphi用ADO操作数据库完整示例.docDelphi用ADO操作数据库完整示例....

    ADO.NET本质论

    讲解了数据结构,演示了如何用ADO.NET来解决具体的数据访问问题。重点讨论了ADO.NET如何有效地平衡"功能的泛化"和"执行效率",以及它如何解决对扩展性、并发性和可靠性的要求。针对其他数据访问API(包括OLE DB,ADO...

    ADO中文帮助.rar

    欢迎使用 ADO Microsoft® ActiveX® Data Objects (ADO) 使您的客户端应用程序能够通过 OLE DB 提供者访问和操作数据库服务器中的数据。 ADO 程序员参考 ADO 支持用于建立客户端/服务器和基于 Web 的应用程序的...

    ADO_QT_qtaccess_ADO_ACCESS数据库

    QT通过ADO形式操作access数据库的封装类,亲测可用。

    ADO.NET 4从入门到精通

    《ADO.NET 4从入门到精通》主要内容简介:ADO.NET是windows开发平台上的核心数据技术之一。《ADO.NET 4从入门到精通》是microsoft ADO.NET 4的入门教程,旨在帮助visual basic和c#开发人员了解ADO.NET及相关技术的...

    自学VC++2010实例【003】;用ADO方法在ACCESS2010数据库中修改一条记录

    在VC++2010用ADO方法在ACCESS2010数据库中修改一条记录。【要在机器中安装Microsoft.ACE.OLEDB.12.0引擎,网上有下载的】。 本实例参照清华大学出版社的《Visual C++范例开发大全》,ISBN: 978-7-302-22624-6,作者:...

    ADO.NET高级编程

    ADO.NET是Microsoft最新推出的数据访问技术。作为.NET框架的一部分,ADO.NET绝不仅仅是前一版本ADO的简单升级。ADO.NET提供了一组.NET类,这些类不仅可以帮助我们对各种数据源进行高效访问,使我们能够对数据...

    ADO封装类ADO封装类

    ado ado ado ado ado ado ado adoado ado ado ado ado ado ado adoado adoado ado ado ado

Global site tag (gtag.js) - Google Analytics