09-excel vba 学习总结 - 通用ado数据访问模型

09-excel vba 学习总结 - 通用ado数据访问模型

ID:33602189

大小:49.82 KB

页数:10页

时间:2019-02-27

09-excel vba 学习总结 - 通用ado数据访问模型_第1页
09-excel vba 学习总结 - 通用ado数据访问模型_第2页
09-excel vba 学习总结 - 通用ado数据访问模型_第3页
09-excel vba 学习总结 - 通用ado数据访问模型_第4页
09-excel vba 学习总结 - 通用ado数据访问模型_第5页
资源描述:

《09-excel vba 学习总结 - 通用ado数据访问模型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ExcelVBA学习总结-通用ADO数据访问模型ADO是基于OLEDB的数据访问技术。它不直接与数据交互,而是把这个任务交给了OLEDB,这么做带来了相当好的可扩展性和适应性。它提供了编程语言和统一数据访问方式;它允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心数据库的连接。由于ADO是基于COM实现的,所以基本上任何语言都可以使用这种数据访问技术,VBA也不例外。一、ADO对象模型  ADO对象库中主要有9个对象,即:Connection、Command、Recordset、Record、Field、Error、Propert

2、y、Parameter和Stream。呈现的形式基本是5大可以独立创建的基本对象,4大对象集合,如下图所示。这9个对象中以Connection、Command、Recordset是最为常用的,很多情况下只需要这三个对象即可完成数据的读取和操作,对于一些很简单的应用,甚至使用它们中的任何一个就可以独立完成任务。下面是各个对象/集合的简略说明:Connection:代表与数据源的连接与操作环境,基本任何的操作都是针对特定的Connection完成的。常用属性:ConnectionString(最重要),ConnectionTimeout,State(连接

3、的状态),Errors常用方法:Open,Execute,Close常用事件:ExecuteComplete,ConnectComplete虽然Command对象与Recordset对象都可以在需要的时候自己隐式的创建一个Connection对象,但是对于需要多次执行命令或查询的场景,还是需要提供一个公共的Connection对象(这个对象的创建与销毁都是需要时间的)来共用。而且对于同一个连接字符串,ADO会采用连接池(存放Connection对象)的方式减少资源的浪费。ConnectionString中主要需要设置Provider,DataSour

4、ce,InitialCatalog,UserID,Password,IntegratedSecurity等值,这些大家应该都很熟悉了。当然有些值(像Provider,Mode这种)也可以在Connection的相关属性中设置。Connection需要先执行Open方法打开后,才能Execute一些命令,最后需要使用Close关闭(通常为了保险起见,需要先检查State,再关闭)以释放资源。Command:代表执行的添加、修改,删除、查询数据源的命令。常用属性:ActiveConnection(设置连接字符串),CommandText(核心属性),Co

5、mmandType,Parameters(一般是存储过程的参数)常用方法:CreateParameter,Execute(可以有返回值)。Recordset:代表执行查询命令后的结果集。常用属性:ActiveConnection(设置连接字符串),BOF,EOF,CursorLocation,Filter,Sort,State,Fields(返回数据的类型)常用方法:Open,Close,Move,MoveFirst,MoveNext,Find,NextRecordset通常配合Range对象的CopyFromRecordset方法获取数据,但是这个

6、方法只能获得值,一般需要匹配Fields属性获取列信息。如果需要精确控制每行每列的值,可以使用RecordCount,Fields以循环的形式获取结果集中的每个值。 For i = 1 To rst.RecordCount    For j = 0 To rst.Fields.Count - 1      Sheet1.Cells(i + 1, j + 1) = rst.Fields(j)    Next j    rst.MoveNext Next i如果返回的结果集为空,则BOF与EOF都为True。通常它们也可以配合Fields精确控制结果集中

7、的每个值。Find方法基本上是支持与SQL中Where语句基本相同的语法。Error与Errors:代表与数据源相关的操作的详细错误信息,Errors是Connection对象的属性。Parameter与Parameters:代表基于参数化查询或存储过程的Command对象相关联的参数或自变量,Parameters是Command对象的属性。Field与Fields:代表使用普通数据类型的数据的列,Fields是Recordset对象的属性。Property与Properties: 代表ADO对象的描述或控制对象的行为,分为内置属性(通过对象直接调用

8、)和动态属性(通过集合使用MyObject.Properties(0)或MyObject.Propertie

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。