Save 方法
將 Recordset 儲存在檔案或 Stream 物件中。
語法
recordset.Save Destination, PersistFormat
參數
目的地
自選。
Variant,代表要儲存 Recordset 之檔案的完整路徑名稱,或 Stream 對象的參考。
PersistFormat
自選。
PersistFormatEnum 值,指定要儲存 Recordset 的格式(XML 或 ADTG)。 預設值 adPersistADTG。
言論
Save 方法 方法只能在開啟 Recordset上叫用。 使用 Open 方法 (ADO Recordset) 方法來稍後從 Destination還原 Recordset。
如果 Filter 屬性 屬性對 Recordset生效,則只會儲存篩選下可存取的數據列。 如果 Recordset 為階層式,則會儲存目前的子 Recordset 及其子系,包括 Recordset 的父。 如果呼叫子系的 Save 方法 Recordset,子系及其所有子系都會儲存,但父系不是。
第一次儲存 Recordset時,您可以選擇指定 Destination。 如果您省略 Destination,將會建立新的檔案,並將名稱設定為 Recordset的 Source 屬性值。
當您在第一次儲存之後呼叫 Save,或會發生運行時錯誤時,請省略 目的地。 如果您接著使用新的 Destination呼叫 Save ,則會將 Recordset 儲存到新的目的地。 不過,新的目的地和原始目的地都會開啟。
儲存 不會關閉 Recordset 或 Destination,因此您可以繼續使用 Recordset 並儲存最近的變更。 目的地 會保持開啟狀態,直到 Recordset 關閉為止。
基於安全性考慮,Save 方法只允許使用 Microsoft Internet Explorer 所執行之腳本的低和自定義安全性設定。
如果在異步 Recordset 擷取、執行或更新作業正在進行時呼叫 Save 方法,則 Save 等候異步操作完成。
記錄會從 Recordset 的第一個資料列開始儲存,。 當 Save 方法完成時,目前的數據列位置會移至 Recordset的第一個數據列。
為了獲得最佳結果,請使用save Save,將 CursorLocation 屬性 (ADO) 屬性設定為 adUseClient 。 如果您的提供者不支援儲存 Recordset 物件所需的所有功能,Cursor Service 會提供該功能。
當保存 Recordset,並將 CursorLocation 屬性設定為 adUseServer時,Recordset 的更新功能會受到限制。 一般而言,只允許單一數據表更新、插入和刪除(取決於提供者功能)。 Resync 方法 方法在此設定中也無法使用。
注意
ADO 不支援儲存 RecordsetFieldsadVariant、adIDispatch或 adIUnknown,而且可能會導致無法預期的結果。
只有準則字串格式的篩選(例如 OrderDate > '12/31/1999')會影響保存 Recordset的內容。 使用 Bookmarks 陣列建立的篩選 或使用 FilterGroupEnum 的值,不會影響保存 Recordset的內容。 這些規則適用於使用用戶端或伺服器端數據指標建立 Recordset。
由於 Destination 參數可以接受任何支援 OLE DB IStream 介面的物件,因此您可以將 Recordset 直接儲存至 ASP Response 物件。 如需詳細資訊,請參閱 XML 記錄集持續性案例。
您也可以將 XML 格式的 Recordset 儲存至 MSXML DOM 物件的實例,如下列 Visual Basic 程式代碼所示:
Dim xDOM As New MSXML.DOMDocument
Dim rsXML As New ADODB.Recordset
Dim sSQL As String, sConn As String
sSQL = "SELECT customerid, companyname, contactname FROM customers"
sConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Northwind.mdb"
rsXML.Open sSQL, sConn
rsXML.Save xDOM, adPersistXML 'Save Recordset directly into a DOM tree.
...
注意
將階層式 Recordets (資料圖形) 儲存為 XML 格式時,適用兩項限制。 如果階層式 Recordset 包含擱置的更新,而且您無法將參數化的階層式 Recordset 儲存至 XML。
以 XML 格式儲存 Recordset 會使用 UTF-8 格式儲存。 當這類檔案載入 ADO Stream 時,除非數據流的 Charset 屬性設定為 UTF-8 格式的適當值,否則 Stream 物件不會嘗試從數據流開啟 Recordset。
適用於
另請參閱
Save 和 Open 方法範例 (VB)
Save 和 Open 方法範例 (VC++)
Open 方法 (ADO 記錄集)
Open 方法 (ADO 資料流)
SaveToFile 方法