Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi tsimpledataset.applyupdates beim einfügen vieler Datensätze geht nicht (https://www.delphipraxis.net/159555-tsimpledataset-applyupdates-beim-einfuegen-vieler-datensaetze-geht-nicht.html)

DrUArn 1. Apr 2011 20:01

Datenbank: Interbase • Version: 4 • Zugriff über: dbexpress

tsimpledataset.applyupdates beim einfügen vieler Datensätze geht nicht
 
Hi,

1. editiere ich in einem Grid die Tabelle,
so werden die Daten nicht gespeichert
2.nach Eintragung von simpledataset1.applyupdates(0) in afterpost und afterdelete
werden die geänderten Daten erfolgreich gespeichert
3.

for i:=0 to 100 do
begin
simpledataset1.edit;
simpledataset1.append;
simpledataset1['aName']:='AInhalt';
end;

simpledataset1.applyupdates(0); ergibt 0 Fehler - die Daten werden aber nicht gespeichert!!!

Woran liegt das?

MfG Uwe

Ralf Kaiser 2. Apr 2011 00:15

AW: tsimpledataset.applyupdates beim einfügen vieler Datensätze geht nicht
 
HAst du eventuell eine Transaktion gestartet und dann nicht COMMITed?

DrUArn 2. Apr 2011 17:21

AW: tsimpledataset.applyupdates beim einfügen vieler Datensätze geht nicht
 
Hi Frank,

da ich mich bisher mit der BDE und damit mit Dateien in Verzeichnissen beschäftigt habe, ist für mich der Umgang mit Datenbanken und den Dateien darin erstmal völlig fremd. Hab' auch noch nichts gefunden im Sinne "für den Anfänger zum Einsteigen" - also learning bei doing.

Ich denke, ich habe keinen Thread zu laufen.

Die Konstruktion ist simpel:

eine tsqlconnection - verbunden mit der Datenbank und diese aktiv
ein tsimpeldataset - verbunden mit der der TsqlConnection
ein tDBgrid, verbunden mit tsimpeldataset
ein tButton, der o.g. Schleife auslöst.

Läßt man die Schleife laufen, füllt sich auch die Datei - im Grid zu sehen
keine Fehlermeldung!
Versucht man nun sofort danach direkt im Grid zu editieren, kommt eine Meldung im Sinne
von "mehr als ein Datensatz ist editiert - Aktion nicht mgl."

Nach Beendung des Programms sind die neuen Daten wieder weg!

.
.
.
.
Habe wohl den Fehler gefunden, war eine falsche tsqlconnection zugeordnet! - Sorry!

Aber nun lassen sich die angezeigten Datensätze im tdbGrid nicht mehr editieren - nur wenn man neuen Datensatz einfügt!
Wo fange ich an zu suchen - kann man in einem tsimpeldataset die Abfrage überhaupt editieren?




By the way - sollt man wirklich als Treiber Firebird statt interbase nehmen?

Oder sollte man MyBase nehmen - da erkennt man die Dateien im Verzeichnis zumindestens wieder, die Datentypen sind wie bei Paradox-Tabellen.
In datenbanken scheint man wohl erst zur Laufzeit die Datentypen endgültig definieren zu können (wie Graphic, memeo, formated memo usw.)


Mfg
Uwe Arnold


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