Einzelnen Beitrag anzeigen

thabaker

Registriert seit: 1. Jul 2007
50 Beiträge
 
Turbo Delphi für Win32
 
#1

Grundsätzliches zu TClientDataSet, TDataSource,...

  Alt 5. Jul 2007, 21:21
Datenbank: MyBase • Zugriff über: Delphi Programm
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.
Miniaturansicht angehängter Grafiken
schema_484.png  
  Mit Zitat antworten Zitat