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 がビルドされると 1 回 ISSCommandWithParameters::SetParameterProperties
の呼び出しで許可されます。
メソッドを呼び出す前に 、SetParameterInfo メソッドを呼び出す ISSCommandWithParameters::SetParameterProperties
必要があります。 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 配列をすべて調べる必要があります。
パラメーター情報がまだ SetParameterInfo で設定されていないパラメーターのプロパティを指定するために が呼び出された場合ISSCommandWithParameters::SetParameterProperties
、プロバイダーは次のエラー メッセージと共にE_UNEXPECTEDを返します。
パラメーターを指定して SetParameterProperties メソッドを呼び出す場合は、最初に SetParameterInfo メソッドを呼び出す必要があります。 パラメーターのプロパティを設定する前に、パラメーター情報を設定する必要があります。
の ISSCommandWithParameters::SetParameterProperties
呼び出しにパラメーター情報が設定されているパラメーターと、パラメーター情報が設定されていないパラメーターが含まれている場合、SSPARAMPROPS プロパティ セットの DBPROPSET の dwStatus プロパティは、DBSTATUS_NOTSETで返されます。
SSPARAMPROPS 構造体は、次のように定義されています。
struct SSPARAMPROPS {
DBORDINAL iOrdinal;
ULONG cPropertySets;
DBPROPSET *rgPropertySets;
};
SQL Server 2012 以降のデータベース エンジンの機能強化により、ISSCommandWithParameters::SetParameterProperties で予想される結果のより正確な説明を取得できます。 結果がより正確になり、以前のバージョンの SQL Server で ISSCommandWithParameters::SetParameterProperties から返される値とは異なる可能性があります。 詳細については、「メタデータの検出」を参照してください。
メンバー | 説明 |
---|---|
iOrdinal | 渡されるパラメーターの序数 |
cPropertySets | rgPropertySets 内の DBPROPSET 構造体の数 |
rgPropertySets | DBPROPSET 構造体の配列を返すメモリへのポインター |