Conjuntos de linhas
Um conjunto de linhas contém colunas de dados. Os conjuntos de linhas são objetos centrais que permitem que todos os provedores de dados OLE DB exponham dados de conjuntos de resultados em formato tabular.
Depois que um consumidor cria uma sessão usando o método IDBCreateSession::CreateSession, ele pode usar a interface IOpenRowset ou IDBCreateCommand na sessão para criar um conjunto de linhas. O provedor OLE DB do SQL Server Native Client dá suporte às duas interfaces. Esses dois métodos são descritos aqui.
Criar um conjunto de linhas chamando o método IOpenRowset::OpenRowset.
Isto equivale a criar um conjunto de linhas sobre uma única tabela. Este método abre e retorna um conjunto de linhas que inclui todas as linhas de uma única tabela base. Um dos argumentos para OpenRowset é uma ID de tabela que identifica a tabela a partir da qual o conjunto de linhas deve ser criado.
Criar um objeto de comando chamando o método IDBCreateCommand::CreateCommand.
O objeto de comando executa comandos aos quais o provedor dá suporte. Com o provedor OLE DB do SQL Server Native Client, o consumidor pode especificar qualquer instrução Transact-SQL, como a instrução SELECT, ou uma chamada para um procedimento armazenado. As etapas para a criação de um conjunto de linhas usando um objeto de comando são:
O consumidor chama o método IDBCreateCommand::CreateCommand na sessão para obter um objeto de comando que solicita a interface ICommandText no objeto de comando. Essa interface ICommandText define e recupera o texto de comando real. O consumidor preenche o comando de texto chamando o método ICommandText::SetCommandText.
O usuário chama o método ICommand::Execute no comando. O objeto do conjunto de linhas criado quando o comando é executado contém o conjunto de resultados do comando.
O consumidor pode usar a interface ICommandProperties para obter ou definir as propriedades do conjunto de linhas retornado pelo comando executado pelas interfaces ICommand::Execute. As propriedades solicitadas com mais freqüência são as interfaces às quais o conjunto de linhas deve dar suporte. Além das interfaces, o consumidor pode solicitar propriedades que modificam o comportamento do conjunto de linhas ou da interface.
Os consumidores liberam conjuntos de linhas com o método IRowset::Release. A liberação de um conjunto de linhas libera todos os indicadores de linha mantidos pelo consumidor nesse conjunto de linhas. A liberação de um conjunto de linhas não libera os acessadores. Se você tiver uma interface IAccessor, ela ainda deverá ser liberada.
Nesta seção