次の方法で共有


ISSCommandWithParameters::SetParameterProperties (OLE DB)

序数順に各パラメータのパラメータ プロパティを設定するか、SSPARAMPROPS 構造体の配列を指定して、一括でパラメータ プロパティを設定します。

構文

HRESULT SetParameterProperties(
      DB_UPARAMS cParams, 
      SSPARAMPROPS rgParamProperties[]);

引数

  • cParams[in]
    rgParamProperties 配列内の SSPARAMPROPS 構造体の数。この数が 0 の場合、ISSCommandWithParameters::SetParameterProperties では、コマンドのパラメータに指定されているすべてのプロパティを削除します。

  • rgParamProperties[in]
    設定する SSPARAMPROPS 構造体の配列。

リターン コード値

ISSCommandWithParameters::SetParameterProperties メソッドでは、主要な OLE DB ICommandProperties::SetProperties メソッドと同じエラー コードを返します。

説明

このメソッドを使用したパラメータ プロパティの設定は、各パラメータに対して序数順に行うか、プロパティ配列から SSPARAMPROPS が構築されるたびに ISSCommandWithParameters::SetParameterProperties を 1 回呼び出すことによって行うことができます。

ISSCommandWithParameters::SetParameterProperties メソッドを呼び出す前に、SetParameterInfo メソッドを呼び出す必要があります。SetParameterProperties(0, NULL) を呼び出すと、指定したパラメータ プロパティがすべて消去されます。また、SetParameterInfo(0,NULL,NULL) を呼び出すと、パラメータに関連付けられているすべてのプロパティを含めて、パラメータに関するすべての情報が消去されます。

ISSCommandWithParameters::SetParameterProperties を呼び出すときに DBTYPE_XML 型または DBTYPE_UDT 型以外のパラメータのプロパティを指定すると、DB_E_ERRORSOCCURRED または DB_S_ERRORSOCCURRED が返され、そのパラメータの SSPARAMPROPS に含まれているすべての DBPROP の dwStatus フィールドに DBPROPSTATUS_NOTSET が設定されます。DB_E_ERRORSOCCURRED または DB_S_ERRORSOCCURRED が指しているパラメータを検出するには、SSPARAMPROPS に含まれている各 DBPROPSET の DBPROP 配列をすべて調べる必要があります。

ISSCommandWithParameters::SetParameterProperties を呼び出すときに、SetParameterInfo によって情報が設定されていないパラメータのプロパティを指定すると、プロバイダは次のエラー メッセージと共に E_UNEXPECTED を返します。

パラメータを指定して SetParameterProperties メソッドを呼び出す場合は、最初に SetParameterInfo メソッドを呼び出す必要があります。パラメータのプロパティを設定する前に、パラメータ情報を設定する必要があります。

ISSCommandWithParameters::SetParameterProperties を呼び出すときに、情報が設定されているパラメータと設定されていないパラメータが含まれている場合、SSPARAMPROPS プロパティ セットの DBPROPSET 内の dwStatus プロパティに DBSTATUS_NOTSET が設定されて返されます。

SSPARAMPROPS 構造体は、次のように定義されています。

struct SSPARAMPROPS {

DBORDINAL iOrdinal;

ULONG cPropertySets;

DBPROPSET *rgPropertySets;

};

メンバ

説明

iOrdinal

渡されるパラメータの序数

cPropertySets

rgPropertySets 内の DBPROPSET 構造体の数

rgPropertySets

DBPROPSET 構造体の配列を返すメモリへのポインタ

関連項目

参照