Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#20

Re: Insert erst beim schließen

  Alt 23. Aug 2009, 12:50
Hallo,

du solltest mal unsere Vorschläge beachten.
In UKunden1 gibt es zwar eine IBTransaction1,
sie wird aber nicht benutzt (StartTransaction/Commit).

D.h. die Daten sind Teil einer Transaktion.
die erst mit dem DB-Close commited werden.
Deshalb kann sie auch IBExpert erst nach Programm-Ende "sehen".


ein Bsp.

dein Code

Delphi-Quellcode:
procedure TFKundenverwaltung.Button3Click(Sender: TObject);
begin
  k:=k2;
  k.KdNr:=NextFreeKdNr;
  SetKunde(k);
  if FKundenbearbeiten.ShowModal=mrOK then
  begin
    DS_Kunden.Insert;
    SetKundeToDS(GetKunde);
    DS_Kunden.Post;
  end;
end;
und nun mit Transaktionsverwaltung
Delphi-Quellcode:
procedure TFKundenverwaltung.Button3Click(Sender: TObject);
begin
  k:=k2;
  k.KdNr:=NextFreeKdNr;
  SetKunde(k);
  if FKundenbearbeiten.ShowModal=mrOK then
  begin
    Kunden.Transaction.StartTransaction; // IBTransaction1.StartTransaction ist hier das gleiche
    DS_Kunden.Insert;
    SetKundeToDS(GetKunde);
    DS_Kunden.Post;
    Kunden.Transaction.Commit;
  end;
end;

Hieko
Heiko
  Mit Zitat antworten Zitat