Master/Detail mit MySQL

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Cuci
Beiträge: 52
Registriert: Do 10. Dez 2015, 20:09
OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4
CPU-Target: 64 bit
Wohnort: Wo es warm ist

Master/Detail mit MySQL

Beitrag von Cuci »

Hallo, ich habe eine Tabelle Vertrag und eine Tabelle Mieter. In meiner laufenden DELPHI-Anwendung ist das so, dass wenn ich von der Vertrags-Datenbank in die Mieter-DB wechsle, automatisch der Mieter korrespondierend zur Vertrags-DB angezeigt wird, also eine Master/Client-Verbindung besteht. Das konnte ich mit Lazarus noch nicht realisieren.
Ich bin vorgegangen, wie in http://wiki.freepascal.org/MasterDetail beschrieben. Allerdings konnte ich in der Vertrags-DB keinen PRIMARY-Key auf das Feld Mieter setzen, weil dort der gleiche Mieter mehrfach erscheinen kann. Ich habe in beiden Querys Indexfieldnames auf NameVorname gesetzt und in der Mieterquery die DataSource auf die Vertrags-DataSource eingestellt.
Frage: Was fehlt noch, damit das funktioniert?

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Master/Detail mit MySQL

Beitrag von Michl »

Cuci hat geschrieben:Allerdings konnte ich in der Vertrags-DB keinen PRIMARY-Key auf das Feld Mieter setzen, weil dort der gleiche Mieter mehrfach erscheinen kann.
Du könntest eine Tabelle mit Relationen erstellen, die als Detail dient. Dabei erhält jede Relation eine eindeutige ID und verklinkt auf einen Mieter. Dann ist es egal, wieviele Objekte du einem Mieter zuweist.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Antworten