數據列集是一組包含數據行的數據列。 數據列集是可讓所有 OLE DB 資料提供者以表格式形式公開結果集數據的中央物件。
取用者使用 IDBCreateSession::CreateSession 方法建立會話之後,取用者可以在會話上使用 IOpenRowset 或 IDBCreateCommand 介面來建立數據列集。 SQL Server Native Client OLE DB 提供者支援這兩個介面。 這裡將說明這兩種方法。
呼叫 IOpenRowset::OpenRowset 方法來建立數據列集。
這相當於在單一數據表上建立數據列集。 這個方法會開啟並傳回包含單一基表所有數據列的數據列集。 OpenRowset 的其中一個自變數是數據表標識碼,可識別要從中建立數據列集的數據表。
呼叫 IDBCreateCommand::CreateCommand 方法來建立命令物件。
命令物件會執行提供者支援的命令。 使用 SQL Server Native Client OLE DB 提供者,取用者可以指定任何 Transact-SQL 語句,例如 SELECT 語句或預存程式的呼叫。 使用命令物件建立資料列集的步驟如下:
取用者會在會話上呼叫 IDBCreateCommand::CreateCommand 方法,以取得命令物件上要求 ICommandText 介面的命令物件。 這個 ICommandText 介面會設定並擷取實際的命令文字。 取用者會呼叫 ICommandText::SetCommandText 方法,以填入文字命令。
使用者會在 命令上呼叫 ICommand::Execute 方法。 當命令執行時所建置的數據列集物件包含命令的結果集。
取用者可以使用 ICommandProperties 介面來取得或設定 ICommand::Execute 介面所執行之命令所傳回之數據列集的屬性。 最常要求的屬性是數據列集必須支持的介面。 除了介面之外,取用者還可以要求修改數據列集或介面行為的屬性。
取用者會使用 IRowset::Release 方法發行數據列集。 發行數據列集會釋放取用者在該數據列集上保留的任何數據列句柄。 釋放數據列集並不會釋放存取子。 如果您有 IAccessor 介面,它仍必須發行。