AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Nested Datasets: Falscher automatischer FK Index in Details-DBGrid beim Insert
Thema durchsuchen
Ansicht
Themen-Optionen

Nested Datasets: Falscher automatischer FK Index in Details-DBGrid beim Insert

Ein Thema von Neisklar80 · begonnen am 9. Jun 2011
Antwort Antwort
Neisklar80

Registriert seit: 12. Mai 2011
Ort: Tal der Ahnungslosen
10 Beiträge
 
Delphi XE Professional
 
#1

Nested Datasets: Falscher automatischer FK Index in Details-DBGrid beim Insert

  Alt 9. Jun 2011, 17:34
Datenbank: MySQL • Version: 5.1 • Zugriff über: dbExpress (XE)
Hallo zusammen,

ich greife in Delphi XE über dbExpress auf meine MySQL DB zu.
Das Datenbankschema ist über Master/Detail Beziehungen abgebildet, welches dann vom TDataSetProvider in ein Nested (Client)Dataset überführt wird. Daran klemmen dann weitere CDS welche als Datasets für DBGrids dienen.
In meiner Datenbank ist der PK immer 'id' und die FKs in den Detailtabellen <reftable>_id.
Wenn ich in einem Detail DBGrid nun einen neuen Datensatz einfüge, wird automatisch die ID des Masters in das Feld 'id' des Detaildatensatzes geschrieben, was schlichtweg falsch ist, muss ja schließlich in das FK-Feld.
Es gibt einen QC-Report (http://qc.embarcadero.com/wc/qcmain.aspx?d=65694) mit diesem Problem, welcher aber bis heute nicht gefixt ist. Auch funktioniert der Workaround wie dort beschrieben nicht mit dbExpress.
Ich habe da alle möglichen Kombinationen versucht, SQLDataSet mit Param-Query, SQLTable mit MasterSource, SQLQuery mit Param, nichts hilft da.
Einzig wenn ich in der Datenbank die Feldnamen so ändere, dass der Name des PK mit dm Namen der FKs übereinstimmt. Aber DB-Schema zu ändern ist leider nicht drin.

Da das ganze dbExpress Zeugs neu für mich ist, und ich früher nur mit handgemachten Queries über ZEOS gearbeitet habe, kann auch auch sein, ich habe schlichtweg vergessen irgendwo einen Haken zu machen.
Hat irgendjemand eine elegante Lösung dafür?
In der Hoffnung das diese nicht darauf hinausläuft, AfterInsert-Events für jedes DB-Grid zu setzen.)

Vielen Dank
  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 15:55 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