Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Master / Detail, DataSet / DataSource, Tutorial gesucht (https://www.delphipraxis.net/155812-master-detail-dataset-datasource-tutorial-gesucht.html)

Daniel 9. Nov 2010 09:52

Datenbank: FireBird • Version: 2.1 • Zugriff über: FIB+

Master / Detail, DataSet / DataSource, Tutorial gesucht
 
Moin,


ich hadere derzeit ein wenig mit meinen Datenbank-Komponenten. In der Datenbank selbst habe ich eine 1:n Beziehung erstellt, Fremdschlüssel etc. Auf der SQL-Seite habe ich die Lage im Griff.
Wo es gerade ein wenig schwammig wird, ist die Delphi-Seite. TDataSet, TDataSource, welchen hänge ich wo dran und warum mache ich das genau so und nicht anders. Das ist die Stelle, an der es bei mir derzeit hakt. Ich habe mein DataSet, das hat seinen eigenen DataSource und dann stöpsel ich an dieses DataSet noch - als externe Quelle - sozusagen, den DataSource dran, der mir die ID des jeweiligen Master-Datensatzes vorgibt.

Derzeit funktioniert alles, doch ich möchte verstehen, was da passiert und warum das funktioniert, in welcher Kette die Daten durch meine Komponenten fließen. :stupid:


Kann mir jemand ein Tutorial / Buch empfehlen, das mir hier Licht ins Dunkel bringen könnte? Muss nicht kostenlos sein, ein gutes Buch ist sein Geld ja meistens wert.

Bummi 9. Nov 2010 10:18

AW: Master / Detail, DataSet / DataSource, Tutorial gesucht
 
ob Du dafür ein Buch benötigst, eigentlich ist es ganz einfach.
Wenn das Detaildataset schon per SQL gebunden ist
Code:
Select * from deta where Master_ID=:ID
wird beim Satzwechsel auf dem Master eine neue Abfrage in die Datenbank geschickt und nur die Daten geholt die gerade passen.
Wenn Dein Code so aussieht

Code:
Select * from deta
wir die Einschränkung des Detaildatasets über intern über Filterung abgewickelt.

Daniel 9. Nov 2010 10:29

AW: Master / Detail, DataSet / DataSource, Tutorial gesucht
 
Vielen Dank, aber da geht's schon los. :? Wie würde ich denn ein "Filtering" realisieren und wie wäge ich beide Ansätze gegeneinander ab?

Bummi 9. Nov 2010 11:29

AW: Master / Detail, DataSet / DataSource, Tutorial gesucht
 
Das "Filtering" passiert intern, darum brauchst Du Dich nicht kümmern.

Wenn Du große Datenmengen zu handeln hast würde ich Dir die serverseiteige 1. Variante empfehlen, hierbei ist die Datenmenge auch "aktueller", da die Teilmenge bei jedem Satzwechsel neu gelesen wird.

Wenn Du die Datenmengen durch den Benutzer sortieren lassen willst mußt Du nur aufpassen daß "AfterInsert" die richtige ID zugeordnet wird, defaultmäßig geschieht dies über die Verbindung Masterfields/Indexfieldnames.
Bei Serverseitigen Cursors muß Indexfieldnames ohnehin leer bleiben und Du trägst im AfterInsert für die "MasterID" die ID des Masters ein (bei Mehrfachschlüsseln entsprechend).


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:43 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