Thema: Delphi Lockmode bei Updates

Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#2

Re: Lockmode bei Updates

  Alt 3. Mär 2004, 17:19
Du kannst doch mit den ODAC-Kompos auch anonyme Blöcke absetzen, oder?
Ich habe mir die ODAC noch nicht angeschaut (sollen ja ganz gut sein...), so würde es mit Direct Oracle Access aussehen:

Dadurch schickst du alles in einem Stück an den Server. Transaktions- & Fehlerhandling wird er dann übernehmen.
Bei einem Fehler gibt es ein Rollback, die Fehlermeldung steht dann in ErrorStr.

Delphi-Quellcode:
Var
  ErrorStr : String;
Begin
  With OracleQuery Do
  Begin
    SQL.Text :=
      'Begin' + #10 +
      ' Update DeineTabelle' + #10 +
      ' Set EquipmentID = :i_EquipID' + #10 +
      ' WHERE FileName = :i_FileName;' + #10 +
      '' + #10 +
      ' Commit;' + #10 +
      'Exception' + #10 +
      ' When Others Then' + #10 +
      ' Rollback;' + #10 +
      ' :o_Errors := Sqlerrm;' + #10 +
      'End;';
    If Variables.Count = 0 Then
    Begin
      DeclareVariable('i_EquipID', otInteger);
      DeclareVariable('i_FileName', otString);
      DeclareVariable('o_Errors', otString);
    End;

    SetVariable('i_FileName', PDSFName);
    SetVariable('i_EquipID', EquipmentID);
    Execute;

    ErrorStr := GetVAriable('o_Errors');
  End;
  MessageDlg(ErrorStr, mtError, [mbOK], 0);

End;
  Mit Zitat antworten Zitat