記錄和串流
ADO 目前提供 Recordset 對象作為存取數據源中資訊的主要方法,例如關係資料庫。 不過,某些提供者支援 Record 和 Stream 物件,做為可操作提供者數據的替代或互補物件。 如需 記錄 行為的詳細資訊,請參閱提供者的文件。
記錄
Record 物件基本上可作為一列 Recordset集合。 不過,Record 與 Recordsets 相比,功能有限,而且具有不同的屬性和方法。Record 物件中數據的來源可以是從提供者傳回一列數據的命令。 使用 Record 物件,而不是 Recordset 物件,從傳回一個數據列的查詢接收結果,可消除具現化更複雜的 Recordset Recordset 物件的額外負荷。
Record 物件可以用於其他用途,特別是對於傳統關係資料庫以外的數據源提供者,例如 Microsoft OLE DB Provider for Internet Publishing。 必須處理的大部分資訊都存在,不是資料庫中的數據表,而是在電子郵件系統和新式文件系統中的檔案中做為訊息。 Record 和 Stream 物件有助於存取儲存在關係資料庫以外的來源中的資訊。
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 指定的簡單檔案。
Record 或 Recordset 的欄位,其中包含 Stream 物件。
代表目錄或複合檔案之 Recordset 或 Recordset 物件的預設數據流。
包含簡單檔案 URL 的資源欄位。
完全沒有特定來源。 在此情況下,會在記憶體中開啟 Stream 物件。 數據可以寫入其中,然後儲存在另一個 Stream 或檔案中。
Recordset中的 BLOB 字段。
本節包含下列主題。