Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Dataset wird nicht in DB gespeichert (https://www.delphipraxis.net/203104-dataset-wird-nicht-db-gespeichert.html)

Maliko 14. Jan 2020 08:51

Datenbank: ORACLE • Version: 11 • Zugriff über: dbExpress

Dataset wird nicht in DB gespeichert
 
Moin,

ich hab momentan ein sehr merkwürdiges Problem. Und zwar habe ich auf einer Form eine Tabelle, welche Daten aus einer Oracle-Tabelle anzeigen und manipulieren soll (komplette CRUD-Logik). Das anzeigen funktioniert auch einwandfrei. Wenn ich allerdings versuche einen neuen Datensatz anzulegen oder einen zu bearbeiten, werden die Änderungen bzw. der neue Datensatz nicht gespeichert. Ich bekomme allerdings auch keine Fehlermeldung. Ich greife auf die Datenbank ganz normal über die Kombination TSQLQuery, TDataSetProvider, TClientDataSet und TDataSource (welche als Komponenten direkt auf der Form liegen) auf die Daten zu.

Die Tabelle selbst besitzt einen zusammengesetzten Primärschlüssel und drei Foreignkeys.

In die Events des DataSets (sprich BeforDelete, BeforePost, OnNewRecord) springt er ganz normal rein und macht auch das was er machen soll. Im Query und im ClientDataSet wurden die beiden Felder des Primärschlüssels beide mit dem ProviderFlag pfInKey gesetzt und im DataSetProvider wurde die Option UpdateMode auf upWhereKeyOnly gesetzt.

Hat vielleicht jemand von euch eine Ahnung was da falsch läuft? In den Events findet lediglich eine Befüllung von Standartwerden (beim NewRecord-Event), Prüfung (BeforePost) und Logging (BeforeDelete) statt, welche auch allesamt einwandfrei funktionieren. Ich bin mit meinem Latein langsam am Ende. So ein Problem hatte ich noch nie und ich hab alle Komponenten auch schon mehrfach wieder gelöscht und noch einmal neu angelegt.

Viele Grüße
Maliko

EDIT: Achso, ich arbeite mit Delphi 7.

TigerLilly 14. Jan 2020 09:03

AW: Dataset wird nicht in DB gespeichert
 
Lass dir in einer Trace doch anzeigen, welche SQL Statements in der Datenbank landen.

Was ich noch prüfen würde: Für die einzelnen Felder gibt es Flags (Update, Key, Where), die steuern, wie die Felder bei einem Insert/Update behandelt werden sollen. Vielleicht hat es da etwas.

Maliko 14. Jan 2020 09:51

AW: Dataset wird nicht in DB gespeichert
 
Hab den Fehler gefunden (bzw. hat mir ein Kollege grad gesagt was falsch ist). Ich hab die falschen Komponenten benutzt. Ich wusste nicht, dass bei uns in der Firma modifizierte Komponenten verwendet werden. Und diese unterscheiden sich im Namen auch nur durch einen Buchstaben. Nachdem ich jetzt die richtigen Komponenten verwendet habe funktioniert das ganze auch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 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