Status von Datenmengen bestimmen und einstellen

Aus RAD Studio
Wechseln zu: Navigation, Suche

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.

Siehe auch