全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ADO对象操作Access数据库关键技术ADO(ActiveX Data Object)是目前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窗口,选择菜单“工具”“引用”命令,弹出“引用”对话框,从“可使用的引用”列表中选择“Microsoft ActiveX Data Objects 2.1 Library”选项。首先在应用程序中声明一个Connection对象,然后创建Recordset对象,编程完成各种数据访问操作。1、声明Connection对象(1)定义对象:Dim cn AS ADODB.Connection(2)初始化对象:Set cn=CurrentProject.Connection (CurrentProject为当前工程项目)2、声明并打开Recordset对象(1)声明并初始化:Dim rs As ADODB.Recordset Set rs=New ADODB.recordset(2)打开一个Recordset对象打开一个Recordset对象格式: Recordset对象名.Open 表或查询或SQL,Connection对象名,游标类型,锁类型 以下是游标类型 adOpenForwardOnly 0 缺省值,启动一个只能向前移动的游标(Forward Only)。 adOpenKeyset 1 启动一个Keyset类型的游标。 adOpenDynamic 2 启动一个Dynamic类型的游标。 adOpenStatic 3 启动一个Static类型的游标。 以下是锁类型 adLockReadOnly常数值为1 vb缺省值: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.Update2、Update方法修改记录在程序中,使用Recordset对象的Update方法实现记录的更新。(1)寻找并将记录指针移动到需要修改的记录上;(2)对记录中各个字段的值进行修改;(3)使用Update方法保存所做的修改。3、Delete方法删除记录在程序中要慎重使用Delete方法,因为被删除的记录将无法恢复。(1)将记录指针移动到需要删除的记录上;(2)使用Delete方法删除当前记录;(3)将某条记录指定为当前记录(一条记录被删除后,Access不能自动使下一条记录成为当前记录)。具体用法:一、对数据库中某个具体表进行操作:首先声明Connection对象和Recordset对象: Dim conn AS ADODB.Connection Dim rs As ADODB.Recordset 初始化: Set conn=CurrentProject.Connection 注:CurrentProject为当前工程项目,即当前数据库 Set rs = New ADODB.Recordset 1、查询: sql=select * from 表名 where 条件表达式 rs.open sql,conn,1,1 =rs(字段名) rs.movenext 2、插入: sql=select * from 表名 where (Id is null) rs.open sql,conn,1,3 rs.addnew rs(字段名)=字段值 rs.update 3、更新: sql=select * from 表名 where 条件表达式 rs.open sql,conn,1,3 rs(字段名)=字段值 rs.update 4、删除: 1) sql=select * from 表名 where 条件表达式 rs.open sql,conn,1,3 if not rs.eof then rs.delete rs.update end if 2) sql=delete from 表名 where 条件表达式 rs.open sql,conn,1,3 二、其他常用命令: rs.close 关闭记录集对象 set rs=nothing 清空记录集对象 conn.close 关闭数据库连接对象 set conn=nothing 清空数据库连接对象 rs.MoveFirst 移动到第一条记录处 rs.M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省湛江市2026年普通高考测试物理(二)+答案
- 2025江西卫生职业学院教师招聘考试题目及答案
- 2025成都师范学院教师招聘考试题目及答案
- 溧阳考编美术试题及答案
- 2026四川凉山州西昌市北城社区卫生服务中心招聘1人建设考试参考试题及答案解析
- 2026广东岭南师范学院招聘辅导员17人建设笔试备考试题及答案解析
- 2026浙江温州榕园学校(温州大学附属学校)面向全国引进教育人才3人建设笔试备考题库及答案解析
- 2026年黑龙江中医药大学附属第一医院招聘10人建设考试备考试题及答案解析
- 2026江苏南京大学YJ20260190电子科学与工程学院博士后招聘1人建设笔试参考题库及答案解析
- 2026广西南宁市武鸣区宁武镇卫生院编外人员(康复治疗技师)招聘1人建设笔试模拟试题及答案解析
- 2025年江西省从“五方面人员”中选拔乡镇领导班子成员考试历年参考题库含答案详解(5套)
- 2025年中国银行秋招试题及答案
- 2025年11月济南轨道交通集团运营有限公司社会招聘笔试参考题库附带答案详解(10套)
- 2025年北京市中考数学真题试卷及答案
- 义警规章管理制度
- 2025年广东省深圳市福田区中考三模英语试题(含答案)
- CJ/T 409-2012玻璃钢化粪池技术要求
- DB31/T 668.4-2012节能技术改造及合同能源管理项目节能量审核与计算方法第4部分:锅炉系统
- (二模)黄山市及宣城市2025届高三毕业班质量检测 英语试卷(含答案)
- 小托福阅读:题型解析与应对策略
- 第五版PFMEA模板(自动计算AP值)
评论
0/150
提交评论