다음을 통해 공유


ISSCommandWithParameters::SetParameterProperties(OLE DB)

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

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 또는 DBTYPE_UDT 유형이 아닌 매개 변수의 속성을 지정하기 위해 ISSCommandWithParameters::SetParameterProperties를 호출하면 DB_E_ERRORSOCCURRED 또는 DB_S_ERRORSOCCURRED가 반환되고, 해당 매개 변수의 SSPARAMPROPS에 포함된 모든 DBPROP의 dwStatus 필드에 DBPROPSTATUS_NOTSET가 표시됩니다. SSPARAMPROPS에 포함된 각 DBPROPSET의 DBPROP 배열을 트래버스하여 DB_E_ERRORSOCCURRED 또는 DB_S_ERRORSOCCURRED 참조하는 매개 변수를 검색해야 합니다.

ISSCommandWithParameters::SetParameterProperties가 호출되어 매개 변수 정보가 SetParameterInfo아직 설정되지 않은 매개 변수의 속성을 지정하는 경우 공급자는 다음 오류 메시지와 함께 E_UNEXPECTED 반환합니다.

먼저 SetParameterInfo 메서드를 호출해야만 지정한 매개 변수에 대해 SetParameterProperties 메서드를 호출할 수 있습니다. 매개 변수 속성을 설정하기 전에 매개 변수 정보를 설정해야 합니다.

ISSCommandWithParameters::SetParameterProperties 호출에 매개 변수 정보가 설정된 일부 매개 변수와 매개 변수 정보가 설정되지 않은 일부 매개 변수가 포함된 경우 SSPARAMPROPS 속성 집합의 DBPROPSET에 있는 dwStatus 속성은 DBSTATUS_NOTSET 함께 반환됩니다.

SSPARAMPROPS 구조체는 다음과 같이 정의됩니다.

struct SSPARAMPROPS {

DBORDINAL iOrdinal;

ULONG cPropertySets;

DBPROPSET *rgPropertySets;

};

SQL Server 2012(11.x)부터 데이터베이스 엔진이 개선되어 ISSCommandWithParameters::SetParameterProperties가 예상 결과에 대한 보다 정확한 설명을 얻을 수 있습니다. 이러한 보다 정확한 결과는 이전 버전의 SQL Server에서 ISSCommandWithParameters::SetParameterProperties에서 반환된 값과 다를 수 있습니다. 자세한 내용은 메타데이터 검색을 참조하세요.

멤버 설명
iOrdinal 전달된 매개 변수의 서수입니다.
cPropertySets rgPropertySets의 DBPROPSET 구조체 수입니다.
rgPropertySets DBPROPSET 구조의 배열을 반환할 메모리에 대한 포인터입니다.

참고 항목

ISSCommandWithParameters(OLE DB)