Datensätze können nicht in DBGrid gespeichert werden

JosipBroz

Grünschnabel
Hallo zusammen,

als erstes möchte ich erwähnen, dass ich mich mit dem C++ Builder von Embarcadero seit kurzem beschaftige und in gewisser Weise ein Newbie bin.

Zudem habe ich, auch bei intensiver Suche im Netz keinen richtigen Lösungsansatz gefunden, der mir bei meinem Problem helfen kann.
sad.gif


Ich habe eine Oracle-DB mit zwei Test-Tabellen.

Tabelle FEHLER (Schlüssel FehlerNr u. FehlerOrt)
-----------------
1. FehlerNr
2. FehlerOrt

Tabelle MELDUNGEN (Schlüssel FehlerNr)
-------------------
1. FehlerNr
2. FehlerOrt
3. FehlerMeldung

Zudem habe ich auf meiner Form die DB-Komponenten OraSession, OraQuery, OraDataSource, ein DBGrid, sowie DB Navigator.

Verbunden bin ich mit der DB. Die Die OraQuery-Komponente besitzt folgende SQL-Anweisung

Select A.FehlerNr, A.FehlerOrt, B.FehlerMeldung
From MELDUNGEN B INNER JOIN FEHLER A
ON B.FehlerNr = A.FehlerNr
and B.FehlerOrt = A.FehlerOrt
order by A.FehlerOrt asc, A.FehlerNr


Im DBGrid werden die selektierten Daten auch entsprechend angezeigt.
Doch leider ist es mir mit mittels DBNavigator nicht möglich, einen Datensatz über das Grid zu ändern und diesen in die DB zu speichern.

Ich habe dies auch über DBEdit-Felder versucht. Leider erfolglos!
sad.gif


Nach dem ich google und natürlich dieses tolle Forum durchsucht habe, habe ich erfahren das ein DBGrid das aus einer Menge von zwei Tabellen besteht nicht "manipuliert" werden kann.

Natürlich weiß ich, und habe es auch schon erfolgreich getestet, dass ich über OraTable in Verbindung mit OraDataSource und einem DBGrid die Daten mir anzeigen lassen kann und sie natürlich manipulieren kann.

Leider habe ich aber da das Problem, dass ich zwei OraTables und zwei Grids dafür benötig. Es ist mir aber wichtig, alle Daten in einem Grid (dies ist zumindest die Komponente, die ich als Newbie kenne und hierfür nutzen würde) anzeigen und verändern zu können, mittels DBNavigator. Sodass die Änderungen auch in der DB gespeichert werden.

Ich hoffe ich habe mein Problem verständlich beschrieben.

Für eure Hilfe danke ich euch vielmals im voraus !

P.S. Ihr seht es richtig ich habe bis jetzt nicht eine Zeile Code geschrieben.
 
Zurück