Parameters コレクションには、Command オブジェクトのすべての Parameter オブジェクトが格納されます。
Command オブジェクトは、1 つ以上の Parameter オブジェクトからなる Parameters コレクションを持っています。
Command オブジェクトの Parameters コレクションに対して Refresh メソッドを使うと、Command オブジェクトの中で指定されたストアド プロシージャまたはパラメータ指定クエリーのパラメータ情報をプロバイダから取得します。プロバイダがストアド プロシージャ呼び出しやパラメータ指定クエリーをサポートしていない場合には、コレクションは空のままです。
独自に Parameter オブジェクトを定義しないまま Refresh メソッドを呼び出す前に Parameters コレクションにアクセスした場合、ADO は自動的に Refresh メソッドを呼び出してコレクションを収集します。
呼び出そうとしているストアド プロシージャやパラメータ指定クエリーに関連付けられているパラメータの名前とプロパティが分かっている場合は、プロバイダへの呼び出しを最小限に抑えてパフォーマンスを向上させることができます。これには、CreateParameter メソッドを使って適切なプロパティ設定を持つ Parameter オブジェクトを作成し、Append メソッドを使ってそれらを Parameters コレクションに追加します。これにより、プロバイダを呼び出してパラメータ情報を取得することなく、パラメータ値の設定と取得ができます。パラメータ情報を提供しないプロバイダを作成する場合は、必ずこの方法を使って手動で Parameters コレクションを収集し、パラメータが使えるようにしてください。また、必要ならば Delete を使って Parameters コレクションから Parameter オブジェクトを削除してください。
コレクション内の Parameter オブジェクトを序数または Name プロパティを使って参照する場合は、次のいずれかの構文を使います。
command.Parameters.Item(0)
command.Parameters.Item("name")
command.Parameters(0)
command.Parameters("name")
command(0)
command("name")
command![name]