AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Master / Detail, DataSet / DataSource, Tutorial gesucht
Thema durchsuchen
Ansicht
Themen-Optionen

Master / Detail, DataSet / DataSource, Tutorial gesucht

Ein Thema von Daniel · begonnen am 9. Nov 2010 · letzter Beitrag vom 9. Nov 2010
Antwort Antwort
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#1

Master / Detail, DataSet / DataSource, Tutorial gesucht

  Alt 9. Nov 2010, 10:52
Datenbank: FireBird • Version: 2.1 • Zugriff über: FIB+
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.


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.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Master / Detail, DataSet / DataSource, Tutorial gesucht

  Alt 9. Nov 2010, 11:18
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.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Master / Detail, DataSet / DataSource, Tutorial gesucht

  Alt 9. Nov 2010, 11:29
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?
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: Master / Detail, DataSet / DataSource, Tutorial gesucht

  Alt 9. Nov 2010, 12:29
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).
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz