Datensätze anhand von Positionsmarken filtern
Nach oben zu Verbindung einer ADO-Datenmenge zu einem Datenspeicher herstellen
ADO-Datenmengen unterstützen die allgemein für Datenmengen zur Verfügung stehende Funktionalität zum Verwenden von Positionsmarken. Bei ADO-Datenmengen ist es ebenso wie bei anderen Datenmengen möglich, eine Teilmenge der Daten mithilfe von Filtern anzuzeigen und zu bearbeiten. ADO-Datenmengen stellen außerdem noch eine weitere Funktion zur Verfügung, bei der die beiden genannten Funktionen kombiniert werden: Eine Datensatzmenge kann anhand von vorhandenen Positionsmarken gefiltert werden.
So filtern Sie eine Datensatzmenge anhand der Positionsmarken:
- Setzen Sie mithilfe der Methode Bookmark Positionsmarken für die Datensätze, die später gefiltert werden sollen.
- Rufen Sie die Methode FilterOnBookmarks auf, um die Datenmenge so zu filtern, dass nur die mit Positionsmarken versehenen Datensätze angezeigt werden.
Der folgende Quelltext zeigt, wie hierzu vorgegangen wird:
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))); }
Im obigen Beispiel werden die Positionsmarken einem Listenobjekt (TList<TBookmark>) mit dem Namen BMList hinzugefügt. Dies ist notwendig, damit die Anwendung später nicht mehr benötigte Positionsmarken (FreeBookmark) wieder freigeben kann.