IDBPropertiesImpl 类
提供 IDBProperties
接口的实现。
语法
template <class T>
class ATL_NO_VTABLE IDBPropertiesImpl
: public IDBProperties, public CUtlProps<T>
参数
T
你的类,派生自 IDBPropertiesImpl
。
要求
标头: atldb.h
成员
接口方法
名称 | 描述 |
---|---|
GetProperties | 返回当前在数据源对象上设置的数据源、数据源信息和初始化属性组中的属性值,或当前在枚举器上设置的初始化属性组中的属性值。 |
GetPropertyInfo | 返回有关提供程序支持的所有属性的信息。 |
SetProperties | 为数据源对象设置数据源和初始化属性组中的属性,或为枚举器设置初始化属性组中的属性。 |
备注
IDBProperties 是数据源对象的强制接口和枚举器的可选接口。 但是,如果枚举器公开 IDBInitialize,它必须公开 IDBProperties
。 IDBPropertiesImpl
通过使用由 BEGIN_PROPSET_MAP 定义的静态函数来实现 IDBProperties
。
IDBPropertiesImpl::GetProperties
返回当前在数据源对象上设置的数据源、数据源信息和初始化属性组中的属性值,或当前在枚举器上设置的初始化属性组中的属性值。
语法
STDMETHOD(GetProperties)(ULONG cPropertySets,
const DBPROPIDSET rgPropertySets[],
ULONG * pcProperties,
DBPROPSET ** prgProperties);
参数
请参阅 OLE DB 程序员参考中的 IDBProperties::GetProperties。
部分参数对应不同名称的“OLE DB 程序员参考”参数,在 IDBProperties::GetProperties
中进行了说明:
OLE DB 模板参数 | “OLE DB 程序员参考”参数 |
---|---|
cPropertySets | cPropertyIDSets |
rgPropertySets | rgPropertyIDSets |
pcProperties | pcPropertySets |
prgProperties | prgPropertySets |
备注
如果提供程序已初始化,则此方法返回当前在数据源对象上设置的 DBPROPSET_DATASOURCE、DBPROPSET_DATASOURCEINFO、DBPROPSET_DBINIT 属性组中的属性值。 如果提供程序未初始化,则它仅返回 DBPROPSET_DBINIT 组属性。
IDBPropertiesImpl::GetPropertyInfo
返回数据源支持的属性信息。
语法
STDMETHOD(GetPropertyInfo)(ULONG cPropertySets,
const DBPROPIDSET rgPropertySets[],
ULONG * pcPropertyInfoSets,
DBPROPINFOSET ** prgPropertyInfoSets,
OLECHAR ** ppDescBuffer);
参数
请参阅 OLE DB 程序员参考中的 IDBProperties::GetPropertyInfo。
部分参数对应不同名称的“OLE DB 程序员参考”参数,在 IDBProperties::GetPropertyInfo
中进行了说明:
OLE DB 模板参数 | “OLE DB 程序员参考”参数 |
---|---|
cPropertySets | cPropertyIDSets |
rgPropertySets | rgPropertyIDSets |
备注
使用 IDBInitializeImpl::m_pCUtlPropInfo 来实现此功能。
IDBPropertiesImpl::SetProperties
为数据源对象设置数据源和初始化属性组中的属性,或为枚举器设置初始化属性组中的属性。
语法
STDMETHOD(SetProperties)(ULONG cPropertySets,
DBPROPSET rgPropertySets[]);
参数
请参阅 OLE DB 程序员参考中的 IDBProperties::SetProperties。
注解
如果提供程序已初始化,则此方法设置数据源对象的 DBPROPSET_DATASOURCE、DBPROPSET_DATASOURCEINFO、DBPROPSET_DBINIT 属性组中的属性值。 如果提供程序未初始化,则它仅设置 DBPROPSET_DBINIT 组属性。