Поделиться через


Поддержка типа параметра OLE DB, возвращающего табличное значение

Этот раздел содержит описание поддержки типа параметра OLE DB для возвращающих табличное значение параметров.

Объект набора строк возвращающего табличное значение параметра

Можно создать специальный объект набора строк для возвращающих табличное значение параметров. Можно создать объект набора строк возвращающего табличное значение параметра при помощи методов ITableDefinitionWithConstraints::CreateTableWithConstraints или IOpenRowset::OpenRowset. Для этого установите элемент eKind параметра pTableID в значение DBKIND_GUID_NAME и укажите CLSID_ROWSET_INMEMORY как элемент guid. При использовании IOpenRowset::OpenRowset необходимо указать на сервере имя типа возвращающего табличное значение параметра в элементе pwszName параметра pTableID. Объект набора строк возвращающего табличное значение параметра ведет себя также, как объект поставщика OLE DB для собственного клиента SQL Server.

const GUID CLSID_ROWSET_TVP = {0xc7ef28d5, 0x7bee, 0x443f, {0x86, 0xda, 0xe3, 0x98, 0x4f, 0xcd, 0x4d, 0xf9}};CoType RowsetTVP{[mandatory] interface IAccessor;[mandatory] interface IColumnsInfo;[mandatory] interface IConvertType;[mandatory] interface IRowset;[mandatory] interface IRowsetInfo;[optional]  interface IColumnsRowset;[optional]  interface IRowsetChange;[optional]  interface ISupportErrorInfo;};

DBTYPE_TABLE

Новый тип, DBTYPE_TABLE, представляет собой табличный тип. Этот тип описывает возвращающие табличное значение параметры в различных интерфейсах OLE DB, где требуется тип DBTYPE.

#define DBTYPE_TABLE (143)

DBTYPE_TABLE имеет такой же формат, как и DBTYPE_IUNKNOWN. Представляет собой указатель на объект в буфере данных. Для завершения спецификации привязок потребитель заполняет буфер DBOBJECT с iid, задающим один из интерфейсов объекта (IID_IRowset). Если DBOBJECT не указан в привязках, будет взят IID_IRowset.

Преобразования в и из DBTYPE_TABLE для любых других типов не поддерживаются. Метод IConvertType::CanConvert возвратит S_FALSE для неподдерживаемого преобразования на любой запрос, отличающийся от преобразования DBTYPE_TABLE в DBTYPE_TABLE. Такое преобразование принимает DBCONVERTFLAGS_PARAMETER объекта Command.

Методы

Сведения о методах OLE DB, поддерживающих возвращающие табличное значение параметры, см. в разделе Поддержка типов параметров OLE DB, возвращающих табличное значение (методы).

Свойства

Сведения о свойствах OLE DB, поддерживающих возвращающие табличное значение параметры, см. в разделе Поддержка типов параметров OLE DB, возвращающих табличные значения (свойства).