Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ADO: n:m Beziehung syncen und automatisch Updaten? (https://www.delphipraxis.net/3315-ado-n-m-beziehung-syncen-und-automatisch-updaten.html)

Phoenix 6. Mär 2003 14:19


ADO: n:m Beziehung syncen und automatisch Updaten?
 
Folgender Fall:

:!: Eine Datenauswahl in einer Tabelle (in unserem Fall Bücher) und eine Datenauswahl in einer anderen Tabelle (in unserem Fall Autoren) soll über eine Zwischentabelle (BuchId, AutorId) verknüpft werden.

Das ist in soweit auch kein Problem :)

Was ich nun will: Die Verknüfungen in der Zwischentabelle sollen automatisch mit einer Änderung in der ersten Tabelle mitgehandelt werden.

:?: Wie realisiere ich am geschicktesten (schnellsten) eine Auswahl der Autoren zu einem Buch, so daß ich ein Buch nicht ohne Autor abspeichern kann und auch mehrere Autoren mit einem Buch ablegen kann, indem ich die Zwischentabelle für den User absolut unsichtbar halte?

Ein Löschen soll auch alle Verknüpfungen dazu mitlöschen (ich kann kein nicht existierendes Buch referenzieren).
Das ganze sollte auch sehr einfach (sprich durchschaubar) gelöst sein. Gibt es da Beispiele dafür wie man das am geschicktesten macht?

Info: Ich verwende Delphi 5 (Updatepack1 + AdoPatch) auf einer Access 2k - Datenbank. Ansprechen tue ich die Tabellen über das TBetterADODataSet.

:!: Wenn's fertig ist soll das eine Mini-Bibliotheksverwaltung für die Ausbildung geben, aber an der n:m - Geschichte bin ich bisher gescheitert und ich probiere da schon ein paar Tage dran rum. :cry: Kann mir da jemand ein paar Schubser in die richtige Richtung geben?

Ps: Wer den bisherigen Source haben will darf sich gerne melden. Das ganze kann ich später auch als Beispielprojekt für DB-Entwicklung zur Verfügung stellen wenn es denn fertig ist.

Flax 15. Mär 2003 22:29

Hi!

Viele Fragen.

Die Beziehung kannst du mit Master-Detail lösen.
Um "Post", "Commit" und "Cancel" wirst du wohl nicht rumkommen.

Siehe mal "TADODataSet.MasterFields".. und weiter lesen.

Kannst also zwei Tabellen miteinander verknüpfen. Wenn du dann im Master den EIntrag wechselst wird im Detail der Eintrag auch verschoben. Der Detail passt sich dann immer automatisch an.

~Flax~

Flax 15. Mär 2003 22:33

TBetterADOSet :)) da wollte wohl einer was klarsellen. SOll better sein! :)>


me auch gerade access 2000 db zugriff.

p.s.: Leider soll es mit ADO Probleme geben in bezug auf Abwärtskompatibilität !? Mal sehen.. Hab ich so gehört. Auch mit Oracle-8 oder 9 Updates ist danach ein Zugriff per ADO-Komponenten "vernichtet" worden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz