利用ADO实现数据库的.ppt

上传人:w****2 文档编号:16583214 上传时间:2020-10-15 格式:PPT 页数:36 大小:237.50KB
收藏 版权申诉 举报 下载
利用ADO实现数据库的.ppt_第1页
第1页 / 共36页
利用ADO实现数据库的.ppt_第2页
第2页 / 共36页
利用ADO实现数据库的.ppt_第3页
第3页 / 共36页
资源描述:

《利用ADO实现数据库的.ppt》由会员分享,可在线阅读,更多相关《利用ADO实现数据库的.ppt(36页珍藏版)》请在装配图网上搜索。

1、第 7章 利用 ADO实现数据库 的存取 本章要点 Connection对象 Recordset对象 Command对象 Field对象 Error对象 ASP作为动态 Web应用程序 , 其开发 Web数据库是 其最重要的环节 。 ADO( ActiveX Data Objects ActiveX数据对象 ) 是微软提供的新一代数据库存取 访问技术 , ASP内置的 ADO组件是数据库开发的重 要工具 。 应用 ADO组件 , 通过 ODBC驱动程序或 OLE DB链接 字符串可实现 ASP与数据库之间的连接 , 通过 ADO 组件提供的各种方法实现数据检索和数据编辑等操 作 。 本章将重点

2、介绍 ADO对象的结构和配置 , 以及各种 数据访问对象 。 本章将详细介绍 ActiveX数据对象及 其在 ASP编程中的应用 。 8.1 ADO简介 ADO对象的主要优点是高速、容易使用、占用内 存和磁盘空间少,所以非常适合于作为服务器端 的数据库访问技术。 ADO对象是多线程的,在出现大量并发请求时, 也同样可以保持服务器的运行效率,并且通过连 接池技术以及对数据库连接资源的完全控制,提 供与远程数据库的高效连接与访问,同时它还支 持事务处理,以开发高效率、高可靠性的数据库 应用程序。 ADO 结合了 OLE DB 易于使用的特性以及 RDO(Remote Data Objects 远程

3、数据对象 )和 DAO(Data Access Ojects 数据访问对象 )模型中的 最好特性 ,并将它们重新组织在一个对象模型中 。 ADO包含所有可以被 OLE DB标准对象描述的数据 类型 , 即 ADO对象模型具有扩展性 , 即使对于那些 从来没有见到过的记录集的信息格式 , 只要使用正 常的 ADO编程对象 , 就能够可视化地处理所有的工 作 , ADO对象模型给开发人员提供了一种快捷 、 简 单 、 高效的数据库访问方法 , 可以在脚本中使用 ADO对象建立对数据库的连接 , 并从数据库中读取 记录 , 形成需要的对象集合 。 使用 ADO对象建立对数据库的连接有两种方 法: 使

4、用面向 ODBC驱动器的 OLE DB驱动程序建 立连接,这种连接与任何有 ODBC驱动器的 数据库兼容。 使用原始的 OLE DB驱动程序建立连接。 ADO组件由 ADODB对象库构成, ADODB对象库主 要包含 3个对象和 2个数据集合。它们分别 是 :Connection对象、 Recordset对象、 Field对象、 Fields集合、 Error集合。 ADO把绝大部分的数据库操作封装在上述 3个对象 中,在 ASP页面中编程调用这些对象执行相应的数 据库操作。 8.2 Connection对象 Connection对象用来建立数据源和 ASP程序之间的 连接 。 它代表 ASP

5、程序与数据源的唯一对话 , 建 立到数据源的连接后 , 可以在此基础上用 RecordSet对象或 Command对象对数据库进行查 询 、 更新 、 插入 、 删除等操作 。 8.2.1 打开和关闭数据库连接 要实现打开和关闭数据库连接 , 首先要应用 Connection对象创建数据连接 , 因为 Connection对 象不是 ASP内置对象 , 要使用 Connection对象 , 必 须首先显式地创建它 。 创建了 Connection对象之后,需要打开该连接才能 连接到数据库。若使用 ODBC进行数据源连接,则对 应的语法为: Connection对象也可直接连接到 Access数

6、据库 应用完 Connection对象之后,用户最好关闭 并释放 Connection对象,来缓解数据库服务 器的压力。其语法如下: 8.2.2 Connection对象的属性 属 性 含 义 ConnectionString 包含用来和数据源建立连接的字符串。 ConnectionTimeOut 包含连接到数据库的等待最长时间。如果超过此时间,则认为连接失败。 DefaultDatabase 当前连接数据源所使用的默认数据库。 Provider 包含 Connection对象的数据提供者名称。 State 包含 Connection对象的当前状态,返回一个描述连接是打开还是关闭的值。 1 C

7、onnectionTimeOut属性: 可设置或返回在终止尝 试和产生错误之前打开连接需要等待的秒数。默认是 15 秒 ,语法格式如下: Set conn=server.createobject(“Adodb.connection”) Conn.connectiontimeout=30 2 ConnectionString 属性 :可设置或返回用于建立到数 据源的连接的信息: set conn=Server.CreateObject(ADODB.Connection) conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;data sou

8、rce = Data Source= Data Source= DBQ=” Data Source= Server=服务器名称 ;UID=登录名 ;PWD= 密码 ;Database=数据库名称 ;” 4. SQL Server数据库的 OLE DB连接方法: set conn=Server.CreateObject(ADODB.Connection) Conn.open “Provider=SQLOLEDB.1;Data Source=服务器名 ;user ID=登录 名 ;Password=密码 ;initial catalog=数据库名 ” 5. 数据库的 DSN连接方法: set co

9、nn=Server.CreateObject(ADODB.Connection) Conn.open “DSN=DSN名称 ” 2 Execute方法: 此方法可用于执行指定的 SQL语句 , 用于实现对数据库表的修改 、 插入 、 删除和查询等操作 。 其一般格式有以下两种: 1) 执行 SQL查询语句时 , 将返回查询得到的记录数 。 语法为: Set 对象变量名 = Connection.Execute(“SQL查询语句 ” ) dim conn Set Conn=Server.CreateObject(ADODB.Connection) Conn.open provider=micro

10、soft.jet.oledb.4.0;data source = & server.mappath(database.mdb) Set rs = Conn.Execute (SQL语句 ) 2) 执行操作性语句时 , 没有记录集的返回 。 语法为: Connection.Execute CommandText, RecordsAffected, Options commandtext:字符串类型 , 可以是 SQL语句 , 表名称 , 存储过程等 RecordsAffected:操作所影响的记录个数 Options:告诉数据源 commandtext的类型 , 1表示 SQL语句; 2表示 表

11、名; 4表示存储过程; 8表示不清楚; 3 Close方法: 该方法用于关闭连接对象 , 以释放所占用的系统资源 。 Conn.close Set conn=nothing 8.3 RecordSet对象 除了利用 Connection对象的 Execute方法可获得记 录集外 , 利用 ADO的 RecordSet对象 , 也可获得记 录集 , 且该方法所获得的记录集 , 具有更灵活的 控制性和更强的功能 。 在打开记录集之前 , 可以详细设置记录集的游标 和锁定类型 , 以决定可对一个记录集进行怎样的 操作 。 同时该对象提供了一系列的方法和属性 , 通过编程可以非常方便的处理记录集 ,

12、下面介绍 该对象的应用 。 创建一个 RecordSet对象实例 , 语法如下: Set rs=Server.CreateObject(“ADODB.RecordSet”) 8.3.1 RecordSet对象的属性 1 ActiveConnection 属 性 : 通 过 设 置 RecordSet对象的 ActiveConnection属性可以使 Recordset对象与特定的 Connection对象相关联 , ActiveConnection属性可以是一个 Connection对象 名称或是一个包含数据源连接信息的字符串 , 如 果连接被关闭 , 设置或返回连接的定义 , 如果连 接打开

13、 , 设置或返回当前的 Connection 对象 。 2 Source属性: 可以是一个 Command对象名称 、 一条 SQL语句或是一个指定的数据表等 。 3 CursorType属性: 设置或返回一个 Recordset 对象的游 标类型。在 ADO中,定义了 4种不同的游标(指针)类型。 符号常量 值 含 义 AdOpenForwardOnly 0 默认值,仅向前游标,只允许在 Recordset 中向前滚动。此外,由其他用 户所做的添加、更改和删除将是不可见 的。 adOpenKeyset 1 键集游标,允许用户看到其他用户所做 的数据更改。但不能看到其他用户添加 和删除的记录。

14、 adOpenDynamic 2 动态游标,用户可以看到其他用户所作的添加、更改和删除 。 adOpenStatic 3 静态游标,提供记录集的静态副本,可 用来查找数据或生成报告。此外,由其 他用户所做的添加、更改和删除将是不 可见的。 4 LockType属性: 设置或返回当编辑 Recordset 中的 一条记录时,可指定锁定类型的值。 符号常量 值 含 义 adLockReadOnly 0 默认值。以只读模式打开,故不能更新、插入或删除记录集中的记录。 adLockPessimistic 1 保守式记录锁定。在编辑修改一个记录 时,立即锁定它,以防止其他用户对其 进行操作。最安全的锁定

15、机制。 adLockOptimistic 2 开放式记录锁定。在编辑修改记录时, 并未加锁,只有在调用记录集的 Update 方法更新记录时,才锁定记录。 adLockBatchOptimistic 3 开放式批更新,用于立即更新模式相反的批更新模式。 5 RecordCount属性: 返回一个 Recordset 对象中的记录数目 。 6 BOF属性: 如果当前的记录位置在第一条记录之前 , 则返回 true, 否则返回 fasle。 7 EOF属性: 如果当前记录的位置在最后的记录之后 , 则返回 true, 否则返回 fasle。 利用该属性 , 可防止指针越界而发生错误 。 通常用 来

16、作为循环访问记录集结束的标志 。 8 PageSize属性: 设置或返回 Recordset 对象的一个单一页面上所 允许的最大记录数 。 9 PageCount属性 :返回一个 Recordset 对象中的数据页数 。 10 AbsolutePage属性 :设置或返回一个可指定 Recordset 对象中 页码的值 。 11 AbsolutePosition属性 :设置或返回一个值 , 此值可指定 Recordset 对象中当前记录的顺序位置 ( 序号位置 ) 。 该属性一般是 介于 1和 RecordCount属性值之间的整数 。 8.3.2 RecordSet对象的方法 1 Open方法

17、: RecordSet对象中最重要的方法是 应用 Open方法可打开一个记录集,其语法如下: 记录集对象实例变量 .Open Source,ActiveConnection,CursorType,LockType,Options Source:该参数可以是含有一个 SQL字符串、表格、视图名称或者存 储过程调用的字符串 ActiveConnection:该参数可以 Connection对象的实例名或字符串。 CursorType:用来确定服务器打开 Recordset时应该使用的游标类型。 LockType:用来确定服务器打开 Recordset时应该使用的锁定类型。 Options:该参数用

18、于指定 Source参数项的命令字符串的类型,其取 值与对应的类型与 Connection对象中 Execute方法中 Options参数相同 const adCmdText=1 const adOpenStatic=3 const adLockPessimistic =1 set conn=Server.CreateObject(ADODB.Connection) conn.Provider=Microsoft.Jet.OLEDB.4.0 conn.Open server.mappath(database.mdb) fhsql=select * from student set rs=ser

19、ver.CreateObject(adodb.recordset) rs.open fhsql,conn,adOpenStatic,adLockReadOnly,adCmdText 一些处理语句 rs.close Set rs=nothing conn.close set conn=nothing 2 RecordSet对象其它方法 : RecordSet对象提供了如表 所示的非常丰富的记录集方法,通过这些方法可实现对记 录集的添加、删除、修改等各种操作。 方 法 描 述 AddNew 创建一条新记录。 Close 关闭一个 Recordset。 Delete 删除一条记录或一组记录。 Fin

20、d 搜索一个 Recordset 中满足指定某个条件的一条记录。 GetRows 把多条记录从一个 Recordset 对象中拷贝到一个二维数组中。 GetString 将 Recordset 作为字符串返回。 Move 在 Recordset 对象中移动记录指针。 MoveFirst 把记录指针移动到第一条记录。 MoveLast 把记录指针移动到最后一条记录。 MoveNext 把记录指针移动到下一条记录。 MovePrevious 把记录指针移动到上一条记录。 Open 打开一个数据库元素,此元素可提供对表的记录、查询的结果或保存的 Recordset 的访问。 Seek 搜索 Reco

21、rdset 的索引以快速定位与指定的值相匹配的行,并使其成为当前行。 Update 保存所有对 Recordset 对象中的一条单一记录所做的更改。 UpdateBatch 把所有 Recordset 中的更改存入数据库。请在批更 新模式中使用。 8.5 Errors数据集合和 Error对象 当 ADO对象的操作产生错误时 , 会有一个或多 个 Error对象被放到 Connection对象的 Errors集 合中;据此 , 可获得产生错误的原因和来源 , 以便采取适当的措施 , 使程序更加完善 。 Error 对象可通过建立的 Connection对象的 Errors数 据集合取得 。 8

22、.5.1 Errors数据集合 所有 Error对象的集合用来响应一个连接 (Connection)上的 错误。 Errors数据集合包括两个属性: Count和 Item。 1. Count属性: 用来指示集合中有多少个 Error对象,应 用语法为: long=Errors集合变量 .count。 Errors集合的属性 Count可以获得数据库是否发生了错误, 如果没有错误发生,则 Count等于 0,否则大于 0。 2. Item属性: 用来访问 Errors集合中每一个 Error对象的 索引,可以根据这个值来访问一个特定的 Error对象。应用 语法为: Set Err=Error

23、s.item(Index)或 Set Err=Errors(Index)。 Errors集合有 2个方法: Clear和 Refresh, 其含义 如下 。 1. Clear方法: 从 Error集合中移去所有的 Error对 象 。 应用语法为 Errors.Clear。 2. Refresh方法: 根据来自数据提供者的变化信 息来更新集合中的 Error对象 。 应用语法为 Errors.Refresh。 8.5.2 Error对象 Connection对象是用于与各类的数据库进行连接 的 , 但在此过程中将会出现一些不可预测的错误 , 因而出现了 Error对象 。 首先要清楚一个概念

24、, Error对象是在连接数据库时产生的 , 而并非那些 运行时的实时错误 。 8.6 Fields数据集合 每个 Field对象对应于 RecordSet中的一列,由多个 Field对象可以构成 Fields数据集合。使用 Field对象 的 Value属性可设置或取得当前记录的数据。 属 性 含 义 Name 可返回字段名 Value 可查看或更改字段中的数据 8.6.1 Fields数据集合 所有 Field对象的集合都关联着一个记录集 (RecordSet)对象。 Fields集合 包含记录集中每一字段值,相当于访问表格的某一个单元格。访问 Fields集合的方法有多种,比如访问以上数

25、据表 student中姓名字段的值, 可应用如下方法: rs.Fields.Item(1) rs.Fields.Item(1).value rs.Fields.Item(“姓名 ” ) rs.Fields.Item(“姓名 ” ).value rs.Fields(1) rs.Fields(1).value rs.Fields(“姓名 ” ) rs.Fields(“姓名 ” ).value rs.(1) rs.(1).value rs.(“姓名 ” ) rs.(“姓名 ” ).value 例子 1:创建和显示记录集 例子 2:记录集分页显示 例子 3:添加记录 例子 4:修改记录 例子 5:删除记录

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!