Results 1 to 5 of 5

Thread: Invalid Transaction Handle

  1. #1
    Senior Member
    Join Date
    Jul 2005
    Location
    Te mooi om waar te zijn..........
    Posts
    916

    Invalid Transaction Handle

    Beste,

    dit werkt probleemloos:

    HTML Code:
     with IBQuery1 do
     begin
          SQL.Clear;
          SQL.Add('delete from KLANTAFSPRAKEN_'+inttostr(KLNT_ID)+';');
          ExecSQL;
          SQL.Clear;
          SQL.Add('Commit;');
          ExecSQL;
     end
    maar dit
    HTML Code:
     with FDQuery1 do
     begin
          SQL.Clear;
          SQL.Add('delete from KLANTAFSPRAKEN_'+inttostr(KLNT_ID)+';');
          ExecSQL;
          SQL.Clear;
          SQL.Add('Commit;');
          ExecSQL;
    end
    geeft altijd de volgende foutmelding

    Click image for larger version. 

Name:	TransactionFout.gif 
Views:	145 
Size:	30.0 KB 
ID:	7890

    wat doe ik daar fout?

  2. #2
    Als ik het goed begrijp moet je in firedac als je commit wilt gebruiken ook expliciet een start transaction doen. Zie hier. Het is ook iets korter om
    Code:
    FDConnection1.Commit;
    te doen dan de SQL hiervoor zelf te schrijven.

  3. #3
    Reader
    Join Date
    May 2002
    Location
    Holland
    Posts
    3,382
    Ik zie het verschil tussen het eerste en tweede stukje code niet, maar inderdaad moet je wel een firedac transactie hebben,

  4. #4
    Quote Originally Posted by EricLang View Post
    Ik zie het verschil tussen het eerste en tweede stukje code niet, maar inderdaad moet je wel een firedac transactie hebben,
    De ene wist uitgevoerd door IBQuery1 en de andere door FBQuery1.

    Kan best zijn dat voor FireDac een.autocommit gedaan wordt (maar ik ken FireDac niet). In dat geval kun je geen commit in SQL uitvoeren omdat FireDac direct daarna nogmaals een (auto)commit probeert te doen (zonder actieve transactie).

    Maar het is inderdaad hoogst ongebruikelijk om commit op deze manier via execsql uit te voeren. Ook in IBX.

  5. #5
    Senior Member
    Join Date
    Jul 2005
    Location
    Te mooi om waar te zijn..........
    Posts
    916
    Bedankt voor de tip. Met de FDConnection1.Commit; kom ik waar ik moet zijn

    En die code van de commit, Tja dat is mij hier ooit jaren geleden zo verteld en sindsdien altijd naar tevredenheid zo ook gebruikt

    Maar aldoende blijft men leren en daarvoor mijn dank aan dit forum.

    Gr Frank

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •