Бөлісу құралы:


Записи и потоки

В настоящее время ADO предоставляет объект Recordset в качестве основного средства доступа к информации в источниках данных, таких как реляционные базы данных. Однако некоторые поставщики поддерживают объекты Record и Stream в качестве альтернативных или взаимодополняющих объектов, с помощью которых можно управлять данными от поставщиков. Особенности поведения записи см. в документации поставщика.

Записи

Объекты Record по существу функционируют как одностроковые наборы записей. Однако функции Записей ограничены по сравнению с Наборами записей и имеют разные свойства и методы. Источником данных в объекте Record может быть команда, которая возвращает одну строку данных от поставщика. Использование объектов Record , а не Объектов Recordset для получения результатов из запроса, возвращающего одну строку данных, устраняет накладные расходы на создание более сложного объекта Recordset .

Объекты записей могут служить другой цели, особенно с поставщиками источников данных, отличных от традиционных реляционных баз данных, таких как поставщик Microsoft OLE DB для публикации в Интернете. Большая часть информации, которую необходимо обработать, существует не как таблицы в базах данных, а как сообщения в системах электронной почты и файлы в современных файловых системах. Объекты Record и Stream упрощают доступ к информации, хранящейся в источниках, отличных от реляционных баз данных.

Объект Record может представлять и управлять такими данными, как каталоги и файлы в файловой системе, а также папки и сообщения в системе электронной почты. Для этих целей источником записи может быть текущая строка открытого набора записей, абсолютный URL-адрес или относительный URL-адрес в сочетании с открытым объектом Connection .

Как правило, набор записей можно использовать для представления контейнера или родительского элемента в иерархии, такой как папка или каталог. Запись может использоваться для возврата определенных сведений об одном узле в родительском контейнере, например о файле или документе. Основная причина, по которой записи используются для представления такого типа информации, заключается в том, что эти источники данных являются разнородными. Это означает, что у каждой записи может быть свой набор и количество полей. Традиционные наборы записей , содержащие строки из базы данных, однородны, что означает, что каждая строка имеет одинаковое количество и тип полей.

Дополнительные сведения об использовании объекта Record для обработки этих разнородных данных от поставщиков, таких как поставщик публикации в Интернете, см. в разделе Использование ADO для публикации в Интернете.

Потоки

Объект Stream предоставляет средства для чтения, записи и управления потоком байтов. Этот поток байтов может быть текстовым или двоичным и ограничен по размеру только системными ресурсами. Как правило, объекты ADO Stream используются для следующих целей:

  • Для хранения данных набора записей , сохраненных в формате XML. Эти XML-потоки из сохраненных recordsetможно использовать в качестве источника при открытии нового набора записей. Дополнительные сведения см. в разделе Потоки и сохраняемость.

  • Для хранения commandStreams , выполняемых в отношении поставщика в качестве альтернативы CommandText. Например, XML UpdateGrams можно использовать в качестве источника команды для поставщика MICROSOFT OLE DB для SQL Server.

  • Получение результатов от поставщика в формате, отличном от набора записей, например XML-результатов от поставщика MICROSOFT OLE DB для SQL Server. Дополнительные сведения см. в разделе Извлечение наборов результатов в потоки.

  • Для хранения текста или байтов, составляющих файл или сообщение, обычно используется с поставщиками, такими как поставщик Microsoft OLE DB для публикации в Интернете. Дополнительные сведения об этом использовании объектов Stream см. в разделе Использование ADO для публикации в Интернете.

Объект Stream можно открыть в:

  • Простой файл, указанный с URL-адресом.

  • Поле объекта Record или Recordset , содержащее объект Stream .

  • Поток по умолчанию объекта Record или Recordset, представляющий каталог или составной файл.

  • Поле ресурса, содержащее URL-адрес простого файла.

  • Никакого конкретного источника вообще нет. В этом случае объект Stream открывается в памяти. Данные можно записать в него, а затем сохранить в другом потоке или файле.

  • Поле BLOB в наборе записей.

Этот раздел содержит следующие подразделы.