Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Этот раздел содержит описание поддержки типа параметра OLE DB для параметров, возвращающих табличное значение.
Объект набора строк параметра, возвращающего табличное значение
Можно создать специальный объект набора строк для параметров, возвращающих табличное значение. Можно создать объект набора строк параметра, возвращающего табличное значение, при помощи методов ITableDefinitionWithConstraints::CreateTableWithConstraints или IOpenRowset::OpenRowset. Для этого установите элемент eKind параметра pTableID в значение DBKIND_GUID_NAME и укажите CLSID_ROWSET_INMEMORY как элемент guid. Необходимо указать серверное имя параметра, возвращающего табличное значение, в элементе pwszName параметра pTableID при использовании функции IOpenRowset::OpenRowset. Объект набора строк параметра, возвращающего табличное значение, действует так же, как объект поставщика 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, возвращающих табличные значения (свойства).
См. также
Задания
Использование возвращающих табличные значения параметров (OLE DB)