準備とコマンドの実行
コマンドとは、基となるデータ ソースに対して何らかの操作を実行するためにプロバイダーに発行される命令です。 たとえば、SQL ステートメントは、Microsoft SQL データ プロバイダーに対するコマンドです。 ADO では、コマンドは通常 Command オブジェクトで表現されますが、単純なコマンドは Connection オブジェクトや Recordset オブジェクトを使って発行することもできます。
Command オブジェクトを使うと、プロバイダーがコマンド文字列を適切に解釈できることを前提に、サポートされているあらゆる種類の操作をプロバイダーに要求することができます。 データ プロバイダーの一般的な操作は、データベースへのクエリを実行して Recordset オブジェクト内のレコードを返すことです。これは、結果を保持するコンテナーと結果を表示するツールと考えることができます。 多くの ADO オブジェクトと同様に、プロバイダーの機能によっては、Command オブジェクトのコレクション、メソッド、またはプロパティの参照時に、エラーが発生する場合があります。
Command オブジェクトの使用に加えて、Connection オブジェクトの Execute メソッドまたは Recordset オブジェクトの Open メソッドを使ってコマンドを発行し、実行させることができます。 ただし、コード内でコマンドを再利用する必要がある場合や、コマンドで詳細なパラメーター情報を渡す必要がある場合は、Command オブジェクトを使う必要があります。 このシナリオについては、このセクションで後ほど詳しく説明します。
Note
プロバイダーがサポートしている場合、特定の Command は Recordset としてではなく、バイナリ ストリームまたは単一の Record として結果セットを返すことができます。 また、一部の Command は、結果セットをまったく返さないように意図されています (例: SQL Update クエリなど)。 このセクションでは、最も一般的なシナリオである、Recordset オブジェクトとして結果を返す Command を実行する場合について説明します。 Record や Stream 内に結果を返すことについての詳細については、「レコードとストリーム」を参照してください。
このセクションでは、次のトピックを扱います。