Bde.DBTables.TQuery.RequestLive

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

property RequestLive: Boolean read FRequestLive write FRequestLive default False;

C++

__property bool RequestLive = {read=FRequestLive, write=FRequestLive, default=0};

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
property published
Bde.DBTables.pas
Bde.DBTables.hpp
Bde.DBTables TQuery


Beschreibung

Fordert eine aktualisierbare Ergebnismenge von der Datenbank an.

RequestLive ist eine Anforderung an eine SELECT-Abfrage, eine aktualisierbare (live) oder schreibgeschützte Ergebnismenge von der Datenbank zu liefern. Der Wert false für RequestLive (Vorgabe) bewirkt, dass die Ergebnismenge immer schreibgeschützt ist. Es wird keine Anforderung an die Datenbank gesendet, eine aktualisierbare Ergebnismenge zurückzugeben. Der Wert true für RequestLive ist eine Anforderung an die Datenbank, eine aktualisierbare Ergebnismenge zurückzuliefern. Eine aktualisierbare Ergebnismenge kann dem Benutzer der Anwendung zur direkten Datenbearbeitung über visuelle Datensteuerelemente zur Verfügung gestellt werden.

Der Wert true für RequestLive ist eine Anforderung nach einer aktualisierbaren Ergebnismenge. Er garantiert nicht, dass die Datenbank tatsächlich eine aktualisierbare Ergebnismenge zurückgibt. In der Dokumentation zu Ihrem spezifischen Datenbanksystem finden Sie die Kriterien, die für eine aktualisierbare (live) Ergenismenge erforderlich sind. Wenn die Datenbank keine aktualisierbaren Ergebnismengen liefern kann, wird stattdessen eine schreibgeschützte Ergebnismenge zurückgegeben. Dies wird automatisch und normalerweise fehlerfrei ausgeführt. Einige Datenbanksysteme könnten aber bei der Anforderung auf eine aktualisierbare Ergebnismenge eine Exception auslösen. Überprüfen Sie daher den Erfolg der Anforderung anhand der Eigenschaft CanModify der Datenmengenkomponente.

Wenn die SQL-Anweisung eines TQuery-Objekts eine allgemeine, mehrzeilige SELECT-Anweisung ist, kann RequestLive mit den Werten true oder false verwendet werden. Bei allen anderen SQL-Anweisungen, die von einem TQuery-Objekt ausgehen, sollte RequestLive nur auf false gesetzt werden. Zu diesen anderen SQL-Anweisungen zählen einzeilige SELECT-Anweisungen ohne Cursor (werden eher bei der Programmierung von Stored Procedures verwendet), DML-Anweisungen (Data Manipulation Language) ohne Cursor, wie z.B. UPDATE und DELETE, und DDL-Anweisungen (Data Definition Language), wie CREATE TABLE und DROP INDEX.

Hinweis: Alle Abfragen über mehrere Tabellen liefern schreibgeschützte Ergebnismengen. Auch andere Vorgaben können zu schreibgeschützten Ergebnismengen führen. Sehen Sie sich bei lokalen Tabellen (wie z.B. dBASE und Paradox) in der Hilfe zu Local SQL die Regeln zu aktualisierbaren Ergebnismengen an. Ziehen Sie für andere Tabellentypen (wie z.B. InterBase, Oracle und Sybase) die Dokumentation für das entsprechende Datenbanksystem zu Rate.

Hinweis: Bei einigen SQL-Datenbanksystemen ist eine strikte Unterscheidung von Groß- und Kleinbuchstaben für Namen von Metadatenobjekten in SQL-Anweisungen erforderlich. Diese SQL-Datenbanken haben oft in aktualisierbaren Abfragen Probleme bei der Übernahme von Metadatennamen von der BDE. Wenn solche Probleme auftreten, wird eine Exception ausgelöst. Sie umgehen diese Probleme meist, wenn Sie die Referenzen auf Metadatenobjekte (wie z.B. Tabellen- und Spaltennamen) in Anführungszeichen setzen.

Siehe auch