NextRecordset メソッド (ADO)NextRecordset Method (ADO)

現在のクリアレコード セットオブジェクトし、[次へ] を返しますレコード セット一連のコマンドを進めることで。Clears the current Recordset object and returns the next Recordset by advancing through a series of commands.


Set recordset2 = recordset1.NextRecordset(RecordsAffected )  

戻り値Return Value

返します、 Recordsetオブジェクト。Returns a Recordset object. モデルでは、構文、 recordset1recordset2は、同じレコード セットオブジェクト、またはするには、別のオブジェクトを使用できます。In the syntax model, recordset1 and recordset2 can be the same Recordset object, or you can use separate objects. 個別を使用する場合Recordsetオブジェクト、リセット、 ActiveConnection元のプロパティレコード セット(recordset1)後NextRecordsetが呼び出されてはエラーを生成します。When using separate Recordset objects, resetting the ActiveConnection property on the original Recordset (recordset1) after NextRecordset has been called will generate an error.


任意。Optional. A長い変数を現在の操作の影響を受けるレコードの数はプロバイダーに返されます。A Long variable to which the provider returns the number of records that the current operation affected.


このパラメーターは、操作が影響を受けたレコードの数のみを返しますレコードの数を生成するために使用する select ステートメントから返されません、 Recordsetします。This parameter only returns the number of records affected by an operation; it does not return a count of records from a select statement used to generate the Recordset.


使用して、 NextRecordset複合コマンド ステートメントでは、次のコマンドのまたは複数の結果を返すストアド プロシージャの結果を返すメソッド。Use the NextRecordset method to return the results of the next command in a compound command statement or of a stored procedure that returns multiple results. 開く場合、レコード セットオブジェクトに基づく複合コマンド ステートメント (たとえば、"選択*table1; からSELECT * TABLE2") を使用して、 Executeメソッドをコマンドまたはオープンメソッドをレコード セット、ADO は、最初のコマンドのみを実行しに結果が返されますrecordsetします。If you open a Recordset object based on a compound command statement (for example, "SELECT * FROM table1;SELECT * FROM table2") using the Execute method on a Command or the Open method on a Recordset, ADO executes only the first command and returns the results to recordset. ステートメント内の後続のコマンドの結果にアクセスするには、呼び出し、 NextRecordsetメソッド。To access the results of subsequent commands in the statement, call the NextRecordset method.

その他の結果がある限り、レコード セットしない切断またはプロセスの境界を越えてマーシャ リング複合ステートメントを含む、 NextRecordsetメソッドは引き続き返すRecordsetオブジェクト。As long as there are additional results and the Recordset containing the compound statements is not disconnected or marshaled across process boundaries, the NextRecordset method will continue to return Recordset objects. 行を返すコマンドが正常に実行されますが、返されるレコードは返されませんRecordsetオブジェクトが開いているが、空になります。If a row-returning command executes successfully but returns no records, the returned Recordset object will be open but empty. テストのことを確認して、この場合、 BOFEOFプロパティが両方ともTrueします。Test for this case by verifying that the BOF and EOF properties are both True. かどうか、行を返すコマンドが正常に実行、返されたレコード セットオブジェクトは閉じて、これをテストして確認できます、状態プロパティをRecordset.If a non-row-returning command executes successfully, the returned Recordset object will be closed, which you can verify by testing the State property on the Recordset. 以外の結果がある場合にレコード セットに設定されますNothingします。When there are no more results, recordset will be set to Nothing.

NextRecordsetメソッドは接続が切断されたで使用できませんレコード セットオブジェクト、 ActiveConnectionに設定されているNothing(Microsoft Visual Basic で)、または NULL (その他の言語) にします。The NextRecordset method is not available on a disconnected Recordset object, where ActiveConnection has been set to Nothing (in Microsoft Visual Basic) or NULL (in other languages).

編集が即時更新モードで実行中の場合は、呼び出し、 NextRecordsetメソッドにはエラーが生成されます。 呼び出し、更新またはCancelUpdateメソッド最初。If an edit is in progress while in immediate update mode, calling the NextRecordset method generates an error; call the Update or CancelUpdate method first.

複合ステートメントで情報を入力して 1 つ以上のコマンドのパラメーターを渡す、パラメーターコレクション、または元の配列を渡すことによってオープンまたはExecute呼び出し、パラメーターは、コマンドのシリーズで、それぞれのコマンドと同じ順序で、コレクションまたは配列でなければなりません。To pass parameters for more than one command in the compound statement by filling the Parameters collection, or by passing an array with the original Open or Execute call, the parameters must be in the same order in the collection or array as their respective commands in the command series. 出力パラメーターの値を読み取る前にすべての結果を読み取りが完了する必要があります。You must finish reading all the results before reading output parameter values.

複合ステートメント内の各コマンドを実行すると、OLE DB プロバイダーを決定します。Your OLE DB provider determines when each command in a compound statement is executed. Microsoft OLE DB Provider for SQL Server、たとえば、複合ステートメントを受信すると、バッチ内のすべてのコマンドを実行します。The Microsoft OLE DB Provider for SQL Server, for example, executes all commands in a batch upon receiving the compound statement. その結果、レコード セットを呼び出すときに返されるだけNextRecordsetします。The resulting Recordsets are simply returned when you call NextRecordset.

ただし、他のプロバイダーがコマンドを実行 [次へ] ステートメントで NextRecordset が呼び出された後にのみです。However, other providers may execute the next command in a statement only after NextRecordset is called. これらのプロバイダーでは、明示的に閉じる場合、 Recordsetコマンド全体のステートメントをステップ実行する前にオブジェクトの残りのコマンドは実行されません。For these providers, if you explicitly close the Recordset object before stepping through the entire command statement, ADO never executes the remaining commands.

適用対象Applies To

Recordset オブジェクト (ADO)Recordset Object (ADO)

関連項目See Also

NextRecordset メソッドの例 (VB) NextRecordset Method Example (VB)
NextRecordset メソッドの例 (VC++)NextRecordset Method Example (VC++)