2012-04-07 6 views
4

Ich konvertierte eine 2,8 MB XML-Datei in ein ClientDataSet in Delphi XE. Die XML-Datei ändert sich ziemlich häufig und ich erstelle grundsätzlich eine neue CDS-Datei jedes Mal, wenn sich die XML-Datei ändert. Es ist nicht nur der Inhalt der Änderungen, sondern auch die tatsächliche Struktur.SQL-Abfrage auf TClientDataSet (CDS-Datei) in Delphi XE?

Die Frage ist: Ist es möglich, einfaches SQL auf ClientDataSet1 zu verwenden, um ein zweites ClientDataSet mit einer Ergebnistabelle im Speicher zu erstellen? Wenn die Antwort ja ist, was sind die grundlegenden Mechanismen? Derzeit verwende ich nur TClientDataSet und TDataSource, um die Datenbank für datensensitive Komponenten verfügbar zu machen.

Antwort

5

TxQuery kann tun, was Sie wollen. Es ist eine TDataSet-Nachkomme-Komponente, die verwendet werden kann, um eine oder mehrere TDataSet-Nachkommenkomponenten mit SQL-Anweisungen abzufragen. Es ist erhältlich unter http://code.google.com/p/txquery/

+0

Vielen Dank. Das hat sehr geholfen. – Delphinarium

5

Nein, Sie können keinen SQL-Satz über TClientDataSet ausführen, wenn er als Arbeitsspeicher-Dataset verwendet wird, da kein SQL-Anbieter zugeordnet ist. Am besten nutzen Sie die Filtermöglichkeiten, die im TClientDataSet enthalten sind. Dazu können Sie Ranges oder Filters verwenden und dann das Ergebnis in einem sekundären TClientDataSet klonen. Weitere Informationen zum Filtern finden Sie in diesem Artikel Filtering ClientDataSets

Verwandte Themen