원하는 속성의 속성 그룹과 속성 ID를 찾을. (참조 OLE DB 프로그래머용 참조에서 OLE DB 속성 .)
다음 예제에서는 행 집합에서 속성을 좀 하려고 하는 가정 합니다. 세션이 나 명령을 사용 하 여 코드 유사 하지만 서로 다른 인터페이스를 사용 하 여。
속성 그룹을 사용 하 여 생성자에 매개 변수로 CDBPropset 개체를 만듭니다. 예를 들어:
CDBPropSet propset(DBPROPSET_ROWSET)
AddProperty를 속성 ID와 값을 속성에 할당할 전달 호출 합니다. 값의 형식을 사용 하는 속성에 따라 달라 집니다.
CDBPropSet propset(DBPROPSET_ROWSET);
propset입니다.AddProperty(DBPROP_IRowsetChange, true);
propset입니다.AddProperty (DBPROP_UPDATABILITY,
DBPROPVAL_UP_INSERT (KO) | DBPROPVAL_UP_CHANGE (KO) | DBPROPVAL_UP_DELETE)
데이터 멤버를 사용 하 여 m_spUnkSite 개체를 만든 개체에 포인터를。
CAgentRowsetlt;CMyProviderCommand > * pRowset = (CAgentRowset <CMyProviderCommand> *) pThis;
< IRowsetInfo, & IID_IRowsetInfo > CComQIPtr spRowsetProps pRowset =
IRowset 인터페이스를 사용 하 여 GetProperties를 호출 합니다. 매개 변수를 설정 하는 속성을 전달 합니다. 다음은 최종 코드가입니다.:
CAgentRowsetlt;CMyProviderCommand > * pRowset = (CAgentRowset <CMyProviderCommand> *) pThis;
< IRowsetInfo, & IID_IRowsetInfo > CComQIPtr spRowsetProps pRowset; =
설정 합니다.AddPropertyID(DBPROP_BOOKMARKS);
DBPROPSET * pPropSet = NULL;
ULONG ulPropSet = 0;
HRESULT hr;
경우 (spRowsetProps)
hr = spRowsetProps-> GetProperties (1, 및 세트 & ulPropSet, 및 pPropSet);
경우 (pPropSet)
{
CComVariant var = pPropSet-> rgProperties [0].vvalue;
CoTaskMemFree (pPropSet-> rgProperties);
CoTaskMemFree(pPropSet);
경우 (SUCCEEDED(hr) & & (var.boolVal = VARIANT_TRUE))
{
…
}
}