ADO Recordset 对象

来源:互联网 发布:mac 10.10.5 安装 编辑:程序博客网 时间:2024/05/01 05:28

实例

GetRows
本例演示如何使用 GetRows 方法。

Recordset 对象

ADO Recordset 对象用于容纳一个来自数据库表的记录集。一个 Recordset 对象由记录和列(字段)组成。

在 ADO 中,此对象是最重要且最常用于对数据库的数据进行操作的对象。

ProgID

set objRecordset=Server.CreateObject("ADODB.recordset") 

当您首次打开一个 Recordset 时,当前记录指针将指向第一个记录,同时 BOF 和 EOF 属性为 False。如果没有记录,BOF 和 EOF 属性为 True。

Recordset 对象能够支持两种更新类型:

    立即更新 - 一旦调用 Update 方法,所有更改被立即写入数据库。 批更新 - provider 将缓存多个更改,然后使用 UpdateBatch 方法把这些更改传送到数据库。

在 ADO,定义了 4 中不同的游标(指针)类型:

  • 动态游标 - 允许您查看其他用户所作的添加、更改和删除
  • 键集游标 - 类似动态游标,不同的是您无法查看有其他用户所做的添加,并且它会防止您访问其他用户已删除的记录。其他用户所做的数据更改仍然是可见的。
  • 静态游标 - 提供记录集的静态副本,可用来查找数据或生成报告。此外,由其他用户所做的添加、更改和删除将是不可见的。当您打开一个客户端 Recordset 对象时,这是唯一被允许的游标类型。
  • 仅向前游标 - 只允许在 Recordset 中向前滚动。此外,由其他用户所做的添加、更改和删除将是不可见的。

可通过 CursorType 属性或 Open 方法中的 CursorType 参数来设置游标的类型。

注释:并非所有的提供者(providers)支持 Recordset 对象的所有方法和属性。

属性

属性描述AbsolutePage设置或返回一个可指定 Recordset 对象中页码的值。AbsolutePosition设置或返回一个值,此值可指定 Recordset 对象中当前记录的顺序位置(序号位置)。ActiveCommand返回与 Recordset 对象相关联的 Command 对象。ActiveConnection如果连接被关闭,设置或返回连接的定义,如果连接打开,设置或返回当前的 Connection 对象。BOF如果当前的记录位置在第一条记录之前,则返回 true,否则返回 fasle。Bookmark设置或返回一个书签。此书签保存当前记录的位置。CacheSize设置或返回能够被缓存的记录的数目。CursorLocation设置或返回游标服务的位置。CursorType设置或返回一个 Recordset 对象的游标类型。DataMember设置或返回要从 DataSource 属性所引用的对象中检索的数据成员的名称。DataSource指定一个包含要被表示为 Recordset 对象的数据的对象。EditMode返回当前记录的编辑状态。EOF如果当前记录的位置在最后的记录之后,则返回 true,否则返回 fasle。Filter返回一个针对 Recordset 对象中数据的过滤器。Index设置或返回 Recordset 对象的当前索引的名称。LockType设置或返回当编辑 Recordset 中的一条记录时,可指定锁定类型的值。MarshalOptions设置或返回一个值,此值指定哪些记录被返回服务器。MaxRecords设置或返回从一个查询返回 Recordset 对象的的最大记录数目。PageCount返回一个 Recordset 对象中的数据页数。PageSize设置或返回 Recordset 对象的一个单一页面上所允许的最大记录数。RecordCount返回一个 Recordset 对象中的记录数目。Sort设置或返回一个或多个作为 Recordset 排序基准的字段名。Source设置一个字符串值,或一个 Command 对象引用,或返回一个字符串值,此值可指示 Recordset 对象的数据源。State返回一个值,此值可描述是否 Recordset 对象是打开、关闭、正在连接、正在执行或正在取回数据。Status返回有关批更新或其他大量操作的当前记录的状态。StayInSync设置或返回当父记录位置改变时对子记录的引用是否改变。

方法

方法描述AddNew创建一条新记录。Cancel撤销一次执行。CancelBatch撤销一次批更新。CancelUpdate撤销对 Recordset 对象的一条记录所做的更改。Clone创建一个已有 Recordset 的副本。Close关闭一个 Recordset。CompareBookmarks比较两个书签。Delete删除一条记录或一组记录。Find搜索一个 Recordset 中满足指定某个条件的一条记录。GetRows把多条记录从一个 Recordset 对象中拷贝到一个二维数组中。GetString将 Recordset 作为字符串返回。Move在 Recordset 对象中移动记录指针。MoveFirst把记录指针移动到第一条记录。MoveLast把记录指针移动到最后一条记录。MoveNext把记录指针移动到下一条记录。MovePrevious把记录指针移动到上一条记录。NextRecordset通过执行一系列命令清除当前 Recordset 对象并返回下一个 Recordset。Open打开一个数据库元素,此元素可提供对表的记录、查询的结果或保存的 Recordset 的访问。Requery通过重新执行对象所基于的查询来更新 Recordset 对象中的数据。Resync从原始数据库刷新当前 Recordset 中的数据。Save把 Recordset 对象保存到 file 或 Stream 对象中。Seek搜索 Recordset 的索引以快速定位与指定的值相匹配的行,并使其成为当前行。Supports返回一个布尔值,此值可定义 Recordset 对象是否支持特定类型的功能。Update保存所有对 Recordset 对象中的一条单一记录所做的更改。UpdateBatch把所有 Recordset 中的更改存入数据库。请在批更新模式中使用。

事件

Note: You cannot handle events using VBScript or JScript (only Visual Basic, Visual C++, and Visual J++ languages can handle events).

事件描述EndOfRecordset当试图移动到超过 Recordset 结尾的行时被触发。FetchComplete当异步操作中的所有记录均被读取后被触发。FetchProgress在异步操作期间被定期地触发,报告已读取多少记录。FieldChangeCompleteField 对象的值更改被触发。MoveCompleteRecordset 中的当前位置更改后被触发。RecordChangeComplete一条记录更改之后被触发。RecordsetChangeComplete在 Recordset 更改之后被触发。WillChangeField在 Field 对象的值更改之前被触发WillChangeRecord在一条记录更改之前被触发。WillChangeRecordset在 Recordset 更改之前被触发。WillMove在 Recordset 中的当前位置更改之前被触发。

集合

集合描述Fields指示在此 Recordset 对象中 Field 对象的数目。Properties包含所有 Recordset 对象中的 Property 对象。

Fields 集合的属性

属性描述Count

返回 fields 集合中项目的数目。以 0 起始。

例子:

countfields = rs.Fields.Count
Item(named_item/number)

返回 fields 集合中的某个指定的项目。

例子:

itemfields = rs.Fields.Item(1)或者itemfields = rs.Fields.Item("Name")

Properties 集合的属性

属性描述Count

返回 properties 集合中项目的数目。以 0 起始。

例子:

countprop = rs.Properties.Count
Item(named_item/number)

返回 properties 集合中某个指定的项目。

例子:

itemprop = rs.Properties.Item(1)或者itemprop = rs.Properties.Item("Name")
0 0
原创粉丝点击