次の方法で共有


保存メソッド

Recordset をファイルまたは Stream オブジェクト 保存します。

構文

  
recordset.Save Destination, PersistFormat  

パラメーター

行き先
任意。 Recordset を保存するファイルの完全なパス名、または Stream オブジェクトへの参照を表すバリアント型 (Variant) の値です。

PersistFormat
任意。 Recordset を保存する形式 (XML または ADTG) を指定する PersistFormatEnum 値。 既定値は adPersistADTG です

注釈

Save メソッドは、開いている Recordset でのみ呼び出すことができます。 後で Recordset を変換先から復元するには、Open メソッド (ADO Recordset) メソッドを使用します。

Recordset に対して Filter プロパティプロパティが有効な場合は、フィルターの下でアクセスできる行のみが保存されます。 Recordset が階層構造の場合、現在の子 Recordset とその子が保存されます (親 Recordset を含む)。 子 Recordset の Save メソッドが呼び出されると、子とそのすべての子が保存されますが、親は保存されません。

初めて Recordsetを保存する際、Destinationを指定することは任意です。 Destination を省略すると、名前が Recordset の Source プロパティの値に設定された新しいファイルが作成されます。

最初の保存後に Save を呼び出すとき、または実行時エラーが発生する場合は、宛先を省略します。 その後、新しい DestinationSave を呼び出すと、Recordset が新しい宛先に保存されます。 ただし、新しい宛先と元の宛先の両方が開きます。

[保存] Recordset または Destinationを閉じないため、引き続き Recordset を操作し、最新の変更を保存できます。 変換先 は、 Recordset が閉じられるまで開いたままです。

セキュリティ上の理由から、Save メソッドでは、Microsoft Internet Explorer によって実行されるスクリプトからの低セキュリティ設定とカスタム セキュリティ設定のみを使用できます。

非同期の Recordset フェッチ、実行、または更新操作の実行中に Save メソッドが呼び出された場合、Save は非同期操作が完了するまで待機します。

レコードは、Recordsetの最初の行から始めて保存されます。 Save メソッドが完了すると、現在の行の位置が Recordsetの最初の行に移動されます。

最良の結果を得るには、 CursorLocation プロパティ (ADO) プロパティを adUseClient設定して保存します。 プロバイダーが Recordset オブジェクト を保存するために必要なすべての機能をサポートしていない場合、Cursor Service がその機能を提供します。

RecordsetCursorLocation プロパティを adUseServerに設定して永続化されている場合、Recordset の更新機能は制限されます。 通常、単一テーブルの更新、挿入、および削除のみが許可されます (プロバイダーの機能によって異なります)。 この構成では 、Resync メソッド も使用できません。

adVariantadIDispatch、または adIUnknown 型のフィールドを持つレコードセットの保存は ADO ではサポートされていないため、予期しない結果が発生する可能性があります。

抽出条件文字列の形式のフィルター (OrderDate > '12/31/1999' など) のみが、永続化された Recordset の内容に影響します。 ブックマークの配列で作成されたフィルター、または FilterGroupEnum の値を使用して作成されたフィルターは、永続化された Recordset の内容には影響しません。 これらのルールは、クライアント側カーソルまたはサーバー側カーソルを使用して作成された Recordsetに適用されます。

Destination パラメーターは OLE DB IStream インターフェイスをサポートする任意のオブジェクトを受け取ることができるため、Recordset を ASP Response オブジェクトに直接保存できます。 詳細については、「 XML レコードセット永続化シナリオ」を参照してください。

次の Visual Basic コードに示すように、XML 形式の Recordset を MSXML DOM オブジェクトのインスタンスに保存することもできます。

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 形式で保存する場合、2 つの制限が適用されます。 階層レコードセットに保留中の更新 含まれており、パラメーター化された階層レコード セットを保存できない場合は、XML に保存できません。

XML 形式で保存された レコードセット は、UTF-8 形式を使用して保存されます。 このようなファイルが ADO Stream に読み込まれると、ストリームの Charset プロパティが UTF-8 形式の適切な値に設定されていない限り、Stream オブジェクトはストリームから Recordset を開こうとしません。

適用対象

こちらもご覧ください

Save メソッドと Open メソッドの使用例 (VB)
Save メソッドと Open メソッドの使用例 (VC++)
Open メソッド (ADO レコードセット)
Open メソッド (ADO Stream)
SaveToFile メソッドの