adodb 数据库ADoDB用法

【分享成果,追随正能量】在你快乐的时候,如果快乐是建立在别人的痛苦之上,那就不是快乐,而是因缘;当你快乐的时候,如果快乐导致痛苦,那不是快乐,而是痛苦尚未成熟;当你富有时,如果财富来自不正当的行业,那就不叫财富,而是积累的债务;当你觉得自己聪明的时候,如果聪明是用来自私的,那就不是聪明,而是无知。永远不要站在邪恶中,这样你就不会受苦。

VBA数据库解决方案是我的第二套教程,在第一版中已经修改过了。本教程位于中级,是学完词典后的又一个专题。数据库是数据处理的利器。教程中详细介绍了用ADO连接ACCDB和EXCEL的方法和示例操作。教程第一版的修改内容主要是完成所有程序文件的32位和64位OFFICE system测试。

本教程共两卷,84讲,以后会陆续给大家介绍修改后的教程内容。今天的内容是第8讲:ADO连接数据库并打开数据记录集。

adodb 数据库ADoDB用法

第八讲 从创建ADO对象,到打开记录集

大家好。今天,我们将谈论VBA数据库解决方案。第8讲:回顾从创建ADO连接到打开记录集的过程。到我们数据库这一讲结束,已经涵盖了一些基本概念和一些需要知道的基础知识,会逐渐转移到着重解决实际问题上来。今天,我们将简要回顾一下我们以前解释过的内容。

1 数据库的知识点

我们首先讨论了数据库,理解关系数据库中的关系指的是什么很重要。所谓关系就是表,是数据库中的表,所以所谓关系数据库就是由表组成的数据库。

2 创建ADO对象

在我们讲的连接数据库的各种连接方式中,主要讲ADO的连接方式,这是一种比较年轻的连接方式。所谓的ADO就是ActiveX数据对象,对于这个词的解释我们不需要追求太多,只要知道它只是一组数据对象就可以了。连接数据库时,给出了两种ADO连接方式。

第一种办法是前期绑定,即引用”Microsoft ActiveX Data Objects 2.x Library”找到其中字尽可能高一点的版本,创建连接的代码语句如下:

Dim cnADO作为ADODB。“Connection”声明一个ADO对象。

设置cnADO = New ADODB。创建一个ADO对象。

或者在声明中直接创建,代码写为:

Dim cnADO作为新的ADODB。关系

第二种办法:直接的创建,即后期的绑定:代码如下

“Dim cnADO As Object”声明了一个ADO对象

set cnADO = CreateObject(& # 34;ADODB。连接& # 34;)’创建一个ADO对象

3 ADO对象连接到数据库

在我之前的代码中有两种连接方式:

第一种类型:strPath = ThisWorkbook。路径& & # 34;\ mydata.accdb & # 34

cnADO。打开& # 34;提供商=微软。ACE . OLEDB.12.0数据源= & # 34;& strPath

第二种类型:

使用cnADO

。提供商= & # 34;微软。ACE . OLEDB.12.0 & # 34

。打开strPath

以…结尾

两者的写法不同,但内容其实是一样的,就是设置连接对象的Provider和ConnectionString两个属性。

4 SQL语句及打开记录集

下一步是记录集的操作。这里我们谈到了SQL,也就是结构化查询语句,比如Sql = & # 34从[高三]中选择班级、名称& # 34;上面的Sql语句的意思是从“高三”表中查询(提取)所有记录的class和name字段。

还有两种打开记录集的方法;

4.1第一种方法:使用连接对象的Execute方法。

示例1:设置rst = cnado。execute (SQL)执行查询并将结果保存在rst对象中。

示例2:执行方法

语法:connection.executecommandtext,受影响的记录,选项。

返回:记录集对象引用。

参数:

① CommandText字符串,通常是要执行的SQL语句和表名。

(2)受影响的记录可选,长整型变量,提供程序将受操作影响的记录数返回给该变量。

③ Options可选,长整型值,指示提供程序应如何计算CommandText参数。

我们一般不需要设置后两个可选参数。使用Connection对象的Execute方法返回的结果集始终是只读、只进游标。也不可能得到返回结果集中的记录数。一般在只需要将结果一次性写入工作表时使用(CopyFromRecordset),其优点是书写简洁。如果需要处理更多返回结果的操作,应该使用以下方法。

4.2第二种方法:使用Recordset对象的Open方法。

例1: rst.opensql,CNN与前面的Set rst = cnADO相同。执行(Sql)。

示例2打开方法

语法:记录集。开源,活动连接,光标类型,锁类型,选项。

参数:

①: Source是可选的,形状可变,通常是SQL语句和表名。

②:主动连接是可选的。变量,通常是有效的连接对象变量名。

③: CursorType是可选的,带有CursorTypeEnum值,打开记录集时使用光标类型。

④ LockType是可选的。打开记录集时使用的锁定(并发)类型。

⑤: Options可选,长整型值,表示提供者如何计算源参数。

其中参数③游标是可以指定的类型有四种:

0 AdOpenForwardOnly默认情况下打开只进游标。

1 AdOpenKeyset打开一个键集类型游标。

2 AdOpenDynamic打开动态类型的光标。

3 AdOpenStatic打开静态类型游标。

如果需要计算返回的记录集的RecordCount,需要将游标指定为adOpenStatic或adOpenKeyset,如果需要更新游标,需要将其指定为adOpenKeyset或AdOpenDynamic。

其中参数④LockType可以选的类型如下:

1 AdLockReadOnly(默认)只读-数据不可更改。

2 adlock悲观保守锁定,提供者完成确保成功编辑记录所需的工作,通常是在编辑时立即锁定数据源的记录。

3 adlock乐观打开锁定(逐个)-提供程序仅在调用Update方法时使用打开锁定来锁定记录。

4 AdLockBatchOptimistic开放式批量更新—用于批量更新模式(相对于立即更新模式)。

至此,我们已经连接了一些重要的概念,如VBA、数据库、ACCESS、ADO和SQL。

今天的内容回到:

1从数据库到打开记录集的步骤是否清晰?

2如何打开SQL记录集?

我20多年的VBA实践经验全部集中在以下教程中:

第七套教程(共三册):VBA的EXCEL应用:VBA基础讲解。

第一套教程(共三册):VBA代码解决方案:入门后的改进教程。

教程4(16G):VBA码解法视频(第一套视频讲解)

第三套教程(共两卷):VBA数组和字典解法:是对数组和字典的专门讲解。

第二套教程(共两卷):《VBA数据库解决方案》:是数据库的专题讲解。

第六套教程(共两卷):VBA信息采集与处理:讲解VBA的网络与跨程序应用。

第五套教程(共两卷):VBA的类的解释和利用:类的解释和接口技术。

第八套教程(共三册):VBA的word应用(最新教程):VBA在Word中的使用。

以上教程的学习顺序:

① 7→1→3→2→6→5或7→4→3→2→6→5。

② 7→8

如何学习VBA呢? 概括的说就是: 学习过程中要信、解、受、持,更要有回向的业力。无论您在学习的任何阶段,都要对照教程的知识点加持自己的实际工作,总会有丰厚的收获。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

发表回复

登录后才能评论