Наборы строк
Набор строк — это несколько строк, содержащих столбцы данных. Наборы строк — это основные объекты, позволяющие всем поставщикам данных OLE DB представлять данные результирующих наборов в виде таблиц.
После создания сеанса с помощью метода IDBCreateSession::CreateSession потребитель может использовать интерфейс IOpenRowset или IDBCreateCommand этого сеанса для создания набора строк. Поставщик OLE DB SQL Server Native Client поддерживает оба этих интерфейса. Оба эти метода описаны здесь.
Создайте набор строк, вызвав метод IOpenRowset::OpenRowset.
Это эквивалентно созданию набора строк из одной таблицы. Этот метод открывает и возвращает набор строк, включающий все строки одной базовой таблицы. Одним из аргументов метода OpenRowset является идентификатор таблицы, указывающий таблицу, на основе которой создается набор строк.
Создайте объект команд с помощью метода IDBCreateCommand::CreateCommand.
Объект команд выполняет команды, поддерживаемые поставщиком. С помощью поставщика SQL SERVER NATIVE CLIENT OLE DB потребитель может указать любую инструкцию Transact-SQL, например инструкцию SELECT или вызов хранимой процедуры. Создание набора строк с помощью объекта команд включает следующие шаги.
Потребитель вызывает метод IDBCreateCommand::CreateCommand для сеанса, чтобы получить объект команд, запрашивающий интерфейс ICommandText для объекта команд. Этот интерфейс ICommandText задает и получает действительный текст команды. Потребитель заполняет текст команды путем вызова метода ICommandText::SetCommandText.
Пользователь вызывает метод ICommand::Execute для команды. Объект набора строк, создаваемый во время выполнения команды, содержит результирующий набор этой команды.
Потребитель может использовать интерфейс ICommandProperties для получения или задания свойств набора строк, возвращаемого командой, которая выполняется интерфейсом ICommand::Execute. Наиболее часто запрашиваемыми свойствами являются интерфейсы, которые должны поддерживаться набором строк. Кроме интерфейсов, потребитель может запросить свойства, изменяющие поведение набора строк или интерфейса.
Потребители освобождают наборы строк с помощью метода IRowset::Release. При освобождении набора строк освобождаются все дескрипторы строк, удерживаемые потребителем для данного набора строк. При освобождении набора строк методы доступа не освобождаются. Если используется интерфейс IAccessor, его нужно освободить отдельно.