Hallo,
ich lese schon den ganzen Tag hier und im Internet zu Datenbanken mittels TClientDataSet als Mybase.
Aber noch ist mir nicht alles klar...
1)Wenn ich dem Tutorial "MyBase" auf
dsdt folge, erstelle ich in Schritt 2 die Datenbank wenn ich den Menüpunkt "DataSet erstellen" nutze. Als sonst nur
MySQL über PHP Benutzer frage ich mich jetzt, was habe ich eigentlich erzeugt? Anscheinend eine Datenbank MIT Tabelle? Die dann sinnigerweise dann die davor definierte Struktur aufweist. Ist es dann richtig zu sagen für jede Tabelle brauche ich ein eigenes TClientDataSet?
2)Dann stelle ich über ein TDataSource Verbindung mit einem TDBGrid her. Funktioniert. Nur, wozu brauche ich das TDataSource? Effektiv macht es in dem Beispiel ja "nichts". Was kann ich damit machen?
3)Weiter gehts mit dem Auswählen der Daten. Dazu kann ich ja das Property "Filter" von TClientDataSet verwenden und mit Filtered := TRUE aktivieren. Soweit so klar.
Nun das Problem:
4)Die Daten aus dem TClientDataSet sind immer nur direkt verfügbar, d.h. eine Filter-Eigenschaft verändert die "effektive" Datenmenge der Tabelle (für z.B. TDBGrid). Ich bin aus
MySQL/PHP gewöhnt eine Abfrage zu senden und eine NEUE Datenmenge als Ergebnis zu bekommen.
Gibt es etwas analoges hier?
(TQuery funktioniert nicht weil ich die
BDE nicht installieren will.)
konkret will ich so etwas haben:
TClientDataSet stellt Basismenge, danach eine beliebige Anzahl "Filter"-Objekte, die jeweils wieder für sich in DBGrids angezeigt werden können.
Sonst würde ich ja die Daten aus dem TClientDataSet für jeden parallelen Filter duplizieren müssen, was nicht im Sinne der Logik ist.