例子
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) |
属性集合的属性
属性 | 描述 |
---|---|
Count | 返回属性集合中的项目数。 从零开始。 例: countprop = rs.Properties.Count |
Item(named_item/number) | 返回属性集合中指定的项目。 例: itemprop = rs.Properties。 Item(1) |