最新的Web开发教程
 

ADO Recordset对象


例子

GetRows的
这个例子演示了如何使用GetRows方法。


Recordset对象

ADO Recordset对象用于从数据库表中持有的记录集。 一个Recordset对象包括记录和列(fields)

在ADO,这个对象是最重要和最常用来从数据库中的数据进行操作。

进程id

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

当你第一次打开一个记录,当前记录指针将指向第一个记录,BOF和EOF属性都是假的。 如果没有记录,BOF和EOF属性为True。

Recordset对象可支持两种类型的更新:

  • Immediate updating -一旦调用Update方法,所有更改会立即写入数据库。
  • Batch updating -提供者将缓存多个更改,然后将其发送到与UpdateBatch方法的数据库。

在ADO有定义4种不同类型的光标:

  • Dynamic cursor -允许其他用户看到添加,修改和删除。
  • Keyset cursor -像一个动态游标,但你不能看到其他用户添加的,并防止对其他用户已删除的记录访问。 其他用户的数据更改依然可见。
  • Static cursor -提供记录集的静态副本供你使用,以查找数据或生成报告。 添加,更改或由其他用户删除将不可见。 这是光标当您打开一个客户端Recordset对象允许的唯一类型。
  • Forward-only cursor -您只可以通过记录向前滚动。 添加,更改或由其他用户删除将不可见。

光标类型可以通过CursorType属性或通过在打开方法的的CursorType参数来设置。

Note:并非所有提供支持Recordset对象的所有方法或属性。


属性

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

方法

方法 描述
AddNew 创建一个新的纪录
Cancel 取消执行
CancelBatch 取消批量更新
CancelUpdate

取消对Recordset对象的记录所做的更改

Clone 创建现有记录的副本
Close 关闭一个记录
CompareBookmarks 比较两个书签
Delete 删除一条记录或一组记录
Find 搜索记录集中的记录满足指定条件
GetRows 拷贝从一个记录对象的多个记录成二维阵列
GetString 返回一个记录作为字符串
Move 移动记录指针在Recordset对象
MoveFirst 移动记录指针到第一条记录
MoveLast 移动记录指针到最后一条记录
MoveNext 移动记录指针到下一条记录
MovePrevious 移动记录指针到上一条记录
NextRecordset 清除当前记录对象并通过一个循环执行一系列指令返回下一个记录对象
Open 打开,让您可以访问记录表,查询结果的数据库元素,或将保存的记录
Requery 通过重新执行对象所基于记录的查询更新一个记录数据
Resync 从原始数据库刷新当前记录的数据
Save 保存Recordset对象的文件或Stream对象
Seek 搜索记录集的索引来查找一个指定的值一致的记录
Supports 返回定义一个记录对象是否支持特定类型的功能的布尔值
Update 保存在Recordset对象的单个记录所做的所有更改
UpdateBatch 保存在记录到数据库的所有变化。 在批量更新模式下工作时使用

活动

Note:您不能处理使用VBScript或JScript(仅适用于Visual Basic中的Visual C ++和Visual J ++语言可以处理的事件)的事件。

事件 描述
的EndOfRecordset 触发,当你尝试的最后一个记录后移动到一个记录
FetchComplete 触发后在异步操作的所有记录都被取出
FetchProgress 在异步操作周期性的激发,说出多少条记录已经被取出
FieldChangeComplete Field对象变化的值后触发
MoveComplete 触发记录集中的当前位置已更改后
RecordChangeComplete 触发后的记录已改变
RecordsetChangeComplete 触发记录更改后
WillChangeField Field对象变化值之前触发
WillChangeRecord 一个记录更改之前触发
WillChangeRecordset 一个记录更改之前触发
WillMove 在记录变化的当前位置之前触发

集合

采集 描述
Fields 表示在记录对象字段的对象的数量
Properties 包含Recordset对象中的所有属性对象

Fields集合的属性

属性 描述
Count 返回字段集合中的项目数。 从零开始。

例:

countfields:案例

Item(named_item/number) 返回字段集合中指定的项目。

例:

itemfields = rs.Fields。 Item(1)
要么
itemfields = rs.Fields。 Item("Name")

属性集合的属性

属性 描述
Count 返回属性集合中的项目数。 从零开始。

例:

countprop = rs.Properties.Count

Item(named_item/number) 返回属性集合中指定的项目。

例:

itemprop = rs.Properties。 Item(1)
要么
itemprop = rs.Properties。 Item("Name")