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