唯倚社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 250|回复: 5

Visual Basic中的ADO数据对象编程

[复制链接]

59

主题

169

帖子

754

积分

版主

Rank: 7Rank: 7Rank: 7

积分
754
发表于 2017-9-14 15:35:42 | 显示全部楼层 |阅读模式

轻松玩转社区

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
核心提示:ADO是ActiveX Data Objects 的缩写,是一项新的数据库的存取技术。

  ADO是ActiveX Data Objects 的缩写,是一项新的数据库的存取技术。相对于VB5.0中的DAO他具有更为简化的对象模型,无论是存取本地的还是远程的数据,都提供了一致的接口.就我本人而言,ADO的确比DAO要好用得多。


  今天只就ADO的对象模型谈一谈.ADO定义了一个可编程的对象集合.

  ADO对象模型如图所示:







  对于ADO其中对象来说,我觉得比较重要的是:Command,Connection,Recordset对象。


  虽然严格的说这是不准确的,但根据我的实际经验确实如此.下面就分别来谈一下。


  (1) Connection对象


  Connection对象用于建立与数据库的连接.通过连接可从应用程序访问数据源.它保存诸如指针类型,连接字符串,查询超时,连接超时和缺省数据库这样的连接信息.


  (2) Command对象


  在建立Connection后,可以发出命令操作数据源.一般情况下,Command对象可以在数据库中添加,删除或更新数据,或者在表中进行数据查询.Command对象在定义查询参数或执行一个有输出参数的存储过程时非常有用。


  (3) Recordset对象


  Recordset对象只代表一个记录集,这个记录集是一个连接的数据库中的表,或者是Command对象的执行结果返回的记录集.在ADO对象模型中,是在行中检查和修改数据的最主要的方法,所有对数据的操作几乎都是在Recordset对象中完成的.Record对象用于指定行,移动行,添加,更改,删除记录。


  下面就具体地说说如何用ADO存取数据:


  在实际编程过程中使用ADO的一个典型的存取数据的步骤为:


  (1) 连接数据源


  (2) 打开记录集对象


  (3) 使用记录集


  (4) 断开连接


  那么具体怎么是用呢?分别来看。(我在最后将给出一个完整的使用ADO的实例给大家参考.)


  (1) 如何连接数据源


  利用Connection对象可以创建一个数据源的连接.应用的方法是Connection对象的Open方法。


  语法:



Connection对象.Open ConnectionString, UserID, PassWord, OpenOptions

  其中:


  ·Connection对象为你定义的Connection对象的实例;


  ·ConnectionString为可选项,包含了连接的数据库的信息;


  ·UserID 可选项,包含建立连接的用户名;


  ·PassWord为可选项,包含建立连接的用户密码;


  ·OpenOptions为可选项,假如设置为adConnectAsync,则连接将异步打开.


  (2)打开记录集对象


  实际上记录集返回的是一个从数据库取回的查询结果集.因此他有两种打开方法:一种使用记录集的Open方法,另一种是用Connection对象的Execute方法。


  (a)记录集的Open方法



  语法:



Recordset.Open Source, ActiveConnection, CursorType, LockType, Options

  其中:


  ·Recordset为所定义的记录集对象的实例。


  ·Source可选项,指明了所打开的记录源信息.可以是合法的命令,对象变量名,SQL语句,表名,存储过程调用,或保存记录集的文件名。


  ·ActiveConnection可选项,合法的已打开的Connection对象的变量名,或者是包含ConnectionString参数的字符串。


  ·CursorType可选项,确定打开记录集对象使用的指针类型。


  ·LockType可选项 确定打开记录集对象使用的锁定类型。


  (b)Connection对象的Execute方法


  语法:



Set recordset=Connection.Execute(CommandText,RecordsAffected,Options)

  参数说明:


  ·CommandText 一个字符串,返回要执行的SQL命令,表名,存储过程或指定文本。


  ·RecordsAffected 可选项,Long类型的值,返回操作影响的记录数。


  ·Options 可选项,Long类型值,指明如何处理CommandText参数。


  介绍完了如何打开数据库下面说说怎么使用吧.


  (3)使用记录集


  (a)添加新的记录:


  在ADO中添加新的记录用的方法为:AddNew 它的语法为:


  Recordset.AddNew FieldList, Values


  ·Recordset为记录集对象实例


  ·FieldList为一个字段名,或者是一个字段数组.


  ·Values为给要加信息的字段赋的值,如果FiledList为一个字段名,那么Values应为一个单个的数值,假如FiledList为一个字段数组,那么 Values必须也为一个个数,类型与FieldList相同的数组。


  再用完AddNew方法为记录集添加新的记录后,应使用UpDate将所添加的的数据存储在数据库中.不过你最好在用UpDate方法之前使用CancelUpdate方法来取消该项操作。


  (b)修改记录集


  其实修改核对记录集中的数据重新赋值没有什么太大的区别,只要用SQL语句将要修改的字段的一个数据找出来重新赋值就可以了.这里不再细说了。


  (c)删除记录


  在ADO中删除记录集中的数据的方法为elete方法,这与DAO对象的方法相同,但是在ADO中它的能力增强了,可以删掉一组记录了.

核心提示:ADO是ActiveX Data Objects 的缩写,是一项新的数据库的存取技术。


它的语法如下:



Recordset.Delete AffectRecords

  其中的,AffectRecords参数是确定Delete方法作用的方式的,它的取值如下:


  ·adAffectCurrent 只删除当前的记录


  ·adAffectGroup 删除符合Filter属性设置的那些记录.为了一次能删除一组数据,应设置Filter属性.


  (d)查询记录


  在ADO中查询的方法很灵活,有几种查询的方法.


  ·使用连接对象的Execute方法执行SQL命令,返回查询记录集.


  ·使用Command对象的Execute方法执行CommandText属性中设置的SQL命令,返回查询记录集.


  第一个方法的具体语法在前面数据连接时已经介绍过了,下面就第二方法具体说一下.


  Command对象的Execute方法的语法如下:



Command.Execute RecordsAffected, Parameters, Options '不返回记录集

或者 Set Rscordset=cmmnad.Execute(RecordsAffected,Parameters,Options) '返回记录集


  CommandText的语法为:



Command.CommandText=stringvariable

  其中: stringvariable为字符串变量,包含SQL语句,表名或存储过程.


  (4) 断开连接


  在应用程序结束之前,应该释放分配给ADO对象的资源,操作系统回收这些资源并可以再分配给其他应用程序。


  使用的方法为:Close方法。


  语法如下:



Object.Close ' Object为ADO对象




132

主题

302

帖子

3693

积分

LV3

Rank: 3Rank: 3

积分
3693

最佳新人

发表于 2017-9-23 00:35:38 | 显示全部楼层
不求风骚惊天下,但求猥琐动世人!
回复

使用道具 举报

3

主题

113

帖子

184

积分

版主

Rank: 7Rank: 7Rank: 7

积分
184
发表于 2017-9-23 09:47:47 | 显示全部楼层
你造么
回复

使用道具 举报

19

主题

128

帖子

1065

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1065

最佳新人

发表于 2017-9-23 09:50:11 | 显示全部楼层
笑而不语
回复

使用道具 举报

19

主题

128

帖子

1065

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1065

最佳新人

发表于 2017-9-23 20:20:56 | 显示全部楼层
我只是来水经验的
回复

使用道具 举报

3

主题

122

帖子

426

积分

版主

Rank: 7Rank: 7Rank: 7

积分
426
发表于 2017-9-23 20:30:16 | 显示全部楼层
楼主你知道的太多了。
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|weiecn ( 湘ICP备14002058号 )

GMT+8, 2018-10-20 04:40 , Processed in 0.149323 second(s), 16 queries , Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表