ブックマークに基づくレコードのフィルタ処理

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

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


ADO データセットは、ブックマークを使用して特定のレコードにマークを付けて戻るという、データセットの一般的な機能をサポートします。また他のデータセットと同様に、ADO データセットでも、フィルタを使用してデータセット内でアクセス可能なレコードを制限できます。ADO データセットには、これら 2 つのデータセットの一般的な機能を組み合わせた機能が追加されました。それが、ブックマークで識別したレコードのセットにフィルタを適用する機能です。

ブックマークのセットにフィルタを適用するには:

  1. Bookmark メソッドを使用して、フィルタ適用後のデータセットに含めるレコードにマークを付けます。
  2. FilterOnBookmarks メソッドを呼び出して、ブックマークを付けたレコードだけが表示されるようにデータセットにフィルタを適用します。

このプロセスを次に示します。

procedure TForm1.Button1Click(Sender: TObject);
var
  BM1, BM2: TBookmark;
begin
  with ADODataSet1 do 
  begin
    BM1 := Bookmark;
    BMList.Add(BM1);

    MoveBy(3);

    BM2 := Bookmark;
    BMList.Add(BM2);

    FilterOnBookmarks([BM1, BM2]);
  end;
end;
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TBookmark BM1, BM2;

    BM1 = ADODataSet1->Bookmark;
    BMList->Add(BM1);

    ADODataSet1->MoveBy(3);

    BM2 = ADODataSet1->Bookmark;
    BMList->Add(BM2);

    ADODataSet1->FilterOnBookmarks(ARRAYOFCONST((BM1,BM2)));
}

上の例では、BMList というリスト オブジェクト(TList<TBookmark>)にブックマークを追加していることに注意してください。これは、後でブックマークが不要になったときに、アプリケーションがそれらを解放(FreeBookmark)できるようにするために必要なことです。

関連項目