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 호출을 사용하여 허용됩니다.
ISSCommandWithParameters::SetParameterProperties 메서드를 호출하기 전에 SetParameterInfo 메서드를 호출해야 합니다. SetParameterProperties(0, NULL)를 호출하면 지정한 모든 매개 변수 속성이 지워지지만 SetParameterInfo(0,NULL,NULL)를 호출하면 매개 변수와 관련이 있을 수 있는 모든 속성을 비롯하여 모든 매개 변수 정보가 지워집니다.
DBTYPE_XML or DBTYPE_UDT 유형이 아닌 매개 변수의 속성을 지정하기 위해 ISSCommandWithParameters::SetParameterProperties를 호출하면 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를 반환합니다.
먼저 SetParameterInfo 메서드를 호출해야만 지정한 매개 변수에 대해 SetParameterProperties 메서드를 호출할 수 있습니다. 매개 변수 속성을 설정하기 전에 매개 변수 정보를 설정해야 합니다.
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 구조의 배열을 반환할 메모리에 대한 포인터입니다. |