記錄和資料流

ADO 目前提供資料錄集物件,做為存取資料來源 (例如關聯式資料庫) 中資訊的主要方法。 不過,有些提供者支援 RecordStream 物件做為替代物件或互補物件,可以運用這些物件操作提供者提供的資料。 如需 Record 行為的詳細資訊,請參閱提供者的文件。

記錄

Record 物件基本上會做為單列資料錄集使用。 不過,與資料錄集相較,Record 的功能有限,而且屬性和方法不同。Record 物件中的資料來源可以是從提供者傳回一個資料列的命令。 使用 Record 物件而非資料錄集物件來接收傳回一個資料列的查詢結果,可消除較複雜資料錄集物件具現化時的額外負荷。

Record 物件還有另一個用途,尤其適用於傳統關聯式資料庫以外的資料來源提供者,例如 Microsoft OLE DB Provider for Internet Publishing。 許多必須處理的資訊不是以資料庫資料表的形式存在,而是以電子郵件系統內郵件以及現代檔案系統內檔案的形式存在。 RecordStream 物件可協助存取儲存在來源 (而非關聯式資料庫) 中的資訊。

Record 物件可以代表和管理資料,例如檔案系統中的目錄和檔案,或是電子郵件系統中的資料夾和郵件。 有鑑於此,Record 的來源可以是已開啟資料錄集目前的資料列、絕對 URL 或是與已開啟 Connection 物件搭配的相對 URL。

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

如需使用 Record 物件處理提供者 (例如網際網路發佈提供者) 所提供這類異質資料的詳細資訊,請參閱使用 ADO 進行網際網路發佈

串流

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

  • 包含以 XML 格式儲存的資料錄集資料。 開啟新的資料錄集時,可以使用已儲存資料錄集中的這些 XML 資料流做為來源。 如需詳細資訊,請參閱資料流和保存

  • 包含針對提供者執行的 CommandStream,作為 CommandText 的替代方法。 例如,XML UpdateGram 可用來做為 Microsoft OLE DB Provider for SQL Server 命令的來源。

  • 資料錄集以外的格式接收提供者提供的結果,例如來自 Microsoft OLE DB Provider for SQL Server 的 XML 結果。 如需詳細資訊,請參閱將 Resultsets 擷取為資料流

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

可以在下列位置開啟 Stream 物件:

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

  • 包含 Stream 物件的 Record資料錄集欄位。

  • 代表目錄或複合檔案的 Record資料錄集物件的預設資料流。

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

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

  • 資料錄集中的 BLOB 欄位。

此章節包含下列主題。