Mit verknüpften Datenmengen arbeiten

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Verbindungen zu Datenbanken einrichten - Index


Sämtliche Datenbank-Verbindungskomponenten verwalten eine Liste aller Datenmengen, die sie verwenden, um eine Verbindung zu einer Datenbank einzurichten. Eine Verbindungskomponente verwendet diese Liste beispielsweise, um alle Datenmengen zu schließen, wenn sie die Datenbankverbindung abbaut.

Sie können diese Liste auch nutzen, um Aktionen für alle Datenmengen auszuführen, die für die Einrichtung einer Verbindung zu einer bestimmten Datenbank eine bestimmte Verbindungskomponente verwenden.

Alle Datenmengen schließen, ohne die Verbindung zum Server zu beenden

Die Verbindungskomponente schließt automatisch alle Datenmengen, wenn Sie ihre Verbindung abbauen. Es gibt jedoch Situationen, wo alle Datenmengen geschlossen werden müssen, ohne die Verbindung zum Datenbankserver abzubauen.

Um alle geöffneten Datenmengen zu schließen, ohne die Verbindung zu einem Server abzubauen, verwenden Sie die Methode CloseDataSets.

Für TADOConnection und TIBDatabase bewirkt der Aufruf von CloseDataSets, dass die Verbindung immer geöffnet gehalten wird. Für TDatabase und TSQLConnection müssen Sie außerdem die Eigenschaft KeepConnection auf True setzen.

Verknüpfte Datenmengen durchlaufen

Um Aktionen für alle Datenmengen auszuführen (außer, sie alle zu schließen), die gemeinsam eine Verbindungskomponente nutzen, verwenden Sie die Eigenschaften DataSets und DataSetCount. DataSets ist ein indiziertes Array aller Datenmengen, die mit der Verbindungskomponente verknüpft sind. Diese Liste enthält für alle Verbindungskomponenten außer TADOConnection nur die aktiven Datenmengen. TADOConnection listet auch die nicht aktiven Datenmengen auf. DataSetCount ist die Anzahl der Datenmengen in diesem Array.

Hinweis: Wenn Sie eine spezialisierte Client-Datenmenge verwenden, um Aktualisierungen im Cache zwischenzuspeichern (im Gegensatz zu der generischen Client-Datenmenge TClientDataSet), listet die Eigenschaft DataSets die interne Datenmenge auf, die zu der Client-Datenmenge gehören, nicht die eigentliche Client-Datenmenge.

Sie können DataSets in Kombination mit DataSetCount verwenden, um im Code alle Ihre aktuell aktiven Datenmengen zu durchlaufen. Der folgende Code beispielsweise durchläuft Ihre aktiven Datenmengen und deaktiviert alle Steuerelemente, die die davon bereitgestellten Daten verwenden:

 var
   I: Integer;
 begin
   with MyDBConnection do
   begin
     for I := 0 to DataSetCount - 1 do
       DataSets[I].DisableControls;
   end;
 end;

Hinweis: TADOConnection unterstützt Befehlsobjekte sowie Datenmengen. Sie durchlaufen diese ähnlich wie Datenmengen, wozu Sie die Eigenschaften Commands und CommandCount verwenden.

Siehe auch