AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DELPHI-Fehler in Master/Detail-Verknüfungem über MasterFields
Thema durchsuchen
Ansicht
Themen-Optionen

DELPHI-Fehler in Master/Detail-Verknüfungem über MasterFields

Ein Thema von daddy · begonnen am 14. Jun 2024 · letzter Beitrag vom 17. Jun 2024
Antwort Antwort
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
637 Beiträge
 
Delphi XE6 Enterprise
 
#1

AW: DELPHI-Fehler in Master/Detail-Verknüfungem über MasterFields

  Alt 14. Jun 2024, 17:01
Mittels Views könntest Du komplexe Selektionen vereinfachen.
Code:
Create Or Alter View Name1 As Select L.*, K.Bezeichnung from LieferantKontakt left join KontaktArt K on L.KANummer = K.Nummer
und
Code:
Create Or Alter View Name2 As Select L.*, (Select K.Bezeichnung from KontaktArt where Nummer = L.KANummer) as Bezeichnung from LieferantKontakt
und dann hast Du wieder die ganz einfachen Anweisungen
Code:
Select * From Name1
und
Code:
Select * from Name2
.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.756 Beiträge
 
Delphi 12 Athens
 
#2

AW: DELPHI-Fehler in Master/Detail-Verknüfungem über MasterFields

  Alt 14. Jun 2024, 17:56
Ich kenne jetzt zwar das genaue Problem nicht, aber bei Master-/Detail-Beziehungen geht es ja darum, ein Master-Dataset und ein Detail-DataSet zu haben, wobei letzteres alle Detail-Records zu dem jeweils aktuellen Master-Record enthält. Ich kann im Moment noch nicht sehen, wie da die Select-Anweisungen reinspielen.

Andererseits liegt der Fehler ja offenbar innerhalb der Funktion AddParamSQLForDetail, in der eine SQL-Anweisung geparst und ergänzt wird. Da der Parser relativ simpel gestrickt ist (wobei das schon eine Wissenschaft für sich ist), kann ich mir schon vorstellen, dass der nicht für komplexe SQLs funktioniert. Umso wichtiger ist eben, die entsprechenden Fehlerfälle zu melden. Andernfalls wird das nämlich nie behoben.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.550 Beiträge
 
Delphi 12 Athens
 
#3

AW: DELPHI-Fehler in Master/Detail-Verknüfungem über MasterFields

  Alt 14. Jun 2024, 18:02
Vielleicht bei automatischer Verknubbelung der DataSets?

Weiß jetzt nicht wie FireDAC arbeitet, aber bei pgDAC gibt es mehrere Modi.

* man gibt das/die Field(s) des Masters an und das/die Field(s) des Details ... das WHERE wird automatisch gebaut und angehängt
* man gibt das/die Field(s) des Masters an und das/die Param(s) des Details ... das WHERE ist manuell ins SELECT eingebaut

und noch etwas für Grids (DevExpress oder so) mit eingebettetem SubGrid (je Datenzeile)
* man gibt das/die Field(s) des Masters an und das/die Field(s) des Details ... die Details sind ALLE geladen und werden per Filter zur Laufzeit gesucht
so ist es möglich bei allen/mehreren Masterzeilen je ein SubGrid einzublenden (gleichzeitig)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
749 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: DELPHI-Fehler in Master/Detail-Verknüfungem über MasterFields

  Alt 14. Jun 2024, 19:38
Weiß jetzt nicht wie FireDAC arbeitet, aber bei pgDAC gibt es mehrere Modi.

* man gibt das/die Field(s) des Masters an und das/die Field(s) des Details ... das WHERE wird automatisch gebaut und angehängt
* man gibt das/die Field(s) des Masters an und das/die Param(s) des Details ... das WHERE ist manuell ins SELECT eingebaut
FireDAC kann auch Param(s) auto create. Solange der Master offen ist wenn man das Detail aufmacht. Also einfach das Script schreiben, MasterSource setzen. MasterFields eintragen, Details kann man leer lassen, und los geht es. Absolut simpel.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.756 Beiträge
 
Delphi 12 Athens
 
#5

AW: DELPHI-Fehler in Master/Detail-Verknüfungem über MasterFields

  Alt 14. Jun 2024, 22:18
FireDAC ist da ziemlich flexibel: Master-Detail Relationship (M/D)

Wichtig dabei ist dieser Abschnitt:
Zitat:
So how does it work? FireDAC builds for qOrderDetails a list of pairs - qOrders fields and qOrderDetails parameters. Elements in each pair:

When MasterFields is not specified, then they have the same name;
Otherwise, the pair elements have the same position, the same fields in the MasterFields list, and the same parameters in the Params collection.
When the current qOrders record is changed, FireDAC assigns for each parameter a corresponding field value. In our case, qOrderDetails :OrderID parameter gets the qOrder OrderID field value. After that, the qOrders is reexecuted.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  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 05:42 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