ファイルからのデータ読み込みとファイルへのデータ保存

提供: RAD Studio
移動先: 案内検索

ADO データセットのデータ ストアへの接続 への移動


ADO データセット コンポーネントから取得したデータは、ファイルに保存して、後で同じコンピュータまたは別のコンピュータで取り出すことができます。データは、ADTG または XML という 2 つの独自形式のいずれかで保存されます。ADO でサポートされているのは、この 2 つのファイル形式だけです。ただし、両方の形式が ADO のすべてのバージョンでサポートされているとは限りません。ご使用のバージョンの ADO ドキュメントで、どのファイル形式での保存がサポートされているかを確認してください。

データをファイルに保存するには SaveToFile メソッドを使用します。SaveToFile は 2 つのパラメータを受け取ります。データを保存するファイルの名前と、任意指定のデータの保存形式(ADTG または XML)です。保存ファイルの形式は、Format パラメータを pfADTG または pfXML に設定して指定します。FileName パラメータで指定したファイルが既に存在する場合は、SaveToFileEOleException が発生します。

ファイルからデータを取り出すには、LoadFromFile メソッドを使用します。LoadFromFile は 1 つのパラメータを受け取ります。読み込むファイルの名前です。指定されたファイルが存在しない場合には、LoadFromFileEOleException 例外が発生します。LoadFromFile メソッドを呼び出すと、データセット コンポーネントは自動的にアクティブになります。

次の例の最初の手続きでは、ADODataSet1 という TADODataSet コンポーネントから取得したデータセットをファイルに保存します。保存先ファイルは、SaveFile という名前の ADTG ファイルで、ローカル ドライブに保存されます。2 番目の手続きでは、保存したこのファイルを ADODataSet2 という TADODataSet コンポーネントに読み込みます。

procedure TForm1.SaveBtnClick(Sender: TObject);
begin
  if (FileExists("c:\SaveFile")) then
  begin
    DeleteFile("c:\SaveFile");
    StatusBar1.Panels[0].Text := "Save file deleted!";
  end;
  ADODataSet1.SaveToFile("c:\SaveFile", pfADTG);
end;
procedure TForm1.LoadBtnClick(Sender: TObject);
begin
  if (FileExists("c:\SaveFile")) then
    ADODataSet2.LoadFromFile("c:\SaveFile")
  else
    StatusBar1.Panels[0].Text := "Save file does not exist!";
end;
void __fastcall TForm1::SaveBtnClick(TObject *Sender)
{
  if (FileExists("c:\\SaveFile"))
  {
    DeleteFile("c:\\SaveFile");
    Statusbar1->Panels->Items[0]->Text = "Save file deleted!";
  }
  ADODataSet1->SaveToFile("c:\\SaveFile");
}
void __fastcall TForm1::LoadBtnClick(TObject *Sender)
{
  if (FileExists("c:\\SaveFile"))
    ADODataSet1->LoadFromFile("c:\\SaveFile");
  else
    Statusbar1->Panels->Items[0]->Text = "Save file does not exist!";
}

データを保存するデータセットと読み込むデータセットは、上記の例のように同じフォーム上にある必要はありません。同じアプリケーション内や、同じコンピュータ上にある必要もありません。そのため、ブリーフケースのように、あるコンピュータから別のコンピュータにデータを転送することが可能です。

関連項目