Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datasets (https://www.delphipraxis.net/73939-datasets.html)

blawen 25. Jul 2006 21:37

Datenbank: MySQL • Zugriff über: ZEOS

Datasets
 
Hallo Zusammen

Aus Lehrzwecken bin ich dabei, die Datenbank-Restore Funktion von CAO zu analysieren.
Der mir vorliegende Code ist noch für die Version 5 der ZEOS-Komponenten geschrieben und ist (grösstenteils) nicht mehr mit der aktuellen Version (6.5.1 Alpha) kompatibel. Dadurch bedingt existieren div. Eigenschaften der Komponenten nicht mehr. Im grossen ganzen ist der Ablauf für mich nachvollziehbar, über einen Abschnitt bin ich mir jedoch nicht im klaren.

Konkret würde mich interessieren, welche Aufgabe die beiden folgenden Abschnitte haben,
bzw. was mit "offene Datasets merken" gemeint ist:

Delphi-Quellcode:
// offene Datasets merken
setlength(DSTab,DM1.DB1.DatasetCount);
for i:=0 to DM1.DB1.DatasetCount-1 do
begin
  DSTab[i] :=tDataset(DM1.DB1.Datasets[i]).Active;
  tDataset(DM1.DB1.Datasets[i]).Close;
end;
bzw. das Gegenstück:

Delphi-Quellcode:
// offene Datasets erneut öffnen
for i:=0 to DM1.DB1.DatasetCount-1 do
begin
  if DSTab[i] then tDataset(DM1.DB1.Datasets[i]).Open;
end;
Kann mir ev. jemand auf die Sprünge helfen?

Besten Dank

Gruss
Blawen

Union 25. Jul 2006 22:20

Re: Datasets
 
Damit wird in einem dynamischen Array of boolean (dsTab) die Eigenschaft Active jedes Datasets im dynamischen Array of TDataSet (DM1.DB1.DataSet) gemerkt. Die Verbindung zwischen Dataset und Status erfolgt dabei über den Index (hier i).
Dadurch wird sichergestellt, dass alle vorher aktiven Datasets nach dem Schliessen (z.B. für Maintenance) auch wieder geöffnet werden.

blawen 25. Jul 2006 22:33

Re: Datasets
 
Zitat:

Zitat von Union
Damit wird in einem dynamischen Array of boolean (dsTab) die Eigenschaft Active jedes Datasets im dynamischen Array of TDataSet (DM1.DB1.DataSet) gemerkt. Die Verbindung zwischen Dataset und Status erfolgt dabei über den Index (hier i).
Dadurch wird sichergestellt, dass alle vorher aktiven Datasets nach dem Schliessen (z.B. für Maintenance) auch wieder geöffnet werden.

Hallo Union

Besten Dank für Deine Erklärung.
Was mir jedoch nicht klar ist, was genau sind in diesem Falle Datasets?
(Verbindungen zwischen Datasource und der Tabelle/Query? Oder was soll ich mir darunter vorstellen)

Gruss
Blawen

mkinzler 26. Jul 2006 05:28

Re: Datasets
 
Nein eine TTable- oder eine TQuery-Komponente sind das DataSet.

blawen 26. Jul 2006 22:39

Re: Datasets
 
Zitat:

Zitat von mkinzler
Nein eine TTable- oder eine TQuery-Komponente sind das DataSet.

Wenn ich es richtig verstanden habe, gehts also schlussendlich nur darum, die offenen Tables/Querrys festzustellen und am Schluss die Verbindung wieder zu aktivieren?

mkinzler 27. Jul 2006 05:51

Re: Datasets
 
ja der Status wird gesichert und alles geschlossen. Im 2. teil werden dann, die vorher geöffneten wieder geöffnet.

blawen 27. Jul 2006 21:40

Re: Datasets
 
Zitat:

Zitat von mkinzler
ja der Status wird gesichert und alles geschlossen. Im 2. teil werden dann, die vorher geöffneten wieder geöffnet.

Danke :-D
Jetzt habe sogar ich es begriffen


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz