AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi [Firebild] Änderungen nach Insert gehen verloren
Thema durchsuchen
Ansicht
Themen-Optionen

[Firebild] Änderungen nach Insert gehen verloren

Ein Thema von BlueStarHH · begonnen am 3. Jul 2007 · letzter Beitrag vom 4. Jul 2007
Antwort Antwort
Seite 2 von 2     12   
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: [Firebild] Änderungen nach Insert gehen verloren

  Alt 4. Jul 2007, 13:07
Nut bei der Table-Komponente oder grundsätzlich?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von nachti1505
nachti1505

Registriert seit: 7. Apr 2007
188 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: [Firebild] Änderungen nach Insert gehen verloren

  Alt 4. Jul 2007, 13:47
Zumindest auch bei der FIBPlus DataSet-Komponente von Devrace....
Transaction.Commit Schließt alle an der Transaktion hängenden DataSets....
Transaction.CommitRetaining Lässt die DataSets offen... ist aber imho kein gelungener Programmierstil

Edith gratuliert mkinzler zu über 10.000 Beiträgen.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: [Firebild] Änderungen nach Insert gehen verloren

  Alt 4. Jul 2007, 13:49
Zitat:
Edith gratuliert mkinzler zu über 10.000 Beiträgen.
Danke Edith
Markus Kinzler
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.891 Beiträge
 
Delphi 12 Athens
 
#14

Re: [Firebild] Änderungen nach Insert gehen verloren

  Alt 4. Jul 2007, 14:00
und es ist generell so, dass durch ein COMMIT oder ein Rollback sämtliche Datenmengen, die von der Transaction betroffen sind, geschlossen werden.

Gruß

onlinekater
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
BlueStarHH
Online

Registriert seit: 28. Mär 2005
Ort: Hamburg
849 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: [Firebild] Änderungen nach Insert gehen verloren

  Alt 4. Jul 2007, 14:05
Zitat von onlinekater:
und es ist generell so, dass durch ein COMMIT oder ein Rollback sämtliche Datenmengen, die von der Transaction betroffen sind, geschlossen werden.
OK, wenn das generell so ist, muss es doch auch eine einfache Möglichkeit geben, den Datensatz auszuwählen der vor einem Commit ausgewält war, wenn die Datenmenge wieder geöffnet wird.
  Mit Zitat antworten Zitat
alex517

Registriert seit: 23. Nov 2004
Ort: Bernau b. Berlin
273 Beiträge
 
Delphi XE5 Enterprise
 
#16

Re: [Firebild] Änderungen nach Insert gehen verloren

  Alt 4. Jul 2007, 15:00
Hi,

Eine Transaktion ist in erster Linie eine "Sicht" auf die Daten.
Ein Select-Statements ist genauso an eine Transaktion gebunden wie ein
Insert/Update/Delete.
Die Datenmenge eines Select-Statements ist damit nur solange existent wie die Transaktion besteht.
Habe ich innerhalb ein und der selben Transaktion eine offene Datenmenge in Form eines TIBDataSet/TIBTable und
setzte ein Insert/Update/Delete-Stetment ab, welches durch ein Commit bestätigt wird, so ist die Transaktion beendet.
Damit ist auch Datenmenge im TIBDataSet/TIBTable nicht mehr gültig und TIBDataSet/TIBTable werden geschlossen.
Das gilt für alle Komponenten.


Zitat von BlueStarHH:
OK, wenn das generell so ist, muss es doch auch eine einfache Möglichkeit geben, den Datensatz auszuwählen der vor einem Commit ausgewält war, wenn die Datenmenge wieder geöffnet wird.
Du mußt dir nur die ID des Satzes merken und nach dem erneuten Öffnen mit Locate zu diesem Satz gehen.
Für einen neuen Datensatz benötigts du die ID natürlich noch vor dem Insert.
Wie das geht, siehe hier, Punkt 3.


Zitat von nachti1505:
Zumindest auch bei der FIBPlus DataSet-Komponente von Devrace....
Transaction.Commit Schließt alle an der Transaktion hängenden DataSets....
Transaction.CommitRetaining Lässt die DataSets offen... ist aber imho kein gelungener Programmierstil
FIBPlus-DataSets verwenden für das Lesen und Schreiben zwei verschiedene Transaktionen.
Die Schreib-Transaktion ist nur für den Moment des Scheibens aktiv und wird sofort mit einem HardCommit bestätigt.
CommitRetaining wird NICHT verwendet.
Das DataSet ist weiter offen da es unter der Lese-Tranaktion läuft.


alex
Alexander
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 08:36 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