Einzelnen Beitrag anzeigen

Alphacodex

Registriert seit: 16. Mär 2006
65 Beiträge
 
Delphi 2006 Professional
 
#1

Daten werden nicht geschrieben "Transaktion ist Aktiv&q

  Alt 18. Jul 2009, 12:57
Datenbank: Firebird • Version: 2.5 • Zugriff über: Interbase
Hallo,

ich brauch doch nochmal Hilfe.

Ich habe folgendes Problem. Wenn ich in der TDBAdvGrid etwas editiere und dann einen Commitauslösen will, bekomme ich immer die Melden "Transaktion Aktiv". Die Daten werden aber nicht geschrieben. Ich habe den Code zum Auslösen der Transaktion mal zu Testzwecken in einen Button ausgelagert, hier mal ein Ausschnitt aus meiner UMain:


Delphi-Quellcode:
procedure Tf_main.FormShow(Sender: TObject);
begin
   if not FileExists('Datenbanken\ZENTRALDATEI.FDB') then begin
      ShowMessage('Die Zentraldatenbank wurde nicht gefunden');
      HALT
  end;
  dm.db_zentral.Open;
end;

procedure Tf_main.AdvSmoothButton1Click(Sender: TObject);
begin
  if dm.dbtrans.InTransaction then dm.dbtrans.Commit; // falls noch eine TRansaktion offen ist, die Änderungen schreiben und abschließen
  dm.faelle.Open; // neu laden des Datasets, damit die Änderungen sichtbar werden
  dm.dbtrans.StartTransaction; // eine neue Transaktion beginnen
end;


procedure Tf_main.p_faelleShow(Sender: TObject);
begin
  grid_faelle.FixedCols := 0;
  dm.faelle.Open;

end;
faelle ist ein DataSet, grid_faelle ist Das TDBAdvGrid, dbtrans ist die Transaktionskomponente, db_zentral ist die Datenbankverknüpfung. Wie gesagt der Grid nimmt die Änderung zunächst an, wenn ich dann aber den Button drücke kommt der Fehler und die Daten werden nicht geschrieben.


Kann mir jemand einen Tip geben?

Danke Codex
  Mit Zitat antworten Zitat