Autor Beitrag
eikesmom
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 15.08.03 13:33 
Hallo Leute!

Ich möchte Daten aus einer Tabelle einer Oracle-DB in einem Formular anzeigen und bearbeiten können.
Ich benutze dafür ein TSQLQuery mit SQL "SELECT * FROM TABELLEX WHERE USRID = 2", einen TDataSetProvider und ein TClientDataSet.
In der Tabelle befindet sich ein einziger Datensatz mit ca. 30 Feldern, die alle in TDBEdits auf dem Form angezeigt werden.
Beim Versuch, Änderungen zu speichern, bekomme ich stets die Meldung
"Datensatz kann nicht gefunden werden; es wurde kein Schlüssel angegeben."
Wenn ich statt einzelner TDBEdit-Komponenten ein DBGrid verwende, dann geht es.
Ich habe schon versucht, die ProviderFlags der Felder zu setzen, die als Schlüssel fungieren sollen (ID, USRID). Ohne Erfolg :(

Hat jemand eine Idee für mich?
eikesmom
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 15.08.03 19:49 
Titel: Hat sich erledigt...
Hi Folks!

:)
´Meine obige Frage hat sich erledigt!
Das ClientDataSet erstellt eine Abfrage zum Updaten der Datenmenge so, dass der Tabellenname in "" eingeschlossen wird. Dies wird von Oracle "case sensitive" interpretiert, daher wurde die Tabelle schon nicht gefunden.
Konkret: Die Tabelle in der DB hieß TBLPARAM, und in der Abfrage hatte ich tblParam geschrieben. Das vom ClientDataSet bzw. dem TDataSetProvider generierte UPDATE-Statement lautete dann
update "tblParam" set ....
d.h. Oracle suchte dann eine Tabelle exakt mit diesem Namen.

Es hatte nichts damit zu tun, ob man TDBEdits oder TDBGrid verwendet.

[/quote]