ADO对象操作Access数据库关键技术.doc
- 文档编号:229510
- 上传时间:2022-10-07
- 格式:DOC
- 页数:4
- 大小:22KB
ADO对象操作Access数据库关键技术.doc
《ADO对象操作Access数据库关键技术.doc》由会员分享,可在线阅读,更多相关《ADO对象操作Access数据库关键技术.doc(4页珍藏版)》请在冰豆网上搜索。
ADO对象操作Access数据库关键技术
ADO(ActiveXDataObject)是目前Microsoft通用的数据访问技术。
ADO编程模型定义一组对象,用于访问和更新数据源,它提供了一系列方法完成以下任务:
连接数据源、查询记录、添加记录、更新记录、删除记录、检查建立连接或执行命令时可能产生的错误。
一、ADO对象
ADO是基于组件的数据库访问接口,可以来自多种数据提供者的数据进行读取和写入操作。
ADO的3个成员对象:
(1)Connection对象(连接对象):
建立应用程序与数据源的连接。
(2)Command对象(操作命令对象):
在创建数据连接的基础上,利用Command对象可以实现对数据源的查询、插入、删除、编辑修改及更新操作。
(3)Recordset对象(记录集对象):
执行数据访问或SQL命令得到动态记录集,它被缓存在内存中。
ADO的3个集合对象:
(1)Errors集合对象。
它依赖于Connection对象的使用。
(2)Parameters集合对象。
它依赖于Command对象的使用。
(3)Fields集合对象。
它依赖于Recordset对象的使用。
1、Connection对象
该对象用来实现应用程序与数据源的连接。
只有连接成功后,Command对象和Recordset对象才能访问某个数据库。
2、Command对象
该对象主要作用是在VBA中用SQL语句访问、查询数据库中的数据,可以完成Recordset对象不能完成的操作,如创建表、修改表结构、删除表、将查询结果保存为新表等。
3、Recordset对象
Recordset对象的功能最常用、最重要,它可以访问表和查询对象,返回的记录存储在Recordset对象中。
通过该对象可以浏览记录、修改记录、添加新记录或者删除特定记录。
二、在Access中引用ADO对象
在Access的模块设计时要想使用ADO对象,首先应该增加一个对ADO库的引用。
打开VBE窗口,选择菜单“工具”→“引用”命令,弹出“引用”对话框,从“可使用的引用”列表中选择“MicrosoftActiveXDataObjects2.1Library”选项。
首先在应用程序中声明一个Connection对象,然后创建Recordset对象,编程完成各种数据访问操作。
1、声明Connection对象
(1)定义对象:
DimcnASADODB.Connection
(2)初始化对象:
Setcn=CurrentProject.Connection(CurrentProject为当前工程项目)
2、声明并打开Recordset对象
(1)声明并初始化:
DimrsAsADODB.Recordset
Setrs=NewADODB.recordset
(2)打开一个Recordset对象
打开一个Recordset对象格式:
Recordset对象名.Open表或查询或SQL,Connection对象名,游标类型,锁类型
以下是游标类型
adOpenForwardOnly0缺省值,启动一个只能向前移动的游标(ForwardOnly)。
adOpenKeyset1启动一个Keyset类型的游标。
adOpenDynamic2启动一个Dynamic类型的游标。
adOpenStatic3启动一个Static类型的游标。
以下是锁类型
adLockReadOnly
常数值为1vb缺省值:
Recordset对象以只读方式启动,无法运行AddNew、Update及Delete等方法
adLockPessimistic
常数值为2:
当数据源正在更新时,系统会暂时锁住其他用户的动作,以保持数据一致性。
adLockOptimistic
常数值为3:
当数据源正在更新时,系统并不会锁住其他用户的动作,其他用户可以对数据进行增、删、改的操作。
adLockBatchOptimistic
常数值为4:
当数据源正在更新时,其他用户必须将CursorLocation属性改为adUdeClientBatch才能对数据进行增、删、改的操作。
adLockUnspecified
常数值为-1未指定锁定类型
三、访问记录
1、引用记录字段
打开数据表时,默认的当前记录为第一条记录,任何对记录集(、查询)的访问都是对当前记录进行的。
通过程序可以引用每个记录的字段,方法有两种:
(1)直接在记录集对象中引用字段名,如:
rs(“字段名”)
(2)使用记录集对象的Fields(n)属性,n是一个记录中字段从左至右的排序,第一个字段序号为0,如:
rs.Fields(0)
2、浏览记录
(1)rs.MoveFirst:
指针移动到记录集的第一条记录
(2)rs.MoveNext:
指针移动到当前记录的下一条记录
(3)rs.MovePrevious:
指针移动到当前记录的上一条记录
(4)rs.MoveLast:
指针移动到记录集的最后一条记录
四、编辑数据
1、AddNew方法添加记录
在程序中,使用Recordset对象的AddNew方法添加记录。
(1)调用记录集的AddNew方法,产生一个空记录,如:
rs.AddNew
(2)为空记录的各个字段赋值,如:
rs(“字段名”)=值
(3)使用记录集的Update方法保存新记录,如:
rs.Update
2、Update方法修改记录
在程序中,使用Recordset对象的Update方法实现记录的更新。
(1)寻找并将记录指针移动到需要修改的记录上;
(2)对记录中各个字段的值进行修改;
(3)使用Update方法保存所做的修改。
3、Delete方法删除记录
在程序中要慎重使用Delete方法,因为被删除的记录将无法恢复。
(1)将记录指针移动到需要删除的记录上;
(2)使用Delete方法删除当前记录;
(3)将某条记录指定为当前记录(一条记录被删除后,Access不能自动使下一条记录成为当前记录)。
具体用法:
一、对数据库中某个具体表进行操作:
首先声明Connection对象和Recordset对象:
DimconnASADODB.Connection
DimrsAsADODB.Recordset
初始化:
Setconn=CurrentProject.Connection注:
CurrentProject为当前工程项目,即当前数据库
Setrs=NewADODB.Recordset
1、查询:
sql="select*from表名where条件表达式"
rs.opensql,conn,1,1
=rs("字段名")
rs.movenext
2、插入:
sql="select*from表名where(Idisnull)"
rs.opensql,conn,1,3
rs.addnew
rs("字段名")=字段值
rs.update
3、更新:
sql="select*from表名where条件表达式"
rs.opensql,conn,1,3
rs("字段名")=字段值
rs.update
4、删除:
1)
sql="select*from表名where条件表达式"
rs.opensql,conn,1,3
ifnotrs.eofthen
rs.delete
rs.update
endif
2)
sql="deletefrom表名where条件表达式"
rs.opensql,conn,1,3
二、其他常用命令:
rs.close'关闭记录集对象
setrs=nothing'清空记录集对象
conn.close'关闭数据库连接对象
setconn=nothing'清空数据库连接对象
rs.MoveFirst'移动到第一条记录处
rs.MovePrevious'移动到上一条记录处
rs.absoluteposition=N'将记录指针移到数据表第N行
rs.MoveNext'移动到下一条记录处
rs.Movelast'移动到最后一条记录处
rs.eof'指针是否指向最后一条记录之后
rs.bof'指针是否指向第一条记录之前
rs.recordcount'返回记录条数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ADO 对象 操作 Access 数据库 关键技术