共用方式為


記錄和串流

ADO 目前提供 Recordset 對象作為存取數據源中資訊的主要方法,例如關係資料庫。 不過,某些提供者支援 RecordStream 物件,做為可操作提供者數據的替代或互補物件。 如需 記錄 行為的詳細資訊,請參閱提供者的文件。

記錄

Record 物件基本上可作為一列 Recordset集合。 不過,RecordRecordsets 相比,功能有限,而且具有不同的屬性和方法。Record 物件中數據的來源可以是從提供者傳回一列數據的命令。 使用 Record 物件,而不是 Recordset 物件,從傳回一個數據列的查詢接收結果,可消除具現化更複雜的 Recordset Recordset 物件的額外負荷。

Record 物件可以用於其他用途,特別是對於傳統關係資料庫以外的數據源提供者,例如 Microsoft OLE DB Provider for Internet Publishing。 必須處理的大部分資訊都存在,不是資料庫中的數據表,而是在電子郵件系統和新式文件系統中的檔案中做為訊息。 RecordStream 物件有助於存取儲存在關係資料庫以外的來源中的資訊。

Record 物件可以代表和管理數據,例如文件系統中的目錄和檔案,或電子郵件系統中的資料夾和郵件。 針對這些目的,Record 的來源可以是開啟的 Recordset、絕對 URL 或相對 URL,以及開啟的 Connection 物件。

一般而言,Recordset 可用來代表階層中的容器或父系,例如資料夾或目錄。 Record 可用來傳回父容器中一個節點的特定資訊,例如檔案或檔。 使用記錄 來表示這類資訊的主要原因是這些數據來源是異質的。 這表示每個 Record 可能有不同的欄位集和數目。 傳統的 Recordets 包含資料庫中的數據列是同質的,這表示每個數據列都有相同的欄位數目和類型。

如需使用 Record 對象處理來自因特網發行提供者等提供者之異質數據的詳細資訊,請參閱 使用 ADO 進行因特網發佈

Stream 物件提供讀取、寫入和管理位元組數據流的方法。 此位元組數據流可以是文字或二進位,而且只受限於系統資源的大小。 通常,ADO Stream 物件會用於下列用途:

  • 若要包含 Recordset 的數據, 以 XML 格式儲存。 開啟新的 Recordset時,可以使用儲存的 Recordset之 XML 數據流作為來源。 如需詳細資訊,請參閱 Streams 和 Persistence

  • 若要包含要針對提供者執行的 CommandStreams,作為 CommandText的替代方案。 例如,XML UpdateGrams 可以用作針對 Microsoft SQL Server 的 OLE DB 提供者命令的來源。

  • 若要從提供者接收非 Recordset格式的結果,例如來自 Microsoft OLE DB Provider for SQL Server 的 XML 結果。 如需詳細資訊,請參閱 將結果集擷取至數據流

  • 若要包含組成檔案或訊息的文字或位元組,通常與Microsoft OLE DB Provider for Internet Publishing 等提供者搭配使用。 如需使用 Stream 物件的詳細資訊,請參閱 使用 ADO 進行因特網發行

可以開啟 Stream 物件的地方有:

  • 使用 URL 指定的簡單檔案。

  • RecordRecordset 的欄位,其中包含 Stream 物件。

  • 代表目錄或複合檔案之 RecordsetRecordset 物件的預設數據流。

  • 包含簡單檔案 URL 的資源欄位。

  • 完全沒有特定來源。 在此情況下,會在記憶體中開啟 Stream 物件。 數據可以寫入其中,然後儲存在另一個 Stream 或檔案中。

  • Recordset中的 BLOB 字段。

本節包含下列主題。