Datensätze durch Parameter beschränken

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Der Quelldatenmenge Parameter übergeben


Ist die Client-Datenmenge

  • eine TClientDataSet-Instanz, deren zugeordneter Provider eine TTable- oder TSQLTable-Komponente darstellt, oder
  • eine TSimpleDataSet- oder TBDEClientDataSet-Instanz, deren Eigenschaft CommandType gleich ctTable ist,

kann sie die Eigenschaft Params nutzen, um die zwischengespeicherten Datensätze zu beschränken. Jeder Parameter stellt einen Feldwert dar, für den eine Übereinstimmung vorliegen muss, damit ein Datensatz in die Daten für eine Client-Datenmenge aufgenommen wird. Dieser Mechanismus verhält sich ähnlich wie ein Filter, außer dass bei einem Filter die Datensätze zwar im Speicher zwischengespeichert werden, aber nicht zur Verfügung stehen.

Jeder Parametername muss mit dem Namen eines Feldes übereinstimmen. Wenn Sie TClientDataSet verwenden, sind das die Namen von Feldern in der TTable- oder TSQLTable-Komponente, die dem Provider zugeordnet ist. Wenn Sie TSimpleDataSet oder TBDEClientDataSet verwenden, sind das die Namen von Feldern in der Tabelle auf dem Datenbankserver. Die Daten in der Client-Datenmenge beinhalten dann nur solche Datensätze, deren Werte in den relevanten Feldern mit den Werten übereinstimmen, die den Parametern zugewiesen wurden.

Betrachten Sie beispielsweise eine Anwendung, welche die Bestellungen eines einzelnen Kunden anzeigt. Wenn der Benutzer den gewünschten Kunden auswählt, weist die Client-Datenmenge ihrer Eigenschaft Params einen einzigen Parameter namens CustID (oder wie das Feld in der Quelltabelle sonst heißen mag) zu, dessen Wert gerade den Kunden identifiziert, dessen Bestellungen angezeigt werden sollen. Wenn die Client-Datenmenge Daten von der Quelldatenmenge anfordert, übergibt sie diesen Parameterwert. Der Provider sendet dann nur die Datensätze für den angegebenen Kunden. Das ist effizienter, als wenn der Provider alle anderen Bestelldatensätze an die Client-Anwendung sendet und die Datensätze unter Verwendung der Client-Datenmenge gefiltert werden.

Siehe auch