Compartilhar via


Registros e fluxos

Atualmente, o ADO fornece o objeto Recordset como o principal meio de acessar informações em fontes de dados, como bancos de dados relacionais. No entanto, alguns provedores dão suporte aos objetos Record e Stream como objetos alternativos ou complementares com os quais os dados de provedores podem ser manipulados. Para obter detalhes sobre o comportamento de Record, confira a documentação do provedor.

Registros

Os objetos Record funcionam essencialmente como Recordsets de uma linha. No entanto, Records têm funcionalidade limitada em comparação com Recordsets e têm diferentes propriedades e métodos. A fonte dos dados em um objeto Record pode ser um comando que retorna uma linha de dados do provedor. O uso de objetos Record em vez de objetos Recordset para receber os resultados de uma consulta que retorna uma linha de dados elimina a sobrecarga da instanciação do objeto Recordset mais complexo.

Os objetos Record podem servir a outra finalidade, especialmente com provedores para fontes de dados diferentes dos bancos de dados relacionais tradicionais, como o Provedor OLE DB da Microsoft para Publicação na Internet. Grande parte das informações que precisam ser processadas existe, não como tabelas em bancos de dados, mas como mensagens em sistemas de email eletrônicos e arquivos em sistemas de arquivos modernos. Os objetos Record e Stream facilitam o acesso a informações armazenadas em fontes que não sejam bancos de dados relacionais.

O objeto Record pode representar e gerenciar dados, por exemplo, diretórios e arquivos, em um sistema de arquivos ou pastas e mensagens em um sistema de email. Para esse fim, a fonte de Record pode ser a linha atual de um Recordset aberto, uma URL absoluta ou uma URL relativa em conjunto com um objeto Connection aberto.

Normalmente, um Recordset pode ser usado para representar um contêiner ou pai em uma hierarquia, por exemplo, uma pasta ou um diretório. Um Record pode ser usado para retornar informações específicas sobre um nó no contêiner pai, como um arquivo ou documento. O principal motivo pelo qual Records são usados para representar esse tipo de informação é que essas fontes de dados são heterogêneas. Isso significa que cada Record pode ter um conjunto e um número de campos diferentes. Os Recordsets tradicionais que contêm linhas de um banco de dados são homogêneos, o que significa que cada linha tem o mesmo número e tipo de campos.

Para saber mais sobre como usar o objeto Record para processar esses dados heterogêneos de provedores como o Provedor de Publicação da Internet, confira Usando o ADO para Publicação na Internet.

Fluxos

O objeto Stream fornece os meios para ler, gravar e gerenciar um fluxo de bytes. Esse fluxo de bytes pode ser de texto ou binário e é limitado apenas em tamanho pelos recursos do sistema. Normalmente, os objetos Stream do ADO são usados para as seguintes finalidades:

  • Para conter os dados de um Recordset salvo no formato XML. Esses fluxos XML de Recordsets salvos podem ser usados como a origem na abertura de um novo Recordset. Para saber mais, confira Fluxos e persistência.

  • Para conter CommandStreams a serem executados no provedor como uma alternativa ao CommandText. Por exemplo, os UpdateGrams XML podem ser usados como a origem de um comando no Provedor OLE DB da Microsoft para SQL Server.

  • Para receber resultados do provedor em um formato diferente de um Recordset, por exemplo, resultados XML do Provedor OLE DB da Microsoft para SQL Server. Para saber mais, confira Recuperando conjuntos de resultados em fluxos.

  • Para conter o texto ou bytes que compõem um arquivo ou mensagem, normalmente usados com provedores como o Provedor OLE DB da Microsoft para Publicação na Internet. Para saber mais sobre esse uso de objetos stream, confira Usando o ADO para Publicação na Internet.

Um objeto Stream pode ser aberto em:

  • Um arquivo simples especificado com uma URL.

  • Um campo de um Record ou Recordset que contém um objeto Stream.

  • O fluxo padrão de um objeto Record ou Recordset que representa um diretório ou arquivo composto.

  • Um campo de recurso que contém a URL de um arquivo simples.

  • Nenhuma fonte específica. Nesse caso, um objeto Stream é aberto na memória. Os dados podem ser gravados nele e salvos em outro Stream ou arquivo.

  • Um campo BLOB em um Recordset.

Esta seção contém os seguintes tópicos.