NextRecordset 方法

       

清除当前 Recordset 对象并通过提前执行命令序列返回下一个记录集。

语法

Set recordset2 = recordset1.NextRecordset( RecordsAffected )

返回值

返回 Recordset 对象。在语法模型中,recordset1 和 recordset2 可以是相同的 Recordset 对象,或者可以使用不同的对象。

参数

RecordsAffected    可选,长整型变量,提供者向其返回当前操作所影响的记录数目。

注意   该参数仅返回受操作影响的记录的数目;它不会从用于生成 Recordset 的选择语句返回记录的计数。

说明

使用 NextRecordset 方法返回复合命令语句中下一条命令的结果,或者是返回多个结果的已存储过程结果。如果使用 Command Execute 方法或者 Recordset Open 方法打开基于复合命令语句(例如“SELECT * FROM table1;SELECT * FROM table2”)的 Recordset 对象,则 ADO 仅执行第一条命令并将结果返回到“记录集”。要访问语句中后续命令的结果,请调用 NextRecordset 方法。

只要有其他的结果,并且包含复合语句的 Recordset 未被跨进程边界调度,则 NextRecordset 方法将继续返回 Recordset 对象。如果行返回命令没有返回记录,则返回的 Recordset 对象将为空;在确认 BOFEOF 都为 True 的情况下可验证这种情况。如果非按行返回命令成功执行,则返回的 Recordset 对象将关闭,通过测试 RecordsetState 属性可以测试这种情况。如果没有其他的结果,“记录集”将设置为 Nothing

远程数据服务用法   NextRecordset 方法对客户端的 Recordset 对象不可用。

如果在立即更新模式下进行编辑,调用 NextRecordset 方法将产生错误。应首先调用 UpdateCancelUpdate 方法。

如果需要通过填写 Parameters 集合或者通过使用原有的 OpenExecute 调用传送数组为复合语句中的多个命令传送参数,则参数在集合或数组中的次序必须与它们在命令序列中各自命令的次序相同。在读取输出参数值之前必须读取所有结果。

在调用 NextRecordset 方法时,ADO 仅执行语句中的下一条命令。如果在单步执行整个命令语句之前显式关闭 Recordset 对象,则 ADO 不执行其余的命令。