Save 方法
将 Recordset 保存在文件或 Stream 对象中。
语法
recordset.Save Destination, PersistFormat
参数
目标
自选。
Variant,表示要保存 Recordset 的文件的完整路径名称,或对 Stream 对象的引用。
PersistFormat
自选。
PersistFormatEnum 值,该值指定要保存 Recordset 的格式(XML 或 ADTG)。 默认值为 adPersistADTG 。
言论
Save 方法 方法只能在打开的 Recordset上调用。 使用 Open 方法(ADO Recordset) 方法稍后从 目标还原 Recordset。
如果 Filter 属性 属性对 Recordset生效,则仅保存筛选器下可访问的行。 如果 Recordset 是分层的,则保存当前子 Recordset 及其子集,包括父 Recordset。 如果调用子 Recordset 的 Save 方法,则子项及其所有子项都会保存,但父级不是。
首次保存 记录集时,可以选择指定 目标。 如果省略 目标,则会创建一个新文件,其名称设置为 Recordset的 Source 属性的值。
在首次保存后调用 保存 时,省略 目标,否则会发生运行时错误。 如果随后使用新的 目标调用 保存,Recordset 将保存到新目标。 但是,新目标和原始目标都将打开。
保存 不会关闭 记录集 或 目标,因此可以继续使用 Recordset 并保存最近的更改。 目标 保持打开状态,直到关闭 记录集。
出于安全考虑,Save 方法仅允许使用由 Microsoft Internet Explorer 执行的脚本中的低自定义安全设置。
如果在异步 记录集 提取、执行或更新操作时调用 Save 方法,则 保存 等待异步操作完成。
记录从 记录集的第一行开始保存。 Save 方法完成后,当前行位置将移动到 Recordset的第一行。
为了获得最佳结果,请将 CursorLocation 属性(ADO) 属性设置为 adUseClient,Save。 如果提供程序不支持保存 Recordset 对象所需的所有功能,游标服务将提供该功能。
当 Recordset 保留时,CursorLocation 属性设置为 adUseServer,则 Recordset 的更新功能受到限制。 通常,只允许单表更新、插入和删除(取决于提供程序功能)。 Resync 方法 方法在此配置中也不可用。
注意
ADO 不支持将 Recordset 与 Fields 类型 adVariant、adIDispatch或 adIUnknown 一起保存,并可能导致不可预知的结果。
只有条件字符串形式的筛选器(例如 OrderDate > '12/31/1999')影响持久化 Recordset的内容。 使用 书签数组创建的筛选器 或使用来自 FilterGroupEnum 的值不会影响持久化 Recordset的内容。 这些规则适用于使用客户端或服务器端游标创建的 Recordset。
由于 Destination 参数可以接受任何支持 OLE DB IStream 接口的对象,因此可以直接将 Recordset 保存到 ASP 响应对象。 有关详细信息,请参阅 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.
...
注意
以 XML 格式保存分层记录集(数据形状)时,存在两个限制。 如果分层 Recordset 包含挂起的更新,并且无法保存参数化的分层 Recordset,则无法保存到 XML 中。
使用 UTF-8 格式保存 记录集。 将此类文件加载到 ADO Stream 中时,除非流的 Charset 属性设置为 UTF-8 格式的相应值,否则 Stream 对象不会尝试从流中打开 Recordset。
适用于
另请参阅
保存和打开方法示例 (VB)
保存和打开方法示例(VC++)
Open 方法 (ADO Recordset)
Open 方法(ADO 流)
SaveToFile 方法