Поддержка типов параметров OLE DB, возвращающих табличное значение (методы)
Следующие стандартные методы OLE DB поддерживают возвращающие табличные значения параметры.
Метод | Поддержка возвращающих табличные значения параметров |
---|---|
ITableDefinitionWithConstraints::CreateTableWithConstraints | Используется при наличии сведений о типе возвращающего табличное значение параметра и необходимости создания экземпляра объекта набора строк возвращающего табличное значение параметра на основе сведений о типе. Дополнительные сведения вы найдете в разделе "Статический сценарий" статьи о создании набора строк для возвращающего табличные значения параметра. |
IOpenRowset::OpenRowset | Используется при отсутствии сведений о типе возвращающего табличное значение параметра и необходимости создания экземпляра объекта набора строк возвращающего табличное значение параметра на основе метаданных, полученных от сервера. Дополнительные сведения вы найдете в разделе "Динамический сценарий" статьи о создании набора строк для возвращающего табличные значения параметра. |
ISSCommandWithParameters::SetParameterInfo | Для указания возвращающего табличное значение параметра команды потребитель указывает тип параметра "table" или "DBTYPE_TABLE" в элементе pwszName структуры DBPARAMBINDINFO. ulParamSize имеет значение ~0. Дополнительные сведения см. в разделе "Спецификация возвращающих табличные значения параметров" статьи о выполнении команд с возвращающим табличные значения параметром. |
ISSCommandWithParameters::SetParameterProperties | Задает свойства, определенные для возвращающих табличные значения параметров, например имя схемы, имя типа, порядок столбца и столбцы по умолчанию. Потребитель указывает порядковый номер параметра в элементе iOrdinal структуры SSPARAMPROPS. Запрошенный набор свойств — DBPROPSET_SQLSERVERPARAMETER. |
ISSCommandWithParameters::GetParameterInfo | Возвращает типы всех параметров в указанную команду. Для возвращающих табличные значения параметров поле wType в структуре DBPARAMINFO будет иметь тип DBTYPE_TABLE. Для определения неизвестной длины поле ulParamSize будет установлено в значение ~0. |
ISSCommandWithParameters::GetParameterProperties | Возвращает дополнительные сведения о типе для параметров типа DBTYPE_TABLE. Потребитель указывает порядковый номер параметра в элементе iOrdinal структуры SSPARAMPROPS. Потребитель может запросить любое свойство из набора свойств DBPROPSET_SQLSERVERPARAMETER, которые перечислены в ISSCommandWithParameters::SetParameterProperties. Поскольку потребителю неизвестен тип возвращающего табличное значение параметра, поставщик должен установить правильные значения свойств SSPROP_PARAM_TYPE_TYPENAME, SSPROP_PARAM_TYPE_SCHEMANAME и SSPROP_PARAM_TYPE_CATALOGNAME. Оставшиеся свойства, SSPROP_PARAM_TABLE_DEFAULT_COLUMNS и SSPROP_PARAM_TABLE_COLUMN_SORT_ORDER, сохранят значения по умолчанию. После обнаружения потребителем имени типа возвращающего табличное значение параметра он использует метод IOpenRowset::OpenRowset для создания экземпляра этого параметра, указав имя его типа. Дополнительные сведения см. в статье Обнаружение типа возвращающего табличное значение параметра. |
IRowsetInfo::GetProperties | Возвращает свойства набора строк возвращающего табличное значение параметра. Потребитель может использовать эти параметры для оптимальной установки привязок. |
IColumnsRowset::GetColumnsRowset | Получает метаданные о таблице SQL Server. Для возвращающих табличные значения параметров этот же интерфейс предоставляет подробные метаданные о каждом столбце, например: — DBCOLUMN_FLAGS указывает на допустимость значений NULL через бит DBCOLUMNFLAGS_ISNULLABLE. — DBCOLUMN_ISUNIQUE указывает, является ли столбец столбцом идентификаторов. — DBCOLUMN_COMPUTEMODE указывает, вычисляется ли столбец. |
IAccessor::CreateAccessor | Для привязки объекта набора строк возвращающего табличное значение параметра создается метод доступа с элементом wType, установленным в значение DBTYPE_TABLE. Структура DBOBJECT будет содержать IID_IRowset или любой другой допустимый интерфейс объекта набора строк в элементе iid. Оставшиеся поля обрабатываются тем же способом, как и DBTYPE_IUNKNOWN. |
См. также:
Поддержка типов параметров OLE DB, возвращающих табличные значения
Создание набора строк возвращающего табличное значение параметра
Использование возвращающих табличные значения параметров (OLE DB)