FireDAC.Comp.Client.TFDCustomQuery.DataSource
Delphi
property DataSource: TDataSource read GetDS write SetDS;
C++
__property Data::Db::TDataSource* DataSource = {read=GetDS, write=SetDS};
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
property | public | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDCustomQuery |
Beschreibung
Gibt das Datenquellenobjekt an, aus dem die zugeordnete Datenmenge Feldwerte abrufen soll, die den Detaildatenmengenparametern entsprechen.
Mit der Eigenschaft DataSource können Sie automatisch Parameter in einer Abfrage mit Feldwerten aus einer anderen Datenmenge füllen. Parameter mit denselben Namen wie die Felder in einer anderen Datenmenge werden mit den Feldwerten gefüllt. Parameter, deren Namen den Feldern in der anderen Datenmenge nicht entsprechen, erhalten keine Werte automatisch und müssen im Programmcode festgelegt werden.
Wenn die aktuelle Position der Hauptdatenmenge oder die Daten in dem aktuellen Datensatz der Hauptdatenmenge geändert werden, dann öffnet die Datenmenge (Detaildatenmenge) die Abfrage mit neuen Feldwerten der Hauptdatenmenge erneut. Wenn dies nicht erwünscht ist, müssen Sie die Hauptdatenmenge durchlaufen und dann DisableControls / EnableControls in der Hauptdatenmenge verwenden.
Beispiel
MasterQuery.Open('select * from {id Orders}');
MasterSource.DataSet := MasterQuery;
DetailQuery.DataSource := MasterSource;
DetailQuery.Open('select * from {id Order Details} where OrderID = :OrderID');
// here :OrderID parameter of DetailQuery will get the current value of OrderID
// field from MasterQuery