Einzelnen Beitrag anzeigen

Benutzerbild von Icarus666
Icarus666

Registriert seit: 17. Sep 2005
10 Beiträge
 
#1

Grundlegende Vorgehensweise bei Client/Server: Master/Detail

  Alt 20. Nov 2005, 16:44
Datenbank: Firebird • Version: 1.5 • Zugriff über: ZEOS
Ich will Firebird 1.5 als Client/Server zum Aufbau einer DVD-Datenbank verwenden. Ich bin mir allerdings bei der grundlegenden Vorgehensweise etwas unschlüssig.

Als Beispiel die Auswahl der Untertitel pro DVD. Ich habe folgende 3 Queries erstellt:

Query 1:
Name: QueryDVD
SQL: "SELECT * FROM dvd"
CachedUpdates: True
RequestLive: True
Verbunden mit einem UpdateSQL.

Query 2:
Name: QueryUntertitel
SQL: "SELECT * FROM dvduntertitel WHERE (dvd_id = :dvd_id)"
CachedUpdates: True
RequestLive: True
Verbunden mit einem anderen UpdateSQL.
Der angegebene Parameter wird in QueryDVDAfterScroll auf die Richtige DVD-ID gesetzt

Query 3:
Name: QueryLang
SQL: "SELECT * FROM sprachen"
CachedUpdates: False
RequestLive: False

Ich will eine DBGrid für die Anzeige/Hinzufügen/Ändern/Löschen von Untertiteln verwenden.
Zuerst wollte ich QueryUntertitel und QueryLang mit einem Inner Join verknüpfen. Leider erhalte ich im DBGrid dann keine Drop-Down-Liste, um den Untertitel einfach ändern zu können.
Stattdessen habe ich die SQL-Ausdrücke von oben verwendet und für QueryUntertitel alle Felder als persistente Felder hinzugefügt und zusätzlich ein Feld sprache als Lookup mit LookupDataSet QueryLang hinzugefügt.

Ist meine Vorgehensweise grundsätzlich richtig, auch in Hinblick auf Performance, oder hat jemand einen anderen Vorschlag?
  Mit Zitat antworten Zitat