Status von Datenmengen bestimmen und einstellen
Nach oben zu Datenmengen - Index
Über den Status – oder Modus – einer Datenmenge wird festgelegt, was mit den Daten der Menge geschehen kann. Wenn eine Datenmenge beispielsweise geschlossen ist, hat sie den Status dsInactive. In diesem Fall ist kein Zugriff auf die Daten möglich. Zur Laufzeit kann die Nur-Lesen-Eigenschaft State der Datenmenge überprüft und dadurch deren aktueller Status festgestellt werden. In der folgenden Tabelle sind die möglichen Werte für die Eigenschaft State und ihre Bedeutung zusammengestellt:
Werte für die Eigenschaft State von Datenmengen:
Wert | Status | Beschreibung |
---|---|---|
dsInactive |
Inactive |
Die Datenmenge ist geschlossen. Auf die Daten ist kein Zugriff möglich. |
dsBrowse |
Browse |
Die Datenmenge ist geöffnet. Ihre Daten können angezeigt, aber nicht geändert werden. Dies ist der Standardstatus einer offenen Datenmenge. |
dsEdit |
Edit |
Die Datenmenge ist geöffnet. Der aktuelle Datensatz kann geändert werden. (Wird von unidirektionalen Datenmengen nicht unterstützt.) |
dsInsert |
Insert |
Die Datenmenge ist geöffnet. Ein neuer Datensatz kann ein- oder angefügt werden. (Wird von unidirektionalen Datenmengen nicht unterstützt.) |
dsSetKey |
SetKey |
Die Datenmenge ist geöffnet. Für Bereiche und GotoKey-Operationen können Bereiche und Schlüsselwerte gesetzt werden. (Wird nicht von allen Datenmengen unterstützt.) |
dsCalcFields |
CalcFields |
Die Datenmenge ist geöffnet. Dieser Status zeigt an, dass das Ereignis OnCalcFields unterwegs ist. Änderungen an nicht berechneten Feldern werden verhindert. |
dsCurValue |
CurValue |
Die Datenmenge ist geöffnet. Die Eigenschaft CurValue der Felder wird gerade für eine Ereignisbehandlungsroutine abgerufen, die auf Fehler bei der Anwendung des Cached-Update-Modus reagiert. |
dsNewValue |
NewValue |
Die Datenmenge ist geöffnet. Die Eigenschaft NewValue der Felder wird gerade für eine Ereignisbehandlungsroutine abgerufen, die auf Fehler bei der Anwendung des Cached-Update-Modus reagiert. |
dsOldValue |
OldValue |
Die Datenmenge ist geöffnet. Die Eigenschaft OldValue der Felder wird gerade für eine Ereignisbehandlungsroutine abgerufen, die auf Fehler bei der Anwendung des Cached-Update-Modus reagiert. |
dsFilter |
Filter |
Die Datenmenge ist geöffnet. Dieser Status zeigt an, dass eine Filteroperation abläuft. Eine bestimmte Teilmenge von Daten kann zwar angezeigt, aber nicht geändert werden. (Wird von unidirektionalen Datenmengen nicht unterstützt.) |
dsBlockRead |
BlockRead |
Die Datenmenge ist geöffnet. Datensensitive Steuerelemente werden nicht aktualisiert und Ereignisse werden nicht ausgelöst, wenn sich der aktuelle Datensatz ändert. |
dsInternalCalc |
InternalCalc |
Die Datenmenge ist geöffnet. Dieser Status zeigt an, dass für berechnete Werte, die im Datensatz gespeichert werden, ein OnCalcFields-Ereignis ausgelöst wird. (Nur bei TClientDataSet) |
dsOpening |
Opening |
Die Datenmenge wird gerade geöffnet, der Prozess ist jedoch noch nicht abgeschlossen. Dieser Status tritt ein, wenn die Datenmenge für asynchrones Abrufen geöffnet wird. |
In der Regel überprüft eine Anwendung den Status der Datenmenge, um festzustellen, zu welchem Zeitpunkt bestimmte Aufgaben durchgeführt werden können. So kann beispielsweise geprüft werden, ob der Status dsEdit oder dsInsert vorliegt, wenn Aktualisierungen in die Datenbank zurückgeschrieben werden sollen.
Hinweis: Sobald sich der Status einer Datenmenge ändert, wird das Ereignis OnStateChange für alle Datenquellenkomponenten aufgerufen, die mit der Datenmenge verbunden sind. Informationen über die Datenquellenkomponenten und das Ereignis OnStateChange finden Sie unter Auf von der Datenquelle übermittelte Änderungen reagieren.