Thema: Delphi IB-Transaktionen

Einzelnen Beitrag anzeigen

Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#2

Re: IB-Transaktionen

  Alt 27. Feb 2005, 09:06
Moin,

über die Transaction der Interbase wickelst du alles ab, was von oder zur Interbase geschickt wird. Sie bildet also die Verbindung zwischen einer Kompo (IBStoredProc, IBDataSet usw.) und der Interbase.

Zitat:
Aber was Transaktionen sind und wie man sie benutzt ist mir äusserst suspekt.
Nehmen wir an du hast eine Query zum lesen der Daten und eine StoredProc zum schreiben der Daten, dann brauchst Du also eine IBQuery-Kompo, eine IBStoredProc und eine Transaction. Dann brauchst Du nur bei der Query und der StProc die Database und die dazugehörige Transaction auswählen. Bei der Transaction wählst Du nur noch die Database aus.

Bevor du Daten an die IB schickst must Du also ersteinmal die Transaction öffen und wenn das fertig ist, die Transaction wieder schließen.

Code:
//zum lesen
If Not IBTrans.InTransaction Then
   IBTrans.startTransaction //startet die Transaktion
Try
  With Query1 Do
  Begin
    open; //Wenn es mit Parameter erfolgt, dann schiebe ich das immer in ne extra Procedure
    Edit1.Text:= Field[0].AsString;
    ...
    ...
  end;
except;
  IBTrans.Rollback //verwirft das Ergebnismenge
end;
  IBTrans.Commit; //schließt die Transaction
end;
Zitat:
Braucht man pro Database nur eine oder mehrere??
Rein theoretisch sollte das gehen aber es ist nicht empfehlenswert, da du ja so die Funktionen der Transaction entweder selber steuern oder darauf verzichten mustest. Ich nehme gerne immer eine Transaction zum Lesen und eine andere zum schreiben.
Gruß

Albi
  Mit Zitat antworten Zitat